30分钟看完数据结构和算法原理(包括二叉树,图,各种排序算法)

这篇博客详细介绍了数据结构中的树和图概念,包括二叉树的性质、遍历方法以及图的存储和遍历方式。此外,还探讨了多种排序算法,如直接插入排序、希尔排序、堆排序等,以及如何构建最小生成树。通过实例分析,帮助读者深入理解这些算法和数据结构。
摘要由CSDN通过智能技术生成

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.查找二叉树(又称排序二叉树

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值