BST创建
来源:互联网 发布:做淘宝店铺用什么软件 编辑:程序博客网 时间:2024/04/20 03:16
思路:把数字排序,排序后数字列,中间点为父节点,左边部分为左子树,右边为右子树。
假设节点定义为:
// Definition for binary treestruct TreeNode { int val; TreeNode *left; TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) {}};
递归的思路实现:
TreeNode *makeArray2BST(int *a,int len){ TreeNode *t; if(len == 0) return NULL; else if(len == 1) { t = new TreeNode(a[0]); }else if(len == 2){ t = new TreeNode(a[1]); t->left = new TreeNode(a[0]); }else{ int n = len/2; t = new TreeNode(a[n]); t->left = makeArray2BST(a,n); t->right = makeArray2BST(a+n+1,len-n-1); } return t;}
0 0
- BST创建
- BST
- BST
- BST
- BST
- BST
- BST
- bst
- BST
- BST
- BST
- BST
- BST
- BST
- BST
- 二叉查找树(BST)---创建 清空 遍历
- 二叉搜索树(BST)的创建、插入、查找和删除
- 有序数组创建一棵平衡的BST
- 最大公约数与最大公倍数
- 完美解读Linux中文件系统的目录结构
- NSMutableURLRequest和NSURLConnection用Post方式上传照片
- 基础总结篇之一:Activity生命周期
- 拉迪亚德·吉卜林(Rudyard Kipling)——詩作《如果》<if>
- BST创建
- 2.C++ STL笔记: Bitset相关
- 工欲善其事必先利其器之Git
- Struts2 poi导出excel
- Spring MVC报错:The request sent by the client was syntactically incorrect ()
- sqlite基本使用方法
- 白话Aulolayout
- Struts2学习笔记——Namespace
- OC核心语法(2)构造函数