数据结构与算法
文章平均质量分 54
记录学习数据结构与算法的学习笔记
earlytrain9653
这个作者很懒,什么都没留下…
展开
-
快速排序原理及代码实现
快速排序和归并排序是互补的:归并排序将数组分成两个子数组分别排序,并将有序的子数组归并从而将整个数组排序,而快速排序的方式则是当两个数组都有序时,整个数组自然就有序了。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。对于左侧的数组数据,又可以取一个分界值,将该部分数据分成左右两部分,同样在左边放置较小值,右边放置较大值。原创 2022-11-23 18:21:43 · 101 阅读 · 0 评论 -
归并排序原理及代码实现
归并排序是建立在归并操作上的一种有效的排序算法,该算法是采用分治法的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;若将两个有序表合并成一个有序表,称为二路归并。归并排序的时间复杂度为O(nlogn),需要申请额外的数组空间,导致空间复杂度提升,是典型的以空间换时间的操作。1.尽可能的一组数据拆分成两个元素相等的子组,并对每一个子组继续拆分,直到拆分后的每个子组的元素个数是1。2.将相邻的两个子组进行合并成一个有序的大组;1.分解法:将每个步骤细分成一个方法,方法之间调用完成归并排序;原创 2022-11-23 16:10:01 · 469 阅读 · 0 评论