摘要: 思想 当我们需要对一组数据进行排序时,常规的排序算法(如快速排序、归并排序等)通常是比较排序,即通过比较元素之间的大小关系来进行排序。但有时候我们需要对一组数据按照它们的“数字位”进行排序,此时比较排序并不是最优的选择,这时候基数排序就显得非常有效了。 基数排序是一种非比较排序算法,它根据元素的每个 阅读全文
posted @ 2023-04-21 20:04 maoqifan 阅读(60) 评论(0) 推荐(0) 编辑
摘要: 思路 堆是一种完全二叉树,其中每个节点的值都大于或等于其子节点的值,被称为“大根堆”;或者每个节点的值都小于或等于其子节点的值,被称为“小根堆”。在堆排序中,我们使用的是大根堆,即根节点的值是最大的元素。 堆排序的基本思路是: 建立一个大根堆。将待排序的序列构建成一个大根堆,即所有非叶子节点的值都大 阅读全文
posted @ 2023-04-21 20:00 maoqifan 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 思路 快速排序是一种常见的排序算法,它的基本思路是通过分治的方法将一个大的问题分解成小的问题进行解决。具体而言,快速排序的核心思路是选取一个枢轴元素,将序列分为两个子序列,其中一个子序列的所有元素都比枢轴元素小,而另一个子序列的所有元素都比枢轴元素大,然后对这两个子序列分别进行递归排序,直到子序列的 阅读全文
posted @ 2023-04-21 19:58 maoqifan 阅读(14) 评论(0) 推荐(0) 编辑