算导--12.3-1二叉搜索树插入的递归版本
来源:互联网 发布:菲律宾淘宝 编辑:程序博客网 时间:2024/06/06 02:52
二叉搜索树插入元素key的递归版本
主要思想:从树根开始,比较key与树根的元素的大小:
若小于,判断新树根左孩子是否为空,若为空则此左孩子所在位置即为插入点,若为空则把树根的左孩子作为新的树根进行递归处理;
若大于或等于,判断新树根右孩子是否为空,若为空则此右孩子所在位置即为插入点,若为空则把树根的右孩子作为新的树根进行递归处理;
关键代码如下:
//递归版本 void RecursiveInsert(BinTreeNode* node,BinTreeNode* T) { BinTreeNode* p = T; if(node->key < p->key) { if(p->left == NULL) { p->left = node; return ; } <span style="white-space:pre"></span>RecursiveInsert(node,p->left); } else { if(p->right == NULL) { p->right = node; return ; } RecursiveInsert(node,p->right); } } void RecursiveBinaryInsert(int key) { BinTreeNode* node=new BinTreeNode(key); if(root == NULL) { root = node; return ; } RecursiveInsert(node,root); }
0 0
- 算导--12.3-1二叉搜索树插入的递归版本
- 算法导论第十二章习题12.3-1---二叉树插入的递归版本
- 【c++】二叉搜索树的插入、查找、非递归删除
- 二叉树插入算法的非递归版本
- 二叉搜索树的创建、遍历、插入、删除(C++版本)
- 二叉树的递归插入
- 二叉搜索树(BST)递归与非递归的插入、删除、查找的实现
- 二叉搜索树的实现(查找,插入,删除的递归与非递归)
- 二叉搜索树的基本功能的实现(递归及非递归直线插入,删除,查找)
- 关于搜索二叉树的各种操作(插入,删除,输出,查找,递归非递归排序)
- 二叉搜索树的插入
- 二叉搜索树的插入
- 二叉搜索树的插入,搜索,删除
- 用递归的方法进行二叉树的搜索和插入
- 二叉树搜索 递归
- 二叉搜索树的非递归实现
- 二叉树搜索树的插入算法
- 二叉搜索树的查找、插入、删除
- linux网络发包性能优化
- shiro拦截器详细介绍
- mysql的C++ API之mysql_use_result()的用法实例
- 简单工厂模式——加减乘除
- Learning C++ 1.数据类型
- 算导--12.3-1二叉搜索树插入的递归版本
- SSM框架整合
- 多线程条件变量pthread_cond_t使用方法
- RecyclerView的那点事儿
- spring 定时任务的配置
- CSS position属性和实例应用
- 一看就懂系列之 php设计模式(零)
- eclipse导入android工程无法生成R文件
- 配置samba配置文件