数据结构——二叉排序树的核心操作(BST)
发布时间
阅读量:
阅读量
对二叉排序树的查找、插入、删除以及构建算法的核心思想与程序实现进行了简要实现。在执行删除操作时,需特别注意以下三种情形:
-
当待删除节点不存在左子树时,可直接将其右子树提升至该位置;
-
若待删除节点的左子树不存在右子树,则可将左子树直接提升至该位置;
-
对于其他情况,则需要找到左子树中最大的叶节点并将其提升至该位置。
以下代码参考自《挑战程序设计》:
代码:
#include<bits/stdc++.h>
#define N 109
using namespace std;
struct node
{
int data;
struct node *lch, *rch;
};
void menu()
{
cout << endl;
printf("\t\t\t1.建立二叉排序树\n");
printf("\t\t\t2.插入元素x\n");
printf("\t\t\t3.删除元素x\n");
printf("\t\t\t4.查找元素x\n");
printf(
全部评论 (0)
还没有任何评论哟~
