上一页 1 ··· 11 12 13 14 15
摘要: 归并排序解释 归并排序 Merge Sort 是典型的分治法的应用,其算法步骤完全遵循分治模式。 分治法思想 分治法 思想: 将原问题分解为几个规模较小但又保持原问题性质的子问题,递归求解这些子问题,然后再合并这些子问题的解,最终得到原问题的解。 分治模式每层递归步骤 1、分解原问题为若干个子问题; 阅读全文
posted @ 2022-11-20 14:41 MarisaMagic 阅读(2797) 评论(0) 推荐(1) 编辑
摘要: 堆排序解释 什么是堆 堆 heap 是一种近似完全二叉树的数据结构,其满足一下两个性质 1. 堆中某个结点的值总是不大于(或不小于)其父结点的值; 2. 堆总是一棵完全二叉树 将根结点最大的堆叫做大根堆(大项堆),根结点最小的堆叫做小根堆(小项堆)。 堆排序原理 我们一般用大根堆对数组进行正向排序喔 阅读全文
posted @ 2022-11-20 01:19 MarisaMagic 阅读(257) 评论(0) 推荐(0) 编辑
摘要: 树形选择排序解释 树形选择排序 又称为锦标赛排序,其实理解起来很简单。🧐 数组的 n 个元素就好像在进行锦标赛一样,每一轮小比赛每两个一组决出胜负(比较谁更小)。 再将每一轮的胜者每两个一组进行小比赛,直到最后决出唯一的胜者(即当前最小元素)。很明显,锦标赛构成图的形状就是一个满二叉树捏。🤔 每 阅读全文
posted @ 2022-11-19 23:24 MarisaMagic 阅读(772) 评论(0) 推荐(2) 编辑
摘要: 前言 本文章是建立在插入排序的基础上写的喔,如果有对插入排序还有不懂的童鞋,可以看看这里。 ❤❤❤ 直接/折半插入排序 2路插入排序 ❤❤❤ 希尔排序解释 希尔排序 Shell Sort 又名"缩小增量排序",是对直接插入排序更加高效的改进版本。它是由 Donald Shell 于1959年提出的一 阅读全文
posted @ 2022-11-19 21:16 MarisaMagic 阅读(462) 评论(0) 推荐(0) 编辑
摘要: 前言 本文章是建立在 插入排序 的基础上写的,如果还有不懂 插入排序 的童鞋先停下脚步,可以先看看这里~❤❤❤ 直接/折半插入排序 2路插入排序解释 在 插入排序 中,当待插入元素需要插入的位置位于当前有序序列的首位时,我们需要进行更多的元素后移操作。过多的交换操作消耗了很多时间,因此可以着眼于减少 阅读全文
posted @ 2022-11-19 12:32 MarisaMagic 阅读(401) 评论(0) 推荐(1) 编辑
摘要: 插入排序解释 插入排序很好理解,其步骤是 :先将第一个数据元素看作是一个有序序列,后面的 n-1 个数据元素看作是未排序序列。对后面未排序序列中的第一个数据元素在这个有序序列中进行从后往前扫描,找到合适的插入位置并插入到其中,每次有序序列的长度 +1。 重复这样的操作,将每个未排序序列中的元素插入到 阅读全文
posted @ 2022-11-19 01:08 MarisaMagic 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 简单选择排序原理 简单选择排序 SelectSort 是一种十分直观地排序方法。其原理是每次从未排序的元素中找到当前最小的元素,放在当前未排序序列的首位。一直重复操作直至最后未排序的元素个数为 0,即完成了排序。 核心代码(Old version) 这个代码是我在大一的时候学习的时候写的,很明显多做 阅读全文
posted @ 2022-11-18 21:44 MarisaMagic 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 前言 本文章是建立在冒泡排序的基础上写的,如还有对 冒泡排序 不了解的童鞋,可以看看这里哦~ 冒泡排序 C++ 双向冒泡排序原理 双向冒泡排序 的基本思想与 冒泡排序还是一样的。冒泡排序 每次将相邻的两个数进行比较,将较大的放到后面,每一趟比较都将当前最大的数字排到最后面,然后从头再开始进行下一趟比 阅读全文
posted @ 2022-11-18 19:22 MarisaMagic 阅读(593) 评论(0) 推荐(0) 编辑
摘要: 冒泡排序解释 冒泡排序 BubbleSort 是一种最基础的交换排序。顾名思义,数组中的每一个元素就好像泡泡一样,根据自己的大小不同一点点的向一侧移动。 冒泡排序原理: 每一趟只能确定将一个数归位。第一趟只能确定将末位上的数归位,第二趟只能将倒数第 2 位上的数归位,依次类推下去。如果有 n 个数进 阅读全文
posted @ 2022-11-18 01:07 MarisaMagic 阅读(400) 评论(0) 推荐(0) 编辑
上一页 1 ··· 11 12 13 14 15