- 博客(5)
- 资源 (2)
- 问答 (1)
- 收藏
- 关注
原创 二分查找思想寻找有序数组中查找最小值
思想:循环有序数组最大的特点是利用二分查找时,有一边总是有序的,利用这个特点,利用value存储历史最小值 当左边有序,则用A[low]与value比较即可得出当前左边的最小值,然后跳转到右边看是否存在更小的; 如果右边有序,则用A[mid]与value比较,得出右边的最小值,然后跳转到左边查看是否有更小的。 算法复杂度为O(logn) 代码如下:#include #include #in
2014-09-13 11:23:17 1646
原创 循环有序数组查找一个数
网上看了有些代码有些错误,这里重新更正了下 思想:循环数组有一边是有序的,首先先判断哪一边有序(通过将当前mid点与最左边节点比较),然后查看是否在有序边上 代码如下 #include #include using namespace std; int Binary_Search(int *a,int low,int high,int value) { int mid=(low+high)
2014-09-12 18:33:59 1770
原创 根据前序和中序遍历构造二叉树
思想:递归实现 #include #include #include using namespace std; struct Node { int value; Node *left; Node *right; }; Node *ContructBinaryTree(int *pre,int *in,int length,Node *root) { if(length =
2014-09-04 10:54:05 365
一个关于打字有趣的问题
2013-11-04
TA创建的收藏夹 TA关注的收藏夹
TA关注的人