初识数据结构之二叉搜索树

      树结构本身是一种天然的组织结构,这里的二叉树具有天然的递归结构,归根于二叉树具有以下特点:

1,二叉树的每个节点最多有2个子节点;

2,二叉树的每个节点最多有1个父节点;

3,每个节点的左子树也是二叉树;

4,每个节点的右子树也是二叉树;

5,二叉树的每个节点的值大于其左子树的所有节点的值;

6,二叉树的每个节点的值小于其右子树的所有节点的值;

7,二叉树所有的节点存储的元素必须有可比性;

       二叉搜索树的搜索从根节点开始,如果查询的关键字与根节点关键字相等则命中,否则,如果查询关键字比结点关键字小,就进入左子树;如果比结点关键字大,就进入右子树;如果左子树或右子树的指针为空,则报告找不到相应的关键字。如果二叉搜索树的左右子节点的数目都保持差不多(平衡),则二叉搜索树的搜索性能逼近二分查找;但它比连续内存空间的二分查找的优点是:增加或者删除节点不需要移动大量内存数据,甚至通常是常数开销。

下面附上二叉搜索树基本的增加和查询的代码:


二叉树的基本数据结构
添加节点
递归添加节点和递归查询节点是否存在

 因篇幅有限,二叉搜索树的删除下一篇文章再具体分析。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 树形结构是一种非常重要的非线性的数据结构。树结构与线性结构不同之处:线性结构中任意一个元素最多只有一个后继元素,而...
    zgwyvd阅读 7,206评论 0 7
  • 一些概念 数据结构就是研究数据的逻辑结构和物理结构以及它们之间相互关系,并对这种结构定义相应的运算,而且确保经过这...
    Winterfell_Z阅读 11,319评论 0 13
  • 如需转载, 请咨询作者, 并且注明出处.有任何问题, 可以关注我的微博: coderwhy, 或者添加我的微信: ...
    coderwhy阅读 12,916评论 12 35
  • 我的老家位于内蒙古中部的一个主产农作物的平原地区,官方名字叫土默特平原。 不知为什么,每次回到农村老家,总有一种莫...
    tballer阅读 1,222评论 1 1
  • 今天偶然间看到了一篇十点读书公众号上发表的文章----关于工作,你一定要知道的20条“潜规则”,来自作家刘同。 刘...
    峰行天下_e080阅读 1,066评论 0 0