![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
排序
龙曦lc
千里之行,始于足下。
展开
-
归并排序【递归】
归并排序:将两个或两个以上有序表合成一个新的有序表。原创 2023-05-18 03:03:40 · 154 阅读 · 0 评论 -
选择排序——堆排序
(1)堆调整的过程:如果子树的根小(大)于左右孩子的较大者,那么将较大(小)者与根进行交换,交换后较大(小)者位置为根的子树是否构成子树堆;否则,重复上述步骤,继续对不满足堆的子树进行调整。(3)堆排序:大(小)根堆堆顶元素为最大(小)值,输出堆顶元素,将堆底元素送人堆顶,然后将剩余元素整理成堆;重复上述步骤,直到将全部元素有序输出。(2)建立大(小)根堆:从右到左,从下到上来访问每棵子树的根,然后将子树传入调整函数,将其调整为子树堆。需要升序排列元素,建立大根堆;需要降序排序元素,建立小根堆。原创 2023-05-18 02:08:32 · 362 阅读 · 0 评论 -
选择排序——简单选择排序
选择排序算法思想:每一趟(如第i趟)从后面n-i+1个待排序元素选择关键字最小(大)的元素,作为有序子序列的第i个元素,直到第n-1趟做完,待排序元素只剩下一个元素,就不用再选了。原创 2023-05-18 02:04:47 · 292 阅读 · 0 评论 -
交换排序(冒泡排序,快速排序)
快速排序算法思想:在待排序表中任意选取一个pivot元素作为枢纽,通过一趟排序将待排序表划分成两部分,使得表左边元素都小于pivot,表右边元素都大于pivot,则pivot放在了最终的位置,这个过程称为一趟快速排序。然后分别递归的对两个子表重复上述过程,直到每部分内只有一个元素或者为空为止,即所有元素放到了最终的位置。冒泡排序算法思想:从前往后两两比较相邻元素值,若为逆序,则交换他们,直到序列比较完。原创 2023-05-15 03:06:08 · 106 阅读 · 0 评论 -
插入排序(直接插入排序,折半插入排序,希尔排序)
折半插入排序算法思想:从第二个元素开始,依次将后面元素插入前面已经排序好的序列(与直接插入排序不同的是寻找插入位置使用的是折半查找,先找到待插入位置,再统一后移元素,最后将待插入元素放到合适位置)。希尔排序算法思想:先将待排序元素按照增量分成若干子表,对各个子表分别进行直接插入排序,当整个表中元素基本有序之后,再对全体元素进行一次直接插入排序。直接插入排序算法思想:从第二个元素开始,依次将后面元素插入前面已经排序好的序列。原创 2023-05-14 02:43:16 · 68 阅读 · 0 评论