我是靠谱客的博主 愤怒便当,最近开发中收集的这篇文章主要介绍30分钟看完数据结构和算法原理(包括二叉树,图,各种排序算法)1.树与二叉树2.二叉树的性质4.普通树转成二叉树5.查找二叉树(又称排序二叉树)6.最优二叉树(哈夫曼树)7.线索二叉树8.平衡二叉树9.图10.图的最小生成树11.1排序(4)堆排序(5)冒泡排序(6)快速排序(7)归并排序(8)基数排序总结:,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1.树与二叉树

结点的度:一个结点的有几个孩子(孙子不算)

树的度:所有结点中,其中一个结点最大的度

叶子结点:没有孩子的结点

分支结点:左右分支的结点

内部结点:夹在中间的结点,既不是叶子和根结点

父结点:作为父亲的结点

子结点:作为孩子的结点

兄弟结点:同一个父亲的结点

层次:树的层次

 

2.二叉树的性质

2.1 分类

满二叉树:结点都是满的的二叉树

完全二叉树:结点按顺序分布的,但是没有满的二叉树

非完全二叉树:结点没有按顺序分布的二叉树

 

3.二叉树的遍历

前序遍历:根节点最先访问,即根-左-右

中序遍历:根结点中间访问,即左-根-右

后序遍历:根结点最后访问,即左-右-根

层次遍历:一层一层访问

图上结果:

前:1 ,2 ,4 ,5,7 ,8 ,3, 6

中:4 ,2 ,7 ,8, 5,1 , 3, 6

后:4 ,8, 7, 5 ,2, 6 ,3 ,1

层次:1, 2, 3 ,4 ,5 ,6 ,7 ,8

3.2二叉树的反向构造

反向构造:就是知道其中两种遍历,来构建二叉树(必须有中序遍历,否则不能推出)

下图:先看前序遍历的A为根结点,所以中序遍历中,A的左边为左子树,右边为右子树,依次推下面的

 

结果:

4.普通树转成二叉树

树转二叉树的两个个原则:

1.普通树的孩子结点变成新二叉树的左子树结点

2.普通树的兄弟结点变成新二叉树的右子树结点

看起来很抽象,下面用例子分析

如下图:

普通树的根结点是1,孩子结点有2, 3 , 4

那么(根据原则1)先把2拿出来,作为新二叉树左子树结点,而在普通树中3作为2的兄弟,所以在新二叉树中3(根据原则2)只能做2的右子树,

接下来3有5, 6 ,7三个孩子结点,同理,5作为新二叉树的左子树,而在普通树中6作为5的兄弟,所以在新二叉树中6(根据原则2)只能做5的右子树,依次类推,得出新的二叉树的结构

 

5.查找二叉树(又称排序二叉树

最后

以上就是愤怒便当为你收集整理的30分钟看完数据结构和算法原理(包括二叉树,图,各种排序算法)1.树与二叉树2.二叉树的性质4.普通树转成二叉树5.查找二叉树(又称排序二叉树)6.最优二叉树(哈夫曼树)7.线索二叉树8.平衡二叉树9.图10.图的最小生成树11.1排序(4)堆排序(5)冒泡排序(6)快速排序(7)归并排序(8)基数排序总结:的全部内容,希望文章能够帮你解决30分钟看完数据结构和算法原理(包括二叉树,图,各种排序算法)1.树与二叉树2.二叉树的性质4.普通树转成二叉树5.查找二叉树(又称排序二叉树)6.最优二叉树(哈夫曼树)7.线索二叉树8.平衡二叉树9.图10.图的最小生成树11.1排序(4)堆排序(5)冒泡排序(6)快速排序(7)归并排序(8)基数排序总结:所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(66)

评论列表共有 0 条评论

立即
投稿
返回
顶部