算法设计
mgsweet
Keep it simple and stupid.
展开
-
求已知前序、后序可得不同二叉树的棵数
题目:给出一颗二叉树的前序和后序遍历,求符合遍历的不同形态的二叉树的数目已知一棵二叉树的前序和后序遍历,不一定能重建唯一的二叉树呢?原因在于,当一个根只有一颗子树时,通过前序遍历和后序遍历,无法确定该子树是这个根的左子树还是右子树。通过徒手画树求abdegcf,dgebfca 的棵数可知,产生不同树的原因主要是存在单子树,而单子树的个数通过判定前序除了第一个根节点a外其他字母的前一个字母和后序除了最原创 2016-11-10 07:38:34 · 2903 阅读 · 0 评论 -
最小生成树的问题之prim算法与kruskal算法
一、题目 1090. HighwaysConstraintsTime Limit: 1 secs, Memory Limit: 32 MBDescriptionThe island nation of Flatopia is perfectly flat. Unfortunately, Flatopia has no public highways. So the traffic is diffic原创 2016-12-17 12:26:34 · 808 阅读 · 0 评论 -
最短路径之Dijkstra算法与Floyd 算法
Dijkstra算法 Dijkstra(迪杰斯特拉)算法是典型的单源最短路径算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。 思想 以起始点为中心向外层层扩展,直到扩展到终点为止。 算法步骤 a.初始时,S只包含源点,即S={v},v的距离为0。U包含除v外的其他顶点,即:U={其余顶点},若v与U中顶点u有边,则 代码原创 2017-01-08 11:14:18 · 389 阅读 · 0 评论