在完整二进制搜索树中动态插入节点

时间:2016-01-17 04:44:00

标签: algorithm data-structures binary-tree

我知道二进制搜索树和完整二叉树的概念。有没有办法可以为完整的二叉搜索树编写插入算法,或者我在考虑错误的数据结构?

我的目标是每次插入节点时,Tree都应该保留完整的二叉搜索树。

1 个答案:

答案 0 :(得分:0)

当然可以。但它将是O(N)算法,只需在每次插入或删除后重建树。

你不能比O(N)时间更快地做到这一点。这是因为:

1)只有一个完整的树,只有给定的密钥。

2)你可以移除或插入最小值,你将不得不改变整个树(花费你的O(N)操作)。

不使用完整的搜索二叉树,而是使用平衡二叉树(如RB,AVL,笛卡尔,Splay等)。