码迷,mamicode.com
首页 >  
搜索关键字:有序数组    ( 1005个结果
二分搜索 一种比较完美的实现方法
二分搜索,也称二分查找、折半搜索,是一种在有序数组中查找特定元素的搜索算法。搜索从数组的中间元素开始,如果中间元素刚好是要查找的元素,则搜索结束,如果要查找的特定元素大于(小于)中间元素,则在数组大于(小于)中间元素的一半中查找。该算法的递归实现比较容易理解,思路更清晰,但效率方面仍有提高的空间。代...
分类:其他好文   时间:2014-11-07 11:15:04    阅读次数:171
堆排序
堆排序堆排序是直接选择排序的一种改进算法,先将数组调整成一个堆,在将堆第一个元素最小元素和待排序区间最后一个元素交换。重新调整堆,重复执行n - 1次即可得到有序数组具体解释代码注释中有说明,注意完全二叉树的性质如i节点的左子树节点为2 * i是从1开始,不是从0开始。实现的时候需要注意一下Heap...
分类:编程语言   时间:2014-11-07 00:53:08    阅读次数:259
归并排序
归并排序重点在治,即合并两个有序数组: 1 void merge(int A[], int p, int q, int r) 2 { 3 int i = 0, j = 0, k = p; 4 int m = q - p + 1; 5 int n = r - q; 6 ...
分类:编程语言   时间:2014-11-06 19:38:23    阅读次数:198
浅谈算法和数据结构: 十一 哈希表
在前面的系列文章中,依次介绍了基于无序列表的顺序查找,基于有序数组的二分查找,平衡查找树,以及红黑树,下图是他们在平均以及最差情况下的时间复杂度:可以看到在时间复杂度上,红黑树在平均情况下插入,查找以及删除上都达到了lgN的时间复杂度。那么有没有查找效率更高的数据结构呢,答案就是本文接下来要介绍了散...
分类:编程语言   时间:2014-10-31 23:36:25    阅读次数:387
二分查找学习
数组在有序的情况查找某元素,用二分查找可以达到logn的时间复杂度。二分查找虽然看似容易,想要把这个算法完全写好,并灵活运用确并非易事儿。据说专业的程序员有90%的人无法正确实现。如果你不信,不妨自己动手试一试,然后用一些测试用例测一下。二分查找的思想:在有序数组A[n]中查找x,令s=0,e=n-...
分类:其他好文   时间:2014-10-31 21:48:28    阅读次数:143
Median of Two Sorted Arrays
There are two sorted arrays A and B of size m and n respectively. Find the median of the two sorted arrays. The overall run time complexity should be O(log (m+n)). 题意:寻找两个有序数组的中位数,要求复杂度为O(log (m+...
分类:其他好文   时间:2014-10-29 22:23:33    阅读次数:226
Merge Sorted Array 混合插入有序数组
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 (size that is greater or equal...
分类:编程语言   时间:2014-10-29 16:22:58    阅读次数:209
Find Minimum in Rotated Sorted Array 2 寻找旋转有序数组的最小值之二
Follow upfor "Find Minimum in Rotated Sorted Array":What ifduplicatesare allowed?Would this affect the run-time complexity? How and why?Suppose a sort...
分类:编程语言   时间:2014-10-21 17:04:11    阅读次数:226
[算法]各种二叉搜索
1,给定一个有序数组values,求任意一个i使得values[i]等于v,不存在返回-1int search(int* values,int len,int key){ if(!values || len key) high=mid-1; else low = mid +1; ...
分类:编程语言   时间:2014-10-20 11:31:24    阅读次数:215
LeetCode-Remove Duplicates from Sorted Array-从有序数组移除重复-简单逻辑
https://oj.leetcode.com/problems/remove-duplicates-from-sorted-array/用一个cnt记录不重复的部分,后面每遇到不重复的cnt++即可。class Solution {public: int removeDuplicates(i...
分类:编程语言   时间:2014-10-20 03:23:10    阅读次数:241
1005条   上一页 1 ... 91 92 93 94 95 ... 101 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!