插入排序 插入即表示将一个新的数据插入到一个有序数组中,并继续保持有序。 例如有一个长度为N的无序数组,进行N-1次的插入即能完成排序; 第一次,数组第1个数认为是有序的数组,将数组第二个元素插入仅有1个有序的数组中; 第二次,数组前两个元素组成有序的数组,将数组第三个元素插入由两个元素构成的有序数 ...
分类:
编程语言 时间:
2017-07-09 23:51:32
阅读次数:
217
转自:http://www.cnblogs.com/yangecnu/p/Introduce-Hashtable.html 在前面的系列文章中,依次介绍了基于无序列表的顺序查找,基于有序数组的二分查找,平衡查找树,以及红黑树,下图是他们在平均以及最差情况下的时间复杂度: 可以看到在时间复杂度上,红黑 ...
分类:
其他好文 时间:
2017-07-09 22:10:57
阅读次数:
265
Suppose a sorted array is rotated at some pivot unknown to you beforehand. (i.e.,0 1 2 4 5 6 7might become4 5 6 7 0 1 2). You are given a target value ...
分类:
编程语言 时间:
2017-07-09 16:17:30
阅读次数:
178
Given an array where elements are sorted in ascending order, convert it to a height balanced BST. 题目标签:Tree 这道题目给了我们一个有序数组,从小到大。让我们把这个数组转化为height bala ...
分类:
编程语言 时间:
2017-07-03 10:13:29
阅读次数:
185
Given two sorted integer arrays A and B, merge B into A as one sorted array. Note: You may assume that A has enough space to hold additional elements ...
分类:
编程语言 时间:
2017-06-23 15:31:46
阅读次数:
176
二分。情况讨论 因为数组有序,所以能够考虑用二分。通过二分剔除掉肯定不是第k位数的区间。如果数组A和B当前处理的下标各自是mid1和mid2。则 1、假设A[mid1]<B[mid2], ①、若mid1+mid2+2==k(+2是由于下标是从0開始的),则 mid1在大有序数组中下标肯定小于k,所以 ...
分类:
编程语言 时间:
2017-06-21 11:47:43
阅读次数:
221
题目:有两个有序数组a,b,现须要将其合并成一个新的有序数组。 简单的思路就是先放到一个新的数组中,再排序。可是这种没体现不论什么算法,这里考的不是高速排序等排序算法。关键应该是怎样利用有序已知这个条件。能够这样想。如果两个源数组的长度不一样,那么如果当中短的数组用完了,即所有放入到新数组中去了,那 ...
分类:
编程语言 时间:
2017-06-20 22:24:26
阅读次数:
112
删除有序数组中的元素,数组仍然有序 方法一: ...
分类:
编程语言 时间:
2017-06-20 16:22:23
阅读次数:
161
今天在网上看到一家公司的笔试题: 这里就不带大家看概念了,什么是二叉搜索树? 下面直接看代码 看结果: 解释思路: 由于是有序的数组,所以可以使用折半的方法,将一块一块的数据分割,通常的构造二叉搜索树的方法是,逐个比较,逐个按顺序添加,如果是有序的,可想使用这种方法,查询树就成了反斜线了。 使用这种 ...
分类:
编程语言 时间:
2017-06-17 17:00:22
阅读次数:
170
----------------siwuxie095 二分查找法 二分查找(Binary Search),也称 折半查找(Half-Interval Search), 是一种在有序数组中查找某一特定元素的搜索算法 「或称 二分搜索,折半搜索」 正如定义所示,二分查找法有一定的限制:对于有序数列,才能... ...
分类:
其他好文 时间:
2017-06-10 00:30:00
阅读次数:
282