摘要:        
基本思想:快速排序算法的基本思想为分治思想。 1)先从数列中取出一个数作为基准数; 2)根据基准数将数列进行分区,小于基准数的放左边,大于基准数的放右边; 3)重复分区操作,知道各区间只有一个数为止。 算法流程:(递归+挖坑填数) 1)i=L,j=R,将基准数挖出形成第一个坑a[i]; 2)j--由    阅读全文
        
            posted @ 2020-04-05 17:20
o0松鼠0o
阅读(175)
评论(0)
推荐(0)
        
            
        
        
摘要:        
基本思想:在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。即:每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。每一趟排序后的效果都是讲没有沉下去的元素给沉下去。 算法流程: 1)比较相邻的两个元素,如果    阅读全文
        
            posted @ 2020-04-05 17:06
o0松鼠0o
阅读(134)
评论(0)
推荐(0)
        
            
        
        
摘要:        
堆排序是一种树形选择排序,是对直接选择排序的有效改进。 堆的定义如下:具有n个元素的序列(k1,k2,...,kn),当且仅当满足时称之为堆。由堆的定义可以看出,堆顶元素(即第一个元素)必为最小项(小顶堆)。 若以一维数组存储一个堆,则堆对应一棵完全二叉树,且所有非叶结点的值均不大于(或不小于)其子    阅读全文
        
            posted @ 2020-04-05 17:00
o0松鼠0o
阅读(189)
评论(0)
推荐(0)
        
            
        
        
摘要:        
基本思想:在要排序的一组数中,选出最小(或者最大)的一个数与第1个位置的数交换;然后在剩下的数当中再找最小(或者最大)的与第2个位置的数交换,依次类推,直到第n-1个元素(倒数第二个数)和第n个元素(最后一个数)比较为止。 算法流程: 1)初始时,数组全为无序区a[0, ... , n-1], 令i    阅读全文
        
            posted @ 2020-04-05 16:42
o0松鼠0o
阅读(186)
评论(0)
推荐(0)
        
            
        
        
摘要:        
希尔排序是1959 年由D.L.Shell 提出来的,相对直接排序有较大的改进。希尔排序又叫缩小增量排序。 基本思想:先将整个待排序的记录序列分割成为若干子序列分别进行直接插入排序,待整个序列中的记录“基本有序”时,再对全体记录进行依次直接插入排序。 算法流程: 1)选择一个增量序列t1,t2,…,    阅读全文
        
            posted @ 2020-04-05 16:33
o0松鼠0o
阅读(196)
评论(0)
推荐(0)
        
            
        
        
摘要:        
基本思想:将待排序的无序数列看成是一个仅含有一个元素的有序数列和一个无序数列,将无序数列中的元素逐次插入到有序数列中,从而获得最终的有序数列。 算法流程: 1)初始时, a[0]自成一个有序区, 无序区为a[1, ... , n-1], 令i=1; 2)将a[i]并入当前的有序区a[0, ... ,    阅读全文
        
            posted @ 2020-04-05 16:16
o0松鼠0o
阅读(247)
评论(0)
推荐(0)
        
                    
                
        
浙公网安备 33010602011771号