数据结构之四

来源:互联网 发布:歙县电视台网络直播 编辑:程序博客网 时间:2024/05/16 12:59

                            每日一结

二叉树:

斜树的概念:所有的结点都只有左子树的二叉树叫左斜树。所有的结点都是只有右子树的二叉树叫右斜树。这两者统称为斜树。

满二叉树的概念:在一棵二叉树中,如果所有的分支结点都存在左子树和右子树,并且所有叶子都在同一层上, 这样的二叉树称为满二叉树。

完全二叉树:对一棵具有n个结点的二叉树按层序编号,如果编号为i(1<=i<=n)的结点与同样深度的满二叉树中编号i的结点在二叉树中位置完全相同,则这棵二叉树称为完全二叉树。满二叉树一定是完全二叉树,但完全二叉树不一定是满二叉树。

 


注:n0是度数为0的结点,n1是度数为1的结点,n2是度数为2的结点


 


完全二叉树的递归创建:


 


二叉树的遍历:


注:

I.对于先序,中序,后序的理解,我们可以只记先序,它是根 -> 左 -> 右,然后中序是把根往后移,就变成了,左 -> 根 -> 右,后序的记忆就是,在中序的基础上,把根再往右移,这样就得到了后序的排法

II.关于先序,中序,后序的各字符具体的序列怎么排,我们可以这样记忆: 对于先序,例如,我们以左边那个为例,先是A  B E,然后再根据先序的排法,根 -> 左 -> 右,由于C是B的右孩子,所以把C放在B的右边,就变成了 A B C E然后再寻D,由于D在C的左孩子,所以就把D放在C的右边,所以就变成了 A B C D E,同理可得其它。

Head.h:

 

Linkqueue:


注:

在调用函数中写主函数的原因是:测试功能函数是否写得正确,记得用这种方法一步一步写程序,每写一步测试一步,不要全部写完再测试,养成这种习惯以后,这样就可以避免很多不必要的麻烦。

 

bitree:





 

Makefile:

 

 

0 0
原创粉丝点击