美文网首页
二叉搜索树(算法学习日记)

二叉搜索树(算法学习日记)

作者: 灰羽小少爷 | 来源:发表于2018-03-22 21:39 被阅读19次

PS:这是我算法学习中的一点总结,有什么地方有错的欢迎大佬在评论区指出也欢迎学算法的朋友友与我一起讨论呀,如有侵权,请评论,我会第一时间联系版权方进行处理。(~ ̄▽ ̄)~

1.结构保证:左子树上的子孙节点必小于本节点,右子树上的子孙必大于本节点。

2.推论(功能实现的算法):

  1. 在搜索时,从根节点向下检索,每遇到一个节点,就比较本节点与被搜索数的大小。若节点数小于检索数则进入左子树,否则进入右子树,直至发现被搜索数或某一节点无子树或无应该进入的子树。
  2. 在插入时,从根节点向下检索,每遇到一个节点,就比较本节点与待插入数的大小。若节点数小于检索数则进入左子树,否则进入右子树,直至发现被搜索数或某一节点无子树或无应该进入的子树时就将待插入数插入到该节点合适的地方。
  3. 在删除时,从根节点向下检索,每遇到一个节点,就比较本节点与待删除数的大小。若节点数小于检索数则进入左子树,否则进入右子树,直至发现被搜索数,将其删除。删除后,判断。
    1. 若要删除的节点没有左儿子就将其右儿子提至该节点位置。
    2. 若要删除的节点的左儿子没有右儿子就将其左儿子提至该节点位置。
    3. 若不满足1.2.就将其左儿子的子孙中的最大节点提至该节点位置。

3.C++的STL实现。

可以使用C++STL里的set容器或map容器实现。

以下是常见用法的链接:

set容器的常见用法

map容器的常见用法

相关文章

  • 二叉搜索树

    二叉搜索树 图解二叉树搜索算法图解:二叉搜索树算法二叉查找树(Binary Search Tree),(又:二叉搜...

  • 算法学习

    数据结构学习笔记:树与树的表示、二叉树及其遍历、二叉搜索树、平衡二叉树、堆、哈夫曼树、集合及其运算算法学习笔记浅谈...

  • 2019-10-22

    最优二叉树搜索算法。

  • 2019-10-22

    今天做了算法的最优二叉搜索树

  • Go语言数据结构和算法-BinarySearchTree(二叉搜

    Go语言数据结构和算法-BinarySearchTree(二叉搜索树) 二叉搜索树的数据结构 Insert(val...

  • 二叉搜索树的前驱、后驱

    二叉搜索树(Binary Search Tree) 简称BST,也叫二叉排序树, 它是学习平衡树的基础.二叉搜索树...

  • 数据结构 - AVL树(艾薇儿树)

    接上章:二叉搜索树(Binary Search Tree). 通过二叉搜索树的学习,我们发现,二叉搜索树节点的添加...

  • 数据结构与算法之二叉搜索树(八)

    目录 二叉搜索树概念二叉搜索树的接口设计,包括增,删,改,查平衡二叉搜索树 一 二叉搜索树 二叉搜索树是二叉树的一...

  • 二叉树算法—广度搜索算法使用以及变形

    二叉树的广度搜索算法,不仅可以用来遍历二叉树,其算法亦可以变形使用解决其他二叉树问题。 1. 思索 使用迭代来实现...

  • Binary Search Tree | 二叉查找树

    参考书:胡凡、曾磊《算法笔记》 二叉查找树BST 又称为排序二叉树、二叉搜索树、二叉排序树 BST 是数据域有序的...

网友评论

      本文标题:二叉搜索树(算法学习日记)

      本文链接:https://www.haomeiwen.com/subject/uzpzqftx.html