码迷,mamicode.com
首页 >  
搜索关键字:有序表    ( 470个结果
二分查找
二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。 假设其数组长度为n,其算法复杂度为o(log(n)) 代码: #include using namespace std; bool BinarySearch(int data[],int start, int end, int number){ while(start...
分类:其他好文   时间:2014-08-01 09:14:51    阅读次数:228
HTML杂记
1. 声明帮助浏览器正确地显示网页。        HTML 也有多个不同的版本,只有完全明白页面中使用的确切 HTML 版本,浏览器才能完全正确地显示出 HTML 页面。这就是 的用处。 2. table标签       table定义表格,th定义表头,tr定义表格行,td定义表格单元,caption定义表格主题 3.列表标签       ol定义有序表,ul定义无需表,li定义表...
分类:Web程序   时间:2014-07-26 15:15:20    阅读次数:290
归并排序
归并排序还是比较好理解的。归并的含义是将两个或者两个以上的有序表组合成一个新的有序表。 具体方式是:假设初始序列含有n个记录,则可以看成是n个有序的子序列,每个子序列的长度为1,然后两两归并,得到若干长度为2或者1的有序子序列,再两两归并。。。直至得到一个长度为n的有序序列为止,这就称之为2路归并排序。 复杂度:归并排序的最好最坏和平均时间复杂度都是O(n*logn),但是需要...
分类:其他好文   时间:2014-07-24 11:33:12    阅读次数:223
简单插入排序
直接插入排序是一种最简单的排序方式,它的基本操作是将一个记录插入已排好序的有序表中,从而得到一个新的、记录数增1的有序表。时间复杂度为O(n^2),跟冒泡、选择一样。 核心代码: //按非降序排列 void Insert_Sort(int arr[],int len) { if(arr == NULL || len <= 0) { return; } int i,j,t...
分类:其他好文   时间:2014-07-18 15:11:24    阅读次数:254
七大内部排序算法总结(插入排序、希尔排序、冒泡排序、简单选择排序、快速排序、归并排序、堆排序)
直接插入排序:将一个记录插入到已排好序的有序表中,从而得到一个新的、记录数增1...
分类:其他好文   时间:2014-07-16 17:32:03    阅读次数:223
二分检索
二分检索 二分检索(Binary Search)也叫二分查找,是应用于有序表上的一种检索方法。二分检索的思想是:由于序列已经有序,故不需要顺序遍历,每次只需和序列中间位置的元素进行比较即可,以此确定下次查找的位置。显然每次都可以排除一半的元素,很高效。...
分类:其他好文   时间:2014-07-13 18:26:44    阅读次数:278
二分查找算法
概念:二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。...
分类:其他好文   时间:2014-07-12 23:28:08    阅读次数:362
直接插入排序、二分插入排序、希尔排序、冒泡排序与简单选择排序
一、直接插入排序 稳定,时间复杂度:最好O(n)、最差O(n^2)、平均O(n^2),空间复杂度O(1) void InsertSort(int L[], int n) { int i, j,key; for (i = 1; i<n; i++) if(L[i] < L[i-1])//需要将L[i]插入到有序表L[0...i-1] { key = L[i];...
分类:其他好文   时间:2014-07-08 13:40:33    阅读次数:137
ACM:归并排序,以及利用归并排序思想求解逆序对数!
(一)归并排序 分析: (1)划分问题:把序列分成元素个数尽量相等的两半。 (2)递归求解:把两半元素分别排序。 (3)合并问题:把两个有序表合并成一个。(每次只需要把两个序列的最小元素加以比较,删除其中的较小元素并加入合并后的新表) #include using namespace std; const int MAXN = 1000; int A[MAXN], T[MAXN]; ...
分类:其他好文   时间:2014-07-02 09:22:26    阅读次数:243
归并排序:二路归并
归并排序(Merge Sort)是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个有序的子序列,再把有序的子序列合并为整体有序序列。 归并排序的具体做法: 把原序列不断地递归等分,直至每等份只有一个元素,此时每等份都是有序的。 相邻等份合并,不断合并,直至合并完全。 二路归并 归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。归并排序最常用的是二路归并,即把两个小的有序的序列和并成一个大的有序序列:合二为一...
分类:其他好文   时间:2014-06-27 10:16:41    阅读次数:315
470条   上一页 1 ... 44 45 46 47 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!