数据结构
gjy095
这个作者很懒,什么都没留下…
展开
-
排序算法--插入排序
最近在看数据结构中的排序,主要看书中对数据结构C语言实现以及适用条件的的一些总结: 1、插入排序的计算时间为O((k+1)n),当只有少量记录左无序的采用插入排序运行效果非常好; 2、其适用规模为(n 3、插入排序是一种稳定的排序算法。 void insert_sort(int list[],int n) { int temp; int j; for(int i=1;i原创 2013-04-25 17:40:20 · 724 阅读 · 0 评论 -
排序算法--快速排序
快速排序是一种平均时间性能非常好的一种算法,平均计算时间为O( nlogn) void swap(int *a,int*b) { int temp; temp = *a; *a = *b; *b = temp; } void quicksort(int list[],int left,int right) { int pivot ,i=0,j=0; if(left原创 2013-04-29 23:32:45 · 569 阅读 · 0 评论 -
排序算法--归并排序
归并排序是在输入记录上执行若干遍归并,第一遍归并长度为1,第二遍归并长度是2的子序列,总的归并遍数为logn,每次归并的开销为O(n),一共要归并logn遍,所以总的计算时间为O(nlogn) 下边是归并排序的3个函数,merge函数可以直接对两个已排序好的序列进行排序,两个序列在一个数组的前后端,具体实现注释中已经说明 //归并两个有序的序列 //i为序列开始位,m为中间位,n为结束位 vo原创 2013-05-04 19:50:18 · 552 阅读 · 0 评论