分享人:韩亚博
1.背景介绍
2.知识剖析
3.常见问题
4.编码实战
5.扩展思考
6.参考文献
7.更多讨论
我曾经推荐一个学生到某知名公司,没多久,学生给我说了应聘的事情:“我介绍我开发了企业管理系统、在线商城系统等等,没想到他问我使用了什么数据结构和算法,我懂很多技术,那么多功能我都实现了,他不问,却问我使用了什么数据结构和算法,你说搞笑不?数据结构、算法我早就忘了,我会开发软件还不行吗?”人力资源总监也反馈过来意见:“很搞笑,这个学生做了不少系统,却说根本没用到数据结构和算法。”
遇到一个实际问题,需要解决两个事情:
(1) 如何将数据存储在计算机中;
(2) 用什么方法策略解决问题。
前者是数据结构,后者是算法。只有数据结构没有算法,相当于只把数据存储到计算机中而没有有效的方法去处理,就像一幢只有框架的烂尾楼;若只有算法,没有数据结构,就像沙漠里的海市蜃楼,只不过是空中楼阁罢了。
数据是一切能输入到计算机的信息总和,结构是指数据之间的关系,数据结构就是将数据及其之间的关系有效地存储在计算机中。算法是指对特定问题求解步骤的一种描述,说白了就是解决问题的方法策略。
2.1 二叉排序树是什么?
2.2 二叉排序树的特点
二叉排序树(Binary Sort Tree),又称二叉查找树(Binary Search Tree),亦称二叉搜索树。
二叉排序树也是一棵二叉树,所谓二叉树,就是“任何节点最多只允许两个子节点”,这两个子节点称为左右子节点。如下便是一个二叉树。
(1)若左子树不空,则左子树上所有结点的值均小于或等于它的根结点的值;
(2)若右子树不空,则右子树上所有结点的值均大于或等于它的根结点的值;
(3)左、右子树也分别为二叉排序树;
三种遍历
前序遍历:访问根节点,前序遍历左子树,前序遍历右子树
中序遍历:中序遍历左子树,访问根节点,中序遍历右子树
后序遍历:后序遍历左子树,后序遍历右子树,访问根节点
实现一个二叉排序树
简单讲解实现方法
二叉排序树的应用
TreeSet底层数据结构是二叉树
https://blog.csdn.net/rainchxy/article/details/79454465
https://www.jianshu.com/p/7db18d3d5d05
https://www.cnblogs.com/skywang12345/p/3576452.html#a1
欢迎大家讨论