Advertisement

(二叉排序树-创建查找插入删除)

阅读量:

一、二叉排序树

定义为:以该根节点为基准,在其左侧存在非空的左子树,则其全部左下方的节点值均小于该根节点值;右侧存在非空的右子_tree,则其全部右下方的_ nodes 值均大于等于该 root node 值;同时左右两侧均为同样的 binary sorted tree 结构.

2、构造:按照给定的关键字顺序进行构建。初始时将第一个关键字设为根节点。随后每次输入一个新的关键数据项时会与当前的根节点进行比较操作。如果新输入的关键字值小于当前节点值并且左子树为空,则将新节点设为当前节点的左孩子;否则则会进入相应分支继续比较并插入到相应的分支中;同样的道理适用于较大的情况:如果新输入的关键字值大于当前节点值并且右子树为空,则将新节点设为当前节点的右孩子;否则则会进入相应分支继续比较并插入到相应的分支中。

3、二叉排序树建立、插入、删除、查找、前序遍历、中序遍历:

复制代码
 #include <iostream>

    
 #include <vector>
    
 using namespace std;
    
  
    
 struct BiNode
    
 {//二叉排序树节点的数据类型
    
     int key;
    
     BiNode *lchild,*rchild;
    
 };
    
 class BiSortT

全部评论 (0)

还没有任何评论哟~