数据库系统工程师备考笔记系列(数据结构篇#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.若查找树的右子树非空,则其右子树上的各节点值均大于根结点的值
 
 
上图就是一个二叉排序树。
对这棵树进行中序遍历: 2,3,4,5,6,7,8得到的就是排序结果
 

你可能感兴趣的:(职场,笔记,休闲,备考,数工)