我知道二进制搜索树和完整二叉树的概念。有没有办法可以为完整的二叉搜索树编写插入算法,或者我在考虑错误的数据结构?
我的目标是每次插入节点时,Tree都应该保留完整的二叉搜索树。
答案 0 :(得分:0)
当然可以。但它将是O(N)算法,只需在每次插入或删除后重建树。
你不能比O(N)时间更快地做到这一点。这是因为:
1)只有一个完整的树,只有给定的密钥。
2)你可以移除或插入最小值,你将不得不改变整个树(花费你的O(N)操作)。
不使用完整的搜索二叉树,而是使用平衡二叉树(如RB,AVL,笛卡尔,Splay等)。