数据库系统工程师备考笔记系列(数据结构篇#1)

数据结构篇
---------
1.线性表
顺序表与链表部分比较简单。也没多少概念,循环队列的地方注意一下,一般画个图分析一下即可。
 
2.树
树的部分概念比较多。一般对于基本概念掌握好就Ok。对于某些技巧性的结论,记不准也没关系。
例题:某完全二叉树总共又767个结点,问叶子结点又几个? 



分析:完全二叉树除了最底下叶子结点那层,上面都是满二叉树,满二叉树每一层是个等比序列,第一层为1,公比为2. 

1,2,4,... 

等比数列的和是2**k-1所以求K,对K向下去整得到9,也就是说上9层是满二叉树。 

2**9-1=511,511+256=767,所以还缺256个结点才能组合成为题中所描述的那颗二叉树,对于满二叉树来说,底层叶子上的结点是从左往右排列的,所以第十层上有256个叶子结点,是第九层上的左边128个结点生出来的,而第九层剩下128个结点没有生孩子结点,所以也是叶子结点,所以总共的叶子结点就是256+128=384 

 
x    查找二叉树(二叉排序树)
定义(递归条件):
1.查找树的左右子树各是一颗二叉排序树
2.若查找树的坐子树非空,则其左子树上的各结点值均小于根结点的值
3.若查找树的右子树非空,则其右子树上的各节点值均大于根结点的值
 
数据库系统工程师备考笔记系列(数据结构篇#1)
 
上图就是一个二叉排序树。
对这棵树进行中序遍历: 2,3,4,5,6,7,8得到的就是排序结果




本文转自 fsjoy1983 51CTO博客,原文链接:http://blog.51cto.com/fsjoy/136872,如需转载请自行联系原作者
上一篇:.NET支付宝接口


下一篇:RHCE 学习笔记(5)- 本地用户和组的管理