程序员算法之判断序列是否是二叉查找树的后续
2012-09-06 22:51
211 查看
View Code
#include <stdio.h> bool VerifySquenceBST(int *Squence,int length) { if(Squence == NULL || length <= 0) return false; int root = Squence[length - 1]; for(int i = 0;i < length-1;++i) { if(Squence[i] > root) break; } int j = i; for(;j < length-1;++j) { if(Squence[j] < root) return false; } bool left = true; if(i > 0) { left = VerifySquenceBST(Squence,i); } bool rigth = true; if(j < length-1) { rigth = VerifySquenceBST(Squence + i,length-i-1); } if(left && rigth) return true; else return false; } int main() { int Squence[7] = {5,7,6,9,11,10,8}; bool test = VerifySquenceBST(Squence,7); if(test == true) printf("The Squence is BST\n"); else printf("The Squence is not BST\n"); return 0; }
相关文章推荐
- 判断序列是否是二叉查找树的后续遍历结果
- 算法--判断一个数字序列是否为二叉排序树的后续遍历
- 每天一个算法之是否为后续遍历序列
- 判断一个序列是否时二叉排序树的后续遍历序列
- 判断整数序列是否是二叉查找树的后序遍历
- 判断一个序列是否为某二叉搜索树的后续遍历结果
- 算法 Tricks(四)—— 判断序列中的字符/数值是否交替出现
- Solution 9: 判断序列是否为BST的后续遍历结果
- 判断整数序列是否为二叉查找树的后序遍历结果
- 树(4)判断某个序列是否是二叉查找树的后序遍历结果
- 判断一个序列是否是一个二叉查找树的后序遍历结果
- 每日一算法(已知进栈序列 判断出栈序列是否合法)
- 判断一个序列是否为另一个序列的子序列(两种算法)
- 判断一个序列是否是二叉查找树的后序、前序、中序遍历序列
- [PHP]算法- 判断是否为二叉搜索树的后序遍历序列的PHP实现
- 判断一个序列是否是另外一个序列的子序列的算法
- 程序员面试题100题第24题——判断是否是push、pop序列
- 剑指offer24判断某一序列是否是某一搜索二叉树的后续遍历结果
- 【100题】第九题(整数序列是否是二叉查找树后续遍历)
- 9.判断1个整数序列是不是二叉查找树的后续遍历结果