嵌入式学习day21

day20练习:

链式队列:

链式栈:

二叉树

1.概念:

        1.线性结构:描述数据一对一的关系(表)

        2.非线性结构:描述数据一对多(树)、多对多(图)的关系

2.树形结构:

        1.节点:组成树形结构的一个小的单元称为节点

                根节点:只有后继,没有前驱

                分支节点:既有前驱,又有后继

                叶子节点:只有前驱,没有后继

        2.前驱(祖先):由哪个节点可以访问到该节点

        3.后继(子孙):该节点可以后续访问到哪些节点

        4.层:根节点层数为1,后续每引申出的一个节点就在该节点层数上+1

        5.树的层数:树的层数由层数最高的节点对应的层数表示树的层数

        6.高度:节点高度是由该节点到最远的叶子节点的距离表示该节点的高度

        7.深度:节点深度是由该节点到根节点的距3,离表示节点深度

        8.树的高度 == 树的深度 == 树的层数

        9.度:后继节点的个数

3.二叉树:

        1.树形结构中的所有节点度数最大为2,称为二叉树

        2.二叉树节点类型:

                叶子节点(度数为0)

                只有左孩子

                只有右孩子

                左右孩子都有

        3.满二叉树和完全二叉树

                1.满二叉树:

                        所有的叶子结点均在同一层,且每层节点个数均为最大值

                        特性:

                                满二叉树第k层节点有2^(k-1)

                                满二叉树前k层节点有(2^k)-1

                2.完全二叉树:

                        二叉树的编号(如果节点编号为n,左孩子编号为2n,右孩子编号为2n+1)展开后

                        是连续的,称为完全二叉树

                3.完全二叉树的遍历形式:;

                        深度优先遍历(DFS)

                                前序遍历(先序遍历):根左右

                                中序遍历:左根右

                                后序遍历:左右根

                        广度优先遍历(BFS)

                                层序遍历:逐层从左到右依次遍历

                4.完全二叉树的操作

                        1.节点定义

                        2.创建完全二叉树

                                通过函数递归完成完全二叉树的创建

                                申请节点空间

                                存放数据编号

                                如果存在左子树递归创建左子树

                                如果存在右子树递归创建右子树

                                                  

                        3.前序遍历

                        4.中序遍历

                        5.后序遍历

                        6.销毁

层序遍历

创建非完全二叉树

        非完全二叉树,每个结构都不一定相同

获得树的高度、深度、层数

二叉树的深度优先遍历(非递归实现):

        前序遍历

        中序遍历

        后序遍历

                                

                                

                

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值