树
叫我莫言鸭
这个作者很懒,什么都没留下…
展开
-
平衡二叉树操作
void search(node *root,int x)//查询操作 { if(root==NULL) { prinf("空树"); return; } if(x==root->data)//找到并访问 printf("%d/n",root->data); else if(x<root->data)//小于根节点,左子树搜索 search(roo...原创 2019-04-08 12:24:02 · 187 阅读 · 0 评论 -
平衡二叉树之路径压缩
思路:将当前查询结点的路径上的所有结点的父亲都指向根结点 步骤 ①按原先写法获得x的根结点r ②重新从x开始走一遍寻找根结点的过程,把路径上经过的所有结点的父亲全部改为根结点r 代码 int findFather(intx) { int a=x; while(x!=father[x]) { x=fater[x]; } //x此时存放的是根结点,下面把路径上的所有结点的father都...转载 2019-04-08 13:16:00 · 383 阅读 · 0 评论 -
BFS(宽度优先搜索)学习小结
宽度优先搜索 要学习宽度优先搜索,首先学习宽度优先遍历,从树的角度来说,就是一层一层的遍历,下面由实例说明 这个图,用宽度优先遍历的结果就是1->2->3->4->5->6->7->8->9->10,如果用队列存储的话,就是12345678910,而宽度优先搜索,也就是一层一层往下搜索,至于求最短路径,也就是,因为,他是按层数遍历,所以相同层数...原创 2019-04-15 22:03:57 · 471 阅读 · 0 评论 -
深度优先搜索(DFS)介绍与总结
深度优先搜索(如果想学习BFS的话,我的博客中也有,欢迎学习和交流) 也就是DFS,要学习深度优先搜索,首先我们要知道,什么是深度优先遍历,从名字就可以看出,他是按深度遍历,也就是,直接到底,再回来再到底,重复;用图来说 1->2->4->8->9->5->10->3->6->7,这就是所说的,一路到底再走下一路到底,重复进行。 先从根走,标记...原创 2019-04-15 23:05:36 · 1229 阅读 · 1 评论 -
堆排序
从最后一个开始,和子比较,比子弱则交换,即,强者优先原则原创 2019-08-06 08:12:54 · 84 阅读 · 0 评论