码迷,mamicode.com
首页 >  
搜索关键字:内部排序    ( 342个结果
内部排序(3)——插入排序之折半插入排序
由于插入排序的基本思想是在一个有序序列中插入一个新的记录,则可以利用"折半查找"查询插入位置,由此得到的插入排序算法为"折半插入排序"。算法如下: void BInsertSort (SqList &L)   {    // 对顺序表L作折半插入排序    for ( i=2; i<length; ++i )    {     r[0] = r[i];...
分类:编程语言   时间:2015-08-17 14:07:35    阅读次数:117
内部排序(3)——插入排序
直接插入排序(StraightInsertion Sort)是一种最简单的排序方法,它的基本操作是讲一个记录插入到已排好序的有序表中,从而得到一个新的、记录增1的有序表。          例如,已知待排序的一组记录的初始排列如下所示:          R(49),R(38),R(65),R(97),R(76),R(13),R(27),R(49),…          假设在排序过程中,前...
分类:编程语言   时间:2015-08-14 13:47:58    阅读次数:184
几种内部排序-分类-复杂性-稳定性
1. 简述 本文主要说明一些常用的内部排序算法的分类、复杂性和稳定性。主要基于现在的理解和学习,详细准确的复杂度可以参见维基百科等比较权威的网站,对于一些算法的不同实现,复杂度也不同,这里给出的复杂度都是相对较好的算法的复杂度。2. 分类3. 复杂性和稳定性冒泡排序:在已经有序的情况,取得O(N)的...
分类:编程语言   时间:2015-08-12 23:36:35    阅读次数:254
内部排序
由于待排序的记录数量不同,使得排序过程中涉及的存储器不同,可将排序方法分为两大类:一类是内部排序,指的是待排序记录存放在计算机随处存储器中进行的排序过程;另一类是外部排序,指的是待排序记录的数量很大,以致内存一次不能容纳全部记录,在排序过程中尚需对外存进行访问的排序过程。内部排序的方法很多,但就其全面性能而言,很难提出一种被认为是一种最好的方法,每一种方法豆油各自的优缺点,适合在不同的环境下(如记...
分类:编程语言   时间:2015-08-12 19:32:33    阅读次数:167
内部排序(1)——选择排序
选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。 选择排序是不稳定的排序方法(比如序列[5, 5,3]第一次就将第一个[5]与[3]交换,导致第一个5挪动到第二个5后面)。 选择排序算法步骤如下: 第1步:在未排序的n个数中找到最小数,讲它与a[0]交换。...
分类:编程语言   时间:2015-08-12 19:31:05    阅读次数:114
内部排序(2)——冒泡排序
它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。之所以叫冒泡排序,是因为它每次排序时,对所排序的数据,排序扫描总是将最大的那个数从地下“冒”上来。冒泡排序效率不高,这是因为它需要约n^2/2次比较,然而对一些小数来说,它的性能还是可以接受的。这个算法的名字由来是因为越大的元素会经由交换慢慢“...
分类:编程语言   时间:2015-08-12 19:21:17    阅读次数:169
数据结构基础温故-7.排序
排序(Sorting)是计算机内经常进行的一种操作,其目的是将一组“无序”的记录序列调整为按关键字“有序”的记录序列。如何进行排序,特别是高效率地进行排序时计算机工作者学习和研究的重要课题之一。排序有内部排序和外部排序之分,若整个排序过程不需要访问外存便能完成,则称此类排序为内部排序,反之则为外部排...
分类:编程语言   时间:2015-08-12 06:39:29    阅读次数:258
快速排序算法
快速排序算法简介 快速排序算法是实际排序应用中最好的选择,因为它的平均性能非常好:期望时间复杂度为O(nlgn),而且其中的隐含的常数因子非常小,另外它具有原址排序的优点,即在内部排序,不用再新建一个数组。...
分类:编程语言   时间:2015-08-10 20:24:52    阅读次数:139
快速排序实现
快速排序是最快的通用内部排序算法,比归并排序(nlogn)速度更快,虽然复杂度都是nlogn,而且归并排序需要n的辅助空间,快速排序不需要。。。快速排序的实现也是分治。。。就是前面一个指针,后面一个指针。。。 手敲快排: void qsort(int s[],int left,int right) { if(left < right) { //swap(s[left],s[(left...
分类:编程语言   时间:2015-08-01 17:24:22    阅读次数:153
【排序算法】用C++实现各种排序算法
1.在平时的学习中,很经常听到各种排序算法,各自有其优缺点。尝试自己用C++实现各排序算法,作为对算法的基础学习。 常见的内部排序:插入排序冒泡排序选择排序快速排序堆排序归并排序基数排序希尔排序
分类:编程语言   时间:2015-08-01 11:15:30    阅读次数:141
342条   上一页 1 ... 21 22 23 24 25 ... 35 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!