假设二叉排序树以后继线索链表作存储结构,编写在二叉排序树中插入一个关键字的算法
时间: 2023-11-04 13:25:16 浏览: 89
通常取二叉链表作为二叉排序树的存储结构-算法与数据结构
以下是在二叉排序树中插入一个关键字的算法:
1. 如果树为空,则创建一个新节点,将关键字插入该节点,并将该节点作为根节点。
2. 如果树不为空,则从根节点开始遍历树。
3. 如果关键字小于当前节点的关键字,则继续遍历左子树。
4. 如果关键字大于当前节点的关键字,则继续遍历右子树。
5. 如果关键字等于当前节点的关键字,则插入失败,返回。
6. 重复步骤 3-5 直到找到一个空节点。
7. 创建一个新节点,将关键字插入该节点。
8. 如果当前节点没有左子树,则将新节点作为当前节点的左子树,并将新节点的左孩子指针指向当前节点的前驱节点(即当前节点的中序遍历上的前一个节点)。
9. 如果当前节点有左子树,则将新节点作为当前节点的右子树,并将新节点的左孩子指针指向当前节点。
10. 将新节点的右孩子指针指向当前节点的后继节点(即当前节点的中序遍历上的后一个节点)。
11. 插入完成,返回。
阅读全文