数据结构
xiaoxiaoluo
这个作者很懒,什么都没留下…
展开
-
poj 2255 二叉树 已知先序和中序,求后序
题目大意:已知二叉树的先序和中序排列,要你求它的后序 解题思路:水题,根据二叉树的性质,递归求解, DBACEGF ABCDEFG D为二叉树的根节点, BAC, ABC为以D为根结点的左子树的先序和中序排列,EGF,EFG为以D为根结点的右子树的先序和中序排列。然后递归求解 #include #include #include using namespace std;原创 2012-08-09 16:46:35 · 1546 阅读 · 0 评论 -
二叉树的非递归 前序,中序,后序遍历
#include #include using namespace std; struct node { int num; node *leftChild, *rightChild; node() { num = -1; leftChild = rightChild = NULL; } }; void preOrder(node *root); void preOrder原创 2012-09-21 02:38:58 · 981 阅读 · 0 评论 -
poj 1635 Subway tree systems 判断是否是同构树
题目大意:给两个字符串序列,序列中的字符为0或1,表示从一个中心点出发,0表示远离中心点,1表示接近中心点,求这两个序列表示的图是否是相同的 解题思路:就是求形成的树是否是相同的。通过字符串序列建立两颗树,把树的节点按照深度和儿子节点数排好序后,再来判断每个节点的深度和儿子节点数是否相等,相等则说明是同构树,否则是异构树。 #include #include #include #incl原创 2012-11-10 16:45:13 · 6931 阅读 · 0 评论 -
图的割点、桥与双连通分支
转自:http://www.byvoid.com/blog/biconnect/ [点连通度与边连通度] 在一个无向连通图中,如果有一个顶点集合,删除这个顶点集合,以及这个集合中所有顶点相关联的边以后,原图变成多个连通块,就称这个点集为割点集合。一个图的点连通度的定义为,最小割点集合中的顶点数。 类似的,如果有一个边集合,删除这个边集合以后,原图变成多个连通块,就称这个点集转载 2012-11-14 20:50:12 · 6053 阅读 · 0 评论 -
poj 1330 Nearest Common Ancestors
求两个节点的近公共祖先 两种求法见: http://dongxicheng.org/structure/lca-rmq/ tarjan求法: #include #include #include #include using namespace std; struct node { int v, next; }; const int maxn =原创 2012-11-15 00:26:36 · 5778 阅读 · 0 评论 -
poj 1400 Complicated Expressions去除多余的括号
后缀表达式转中缀表原创 2014-07-19 00:12:06 · 1828 阅读 · 2 评论