数据结构--树(Tree)的学习线路

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zxm317122667/article/details/85003388

不管是在面试时,还是日常开发过程中。“树” 都是一种曝光率极高的一种数据结构。因此掌握 “树” 这项技能包对于开发工程师来说是必选项。

但是有关的知识点实在是很多,那么作为一个基本及格的工程师应该掌握哪些树,又该掌握到什么程度呢?

我个人认为,对于 “树” 这种数据结构,只要掌握(最好是能信手拈来)以下几项就基本能够达到大部分的面试要求.

1. 什么是树
知道树的定义,以及跟树相关的各个术语,比如根节点、叶子结点、树的高度等等。

2. 二叉树(核心、重点)
2.1 什么是二叉树,二叉树表示有哪2种
2.2 什么是完全二叉树
2.3 二叉树的遍历方式

3. 二叉搜索树(重点)
3.1 什么是二叉搜索树
3.2 二叉搜索树的实现代码
3.3 二叉搜索树和哈希表的优势对比

4. 平衡树(难点)
4.1 什么是平衡树,为什么要设计平衡树
4.2 红黑树的实现(不一定能够手写红黑树,但是要熟知原理)
4.3 用左平衡二叉树帮助实现优先队列

5. 知道了解:
最好是了解一下霍夫曼树、AVL树、决策树等这些书的实现与特点。现在人工智能这么火爆,我们也有必要了解一下决策树是如何在AI数据处理中扮演着重要的角色

6. LeetCode关于树的题目
如果时间和精力允许,最好是定期性的在LeetCode上刷各种和相关的题(后续会专门写一篇文章,总结罗列一些LeetCode上关于Tree的题目)

猜你喜欢

转载自blog.csdn.net/zxm317122667/article/details/85003388