
面试专题——树/图
huangxy10
这个作者很懒,什么都没留下…
展开
-
二叉树的三种遍历的相互转化——已知先序中序求后序
题目:已知二叉树的先序和中序遍历字符串,编程实现输出后序遍历字符串,如果没有成功输出Failed,最后分析时间和空间复杂度。题目来源:经典题目,也是网易游戏2011年游戏开发工程师的一道笔试题。分析:二叉树的题目基本上都是要用递归的,这题也一样。而递归的核心是找到结构相同的子问题。二叉树如下所示: a原创 2012-09-23 21:13:09 · 10745 阅读 · 1 评论 -
最短路径算法—Bellman-Ford(贝尔曼-福特)算法分析与实现(C/C++)
地址:http://www.wutianqi.com/?p=19121.Dijkstra算法:http://www.wutianqi.com/?p=18902.Floyd算法:http://www.wutianqi.com/?p=1903Dijkstra算法是处理单源最短路径的有效算法,但它局限于边的权值非负的情况,若图中出现权值为负的边,Dij转载 2012-10-07 20:19:31 · 2507 阅读 · 0 评论 -
最小生成树
设G = (V,E)是无向连通带权图,即一个网络。E中的每一条边(v,w)的权为c[v][w]。如果G的子图G’是一棵包含G的所有顶点的树,则称G’为G的生成树。生成树上各边权的总和称为生成树的耗费。在G的所有生成树中,耗费最小的生成树称为G的最小生成树。构造最小生成树的两种方法:Prim算法和Kruskal算法。 一、最小生成树的性质 设G = (V,E)是连通带权图,U是V转载 2012-10-07 20:55:55 · 2582 阅读 · 1 评论 -
创新工场面试题
1,如何删除一个搜索二叉树的结点解:情况一:根节点1>无孩子:则放回空2>有一个孩子,则放回其孩子3>有两个孩子,则返回其左孩子,将右孩子作为左子树的最右边的结点的右孩子;或者返回右子树,将左子树作为右子树的最左结点的左孩子。情况二:非根结点1>无孩子:直接删去2>一个孩子:则将孩子代替自己接入父节点。3>两个孩子:方法一:如果本身是左孩子,则将左子树接原创 2012-10-17 18:03:25 · 2686 阅读 · 0 评论