数据结构
文章平均质量分 73
木颜飞翔
这个作者很懒,什么都没留下…
展开
-
QuickSort 快速排序
QuickSort#include #include int A_arr[5]={2,5,1,3,4}; int Partition(int A[],int p,int r) //分区间,返回区间点 { int x=A[r-1]; int i,j,temp; i=p-1; for(j=p;j<r-1;j++) { if(A[j]<x)原创 2013-05-28 22:08:23 · 528 阅读 · 0 评论 -
MergeSort归并排序
归并排序 主要问题在于合并两个数组时候的问题 借鉴http://blog.csdn.net/kimili1987/article/details/8030620中的方法,合并的空间复杂度为O(1),只不过时间上复杂了一些 void Merge(int *a, int p, int r, int q){ int i,j,k,tmp; /*这是归并两个有序数组的实原创 2013-05-29 00:52:49 · 505 阅读 · 0 评论 -
原地归并排序
http://blog.ibread.net/345/in-place-merge-sort/ In-place Merge Sort (原地归并排序) 19 Replies 一般在提到Merge Sort时,大家都很自然地想到Divide-and-Conqure, O(nlgn)的时间复杂度以及额外的O(n)空间。O(n)的extra space似乎成了Merge转载 2013-05-29 08:56:15 · 725 阅读 · 0 评论 -
一道面试题:有一个整数数组,请求出两两之差绝对值最小的值,记住,只要得出最小值即可,不需要求出是哪两个数。
看了http://blog.csdn.net/cjh1123/article/details/6579008这个博文,前三个算法都不是最优,第四个没太看明白。自己瞎想了一通: 假设原始数组A[n] 1)先找出最大值max,最小值min,O(n)时间 2)然后设B[max-min+1],,初始化每个元素为0;利用桶排序的思想,将每个元素A[i]放进B[A[i]-min],如果在放之前B[j]不原创 2013-06-18 00:27:12 · 3261 阅读 · 0 评论