题目描述 In this problem, you have to analyze a particular sorting algorithm. The algorithm processes a sequence of n distinct integers by swapping two ad ...
分类:
编程语言 时间:
2018-07-30 13:25:00
阅读次数:
110
PS:什么是递归、二分查找、归并排序。 递归排序大家都不陌生,递归简单的说就是自己在没有达到目的的同时在此调用本身,把一个大问题层层转化为和原问题相似的小问题解决,递归需要有边界条件、递归前进段和递归返回段。当边界条件不满足时,递归前进;当边界条件满足时,递归返回。 二分查找也称折半查找(Binar ...
分类:
编程语言 时间:
2018-07-29 11:41:45
阅读次数:
189
归并排序的应用。本题将一个链表分为两个有个技巧,就是快慢两个指针,需要注意的是如果一开始 slow=fast=head 来做,后面是 fast=slow->next; slow->next=NULL 的话在两个元素的时候会死循环,因此要么改前面要么改后面。 ...
分类:
其他好文 时间:
2018-07-29 00:53:08
阅读次数:
130
//直接插入排序 publicstaticint[] insertSort(int []data) { intlen=data.length; for(inti=1;i<len;i++) { inttemp=data[i]; intj; for(j=i-1;j>=0&&data[j]>temp;j- ...
分类:
编程语言 时间:
2018-07-28 13:58:02
阅读次数:
203
选择排序,冒泡排序,快速排序,归并排序,插入排序,希尔排序,计数排序,桶排序,基数排序 以上是一些常用的排序算法。 选择排序 for(int i = 0; i using namespace std; int n; int a[10] = {9, 19, 7, 2, 4, 5, 6, 8, 10, ...
分类:
编程语言 时间:
2018-07-28 12:03:28
阅读次数:
174
快速排序算法效率高,运行稳定的算法。jdk 内置就是采用的快速排序算法。 和归并排序相似快排也是采用分治法思想,将待排数列分成两部分,取一个参照元素,从两端到中间依次比较所有元素,将较小和较大元素分开。 然后重复这个过程,直至分到一个列表只有一个元素。 输出: ...
分类:
编程语言 时间:
2018-07-27 17:04:10
阅读次数:
139
https://www.nowcoder.com/practice/d8b6b4358f774294a89de2a6ac4d9337?tpId=13&tqId=11169&rp=1&ru=%2Fta%2Fcoding-interviews&qru=%2Fta%2Fcoding-interviews% ...
分类:
编程语言 时间:
2018-07-27 14:44:30
阅读次数:
146
插入排序: 循环不变式:每次循环从数组A中取出第j个元素插入有序区A[1 .. j-1],然后递增j。这样A[1 .. j-1]的有序性始终得到保持,这就是所谓的“循环不变 (loop invariant)”。 循环不变式在理论上保证插入排序算法的正确性。 插入排序的时间复杂度是 O(n2) 归并排 ...
分类:
编程语言 时间:
2018-07-27 13:11:44
阅读次数:
175