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

本文深入讲解了数据结构中的线性表与树的概念,包括顺序表、链表、循环队列及二叉排序树等内容,并通过实例解析了完全二叉树叶子结点数量的计算方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据结构篇
---------
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得到的就是排序结果




本文转自 fsjoy1983 51CTO博客,原文链接:http://blog.51cto.com/fsjoy/136872,如需转载请自行联系原作者
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值