笔试题中有关树的问题汇总
来源:互联网 发布:淘宝有哪些正品鞋店 编辑:程序博客网 时间:2024/05/22 13:25
树的基本概念
树(Tree)是一种简单的非线性结构。所有数据元素之间有明显的层次特性。
常用名词
根节点:没有父节点的节点。
叶子节点:没有子节点的节点。
节点的度:一个节点所拥有的后件个数称为该节点的读。
树的度:所有节点中最大的度。
树的深度:树的最大层次。
二叉树
概念
二叉树是一种每一个节点最多有两颗子树的树。
特性
1.在二叉树的第k层,最多有2^(k-1)个节点。
估计这一特性,能够计算二叉树的某一层,最多有多少个节点
2.深度为m的二叉树最多有2^m-1个节点
假设,每一层都达到最大值,然后根据如下等比数列求和公式求得。
3.在任意的二叉树中,度为0的节点(叶子节点)总比度为2的节点多一个。
例题:在二叉树中共有37个节点,度为1的节点是度为2的节点2倍,求叶子节点个数?
解析:
--------度数-----------个数-----------
---------0---------------x+1-----------
---------1---------------2x----------
---------2-----------------x--------
====>x=9;
====>度为0的节点数为10
4.具有n个节点的二叉树,其深度至少为[longn/long2]+1,其中[longn/long2]取其整数部分。
满二叉树
除了叶子节点,每个节点都有两个子节点。即k层上有2^(k-1)个节点,若深度为m,则节点数为2^m-1
完全二叉树
完全二叉树:除了最后一层外,每一层上的节点数,均达到了最大值;在最后一层上只缺少右边若干个节点。
二叉树的遍历
前序遍历
遍历顺序是根---->左----->右
遍历结果:ABDECF
中序遍历
遍历顺序是左---->根----->右
遍历结果:DBEAFC
后序遍历
遍历顺序是左---->右---->根
遍历结果:DEBFCA
哈夫曼树
哈夫曼树是只有叶子和度为2的结点的二叉树
例题:
1.哈夫曼树中共有99个结点,则该树中有___个叶子结点;若采用二叉链表作为存储结构,则该树中有___个空指针域
解析:Huffman 树只有叶子和度为2的结点,因为n0 = n2 + 1,所以n0 + n0-1= 99,所以n0 = 50,也就是说是50个叶子,用二叉链表存储时每个叶子有2个空指针域,自然二叉链表确实是有100个空指针域
二叉链表
二叉树通常采用链式存储结构。每个存储节点,有两个指针域,故二叉树的链式存储结构又被称为二叉链表。将二叉树按照相应的遍历方式遍历后,采用二叉链表进行存储。
常见考点
1. 求二叉树中的节点个数
2. 求二叉树的深度
3. 前序遍历,中序遍历,后序遍历
4.分层遍历二叉树(按层次从上往下,从左往右)
5. 将二叉查找树变为有序的双向链表
6. 求二叉树第K层的节点个数
7. 求二叉树中叶子节点的个数
8. 判断两棵二叉树是否结构相同
9. 判断二叉树是不是平衡二叉树
10. 求二叉树的镜像
11. 求二叉树中两个节点的最低公共祖先节点
12. 求二叉树中节点的最大距离
13. 由前序遍历序列和中序遍历序列重建二叉树
14.判断二叉树是不是完全二叉树
2. 求二叉树的深度
3. 前序遍历,中序遍历,后序遍历
4.分层遍历二叉树(按层次从上往下,从左往右)
5. 将二叉查找树变为有序的双向链表
6. 求二叉树第K层的节点个数
7. 求二叉树中叶子节点的个数
8. 判断两棵二叉树是否结构相同
9. 判断二叉树是不是平衡二叉树
10. 求二叉树的镜像
11. 求二叉树中两个节点的最低公共祖先节点
12. 求二叉树中节点的最大距离
13. 由前序遍历序列和中序遍历序列重建二叉树
14.判断二叉树是不是完全二叉树
--------------2016-9-10-------------
下列关键字序列为堆的是()?
- 100,60,70,50,32,65
- 60,70,65,50,32,100
- 65,100,70,32,50,60
- 70,65,100,32,50,60
- 32,50,100,70,65,60
- 50,100,70,65,60,32
解析:我们所说的堆一般指二叉堆。二叉堆是完全二叉树或者是近似完全二叉树。
二叉堆满足二个特性:
1.父结点的键值总是大于或等于(小于或等于)任何一个子节点的键值。
2.每个结点的左子树和右子树都是一个二叉堆(都是最大堆或最小堆)。
它的左右子结点下标分别为2 * i + 1和2 * i + 2
故答案:A
--------------后续会继续添加-------------
1 0
- 笔试题中有关树的问题汇总
- 笔试题中IP地址问题汇总
- 有关一些企业笔试题的变量定义问题
- 有关字符串的笔试题
- 数据结构中二叉树的有关操作汇总
- 有关树的常见算法汇总【持续更新中】
- 【笔试题】有关大小端问题
- 有关收录的小问题汇总
- 有关Firefox/Chrome的问题汇总
- 关于键盘的有关问题汇总
- 笔试题及现实生活问题汇总
- 笔试面试问题汇总
- 常见有关内存的笔试题
- 一道有关数据类型的笔试题
- 关于Python笔试中提交代码多组测试的输入问题汇总
- 中软国际笔试题汇总
- 网络有关笔试题
- C语言中有关大小端的介绍(百度笔试题)
- Centos初学者需要会的几种命令(2)
- 每天10个面试题(day04)
- ArcEngine 拓扑检查 总结(持续补充中……)
- 14,结构体
- 浅谈数据库索引
- 笔试题中有关树的问题汇总
- uboot初步学习
- linux 动态库
- [347] Top K Frequent Elements
- Qt学习之三:创建主窗口
- Android的Activity跳转探索之Android6.0动态权限管理
- Activity使用另一个Activity中的方法与变量
- selenium之 坑(StaleElementReferenceException: Message: Element not found in the cache...)
- 笔画-华为OJ