[BinaryTree] 二叉树常考知识点
1.二叉树第i层至多有2^(i-1)个结点(i>=1)。
2.深度为k的二叉树上,至多含2^k-1个结点(k>=1)
3.n0 = n2 + 1(度)
4.满二叉树:深度为k且含有2^k-1个结点的树。
5.完全二叉树:除最后一层外,每一层上的节点数均达到最大值;在最后一层上只缺少右边的若干结点。
(树中所含n个结点和满二叉树中编号为1至n的结点一一对应)。
6.具有n个结点的完全二叉树的深度为[log2n] + 1。
7.二叉树的链式存储表示:二叉链表、三叉链表(增加双亲指针域)、双亲链表、 线索链表。
8.二叉树的遍历:前、中、后。
9二叉树的遍历算法:递归、非递归(栈:现在经过不访问,一会访问的结点入栈,栈空结束遍历)。
10.二叉树递归遍历引申的算法:求树的深度、结点个数、复制二叉树等。
11.二叉树相关算法一定要考虑空树的情况。
13.表达式和二叉树的关系: [第一操作数][二元运算符][第二操作数] = [左节点][双亲结点][右结点],(先中后)缀对应(前中后)遍历。
14.线索二叉树:二叉链表中增加两个标志域,让左右两个指针增加功能:有子结点则指向子结点,没有则指向前驱和后继(某种遍历方式)。
15.树和二叉树的相互转换,树的叶子结点:左子树空。树、森林与二叉树的转换
16.遍历二叉树的所有叶子节点。
17.树的存储结构
18.哈夫曼树
19.平衡二叉树:它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。
[BinaryTree] 二叉树常考知识点的更多相关文章
- 找工作笔试面试那些事儿(13)---操作系统常考知识点总结 ZZ 【操作系统】
http://blog.csdn.net/han_xiaoyang/article/details/11285485 上一节对数据库的知识做了一个小总结,实际找工作过程中,因为公司或单位侧重点不一样, ...
- 前端面试常考知识点---CSS
前端面试常考知识点---js 1.CSS3的新特性有哪些 点我查看 CSS3选择器 . CSS3边框与圆角 CSS3圆角border-radius:属性值由两个参数值构成: value1 / valu ...
- Leetcode——二叉树常考算法整理
二叉树常考算法整理 希望通过写下来自己学习历程的方式帮助自己加深对知识的理解,也帮助其他人更好地学习,少走弯路.也欢迎大家来给我的Github的Leetcode算法项目点star呀~~ 二叉树常考算法 ...
- STL标准库面试常考知识点
C++ STL 之所以得到广泛的赞誉,也被很多人使用,不只是提供了像vector, string, list等方便的容器,更重要的是STL封装了许多复杂的数据结构算法和大量常用数据结构操作.vecto ...
- 关于Java多线程的一些常考知识点
前言 Java多线程也是面试中经常会提起到的一个点.面试官会问:实现多线程的两种方式以及区别,死锁发生的4个条件以及如何避免发生死锁,死锁和活锁的区别,常见的线程池以及区别,怎么理解有界队列与无界队列 ...
- http面试笔试常考知识点(二)
接上一篇随笔 1. https协议为什么比http安全? 内容加密:建立一个信息安全通道,确保信息传输安全: 身份认证:确保网站的真实性: 数据完整性校验:防止内容被第三方冒充或者篡改 2.常见状态码 ...
- Java面试常考知识点
1. 什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”? Java虚拟机是一个可以执行Java字节码的虚拟机进程.Java源文件被编译成能被Java虚拟机执行的字节码文件. Jav ...
- C语言笔试常考知识点
1. const 关键字 a) const int a; b) int const a; c) const int *a; d) int * const a; e) int const * ...
- 找工作---操作系统常考知识点总结【PB】
1.进程是并发过程中程序的执行过程 2.进程的特征:结构特征.动态性.并发性.独立性.异步性 3.临界区指在每个进程中访问临界资源的那段代码 4,现在操作系统中申请资源的基本单位是进程,在CPU得到执 ...
随机推荐
- 欧几里得算法/欧几里得扩展算法-python
说在开头. 出于对欧几里得的尊重,先简单介(cou)绍(ge)一(zi)下(shu).. 欧几里得,古希腊人,数学家.他活跃于托勒密一世时期的亚历山大里亚,被称为“几何之父”. 他最著名的著作< ...
- 20155216 2016-2017-2 《Java程序设计》第一周学习总结
教材学习中的问题和解决过程 根据自己的理解,每章提出一个问题 第一章:课本中介绍的JDK安装时在windows系统下的安装,而我们学习的是在Linux系统下的安装,运用Linux系统学习编程(尤其是J ...
- 20155222 2016-2017-2 《Java程序设计》实验一
实现Fibonacci数列功能,并进行测试. 源代码: import java.util.Scanner; public class fibonacci { public static void ma ...
- 20155229 2016-2007-2 《Java程序设计》第一周学习总结
20155229 2016-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 1~18章的提问: 第一章:怎样撰写Java才不会沦于死背API文件.使用"复制. ...
- 20155339 《信息安全技术》实验二、Windows口令破解实验报告
20155339 <信息安全技术>实验二.Windows口令破解实验报告 实验目的 了解Windows口令破解原理 对信息安全有直观感性认识 能够运用工具实现口令破解 系统环境 Windo ...
- GridView中加入//实现分页
要在GridView中加入//实现分页 AllowPaging="true" PageSize="10" // 分页时触发的事件 protectedvoid g ...
- DataGrid中的DataGridCheckBoxColumn用法 ..
<my:DataGridCheckBoxColumn Header=" /> private void btnDeleteNote_Click(object sender, Ro ...
- 从原理到代码:大牛教你如何用 TensorFlow 亲手搭建一套图像识别模块 | AI 研习社
从原理到代码:大牛教你如何用 TensorFlow 亲手搭建一套图像识别模块 | AI 研习社 PPT链接: https://pan.baidu.com/s/1i5Jrr1N 视频链接: https: ...
- OpenStack入门篇(四)之KVM虚拟机介绍和管理
1.查看虚拟机,启动虚拟机 [root@linux-node1 ~]# virsh list --all Id Name State --------------------------------- ...
- 创龙OMAPL138的NMI中断
1. 不可屏蔽中断部分代码,注册中断函数,6748有几个NMI的引脚? void InterruptInit(void) { // 初始化 DSP 中断控制器 IntDSPINTCInit(); // ...