Algorithm
算法相关
再来三碗饭
这个作者很懒,什么都没留下…
展开
-
排序算法-快速排序
快速排序(Quick Sort)是一种常用的排序算法,它的基本思想是:选择一个基准元素(pivot),通过一趟排序将待排序的元素分成两部分,其中一部分的所有元素都比基准元素小,另一部分的所有元素都比基准元素大,然后再递归地对这两部分元素分别进行快速排序,直到整个序列有序。在大多数情况下,快速排序是最优秀的排序算法之一,但在极端情况下,比如待排序的序列已经有序或者基本有序时,快速排序的性能会下降到O(n^2),因此需要对其进行优化,如随机选择基准元素、三数取中等。如果i < j,则交换i和j的位置。原创 2023-04-13 14:25:11 · 128 阅读 · 0 评论 -
排序算法-插入排序
希尔排序是一种改进版的插入排序算法,其思想是将待排序数组按照一定的间隔分成若干个子数组,对每个子数组分别进行插入排序,然后缩小间隔,继续进行插入排序,直到间隔为1,最后进行一次插入排序即可。插入排序是一种简单直观的排序算法,其基本思想是将一个待排序的数组分为已排序区间和未排序区间,每次从未排序区间中取出一个元素,插入到已排序区间的适当位置,直到所有元素都被插入到已排序区间为止。依次从未排序区间中取出一个元素,将它插入到已排序区间的适当位置,使得插入后仍然保持已排序区间从小到大的顺序;原创 2023-04-11 10:06:37 · 52 阅读 · 1 评论 -
排序算法-冒泡排序
该函数接受一个整数数组作为参数,通过双重循环来比较相邻的元素并进行交换,直到数组中所有的元素都按照从小到大的顺序排列好为止。在该函数中,用双重循环来比较相邻的元素并进行交换,直到数组中所有的元素都按照从小到大的顺序排列好为止。再然后,比较相邻的元素 [8, 4],发现 8 大于 4,需要交换位置,变为 [4, 8]。再然后,比较相邻的元素 [8, 2],发现 8 大于 2,需要交换位置,变为 [2, 8]。首先,比较相邻的元素 [5, 3],发现 5 大于 3,需要交换位置,变为 [3, 5]。原创 2023-04-10 14:22:25 · 110 阅读 · 1 评论 -
常见排序算法简介
快速排序是一种基于分治思想的高效的排序算法,它的基本思想是通过选择一个基准元素,将序列分为两个子序列,一个子序列的元素都比基准元素小,另一个子序列的元素都比基准元素大,然后递归地对两个子序列进行排序。归并排序是一种经典的排序算法,它的基本思想是将一个大的数组拆分成较小的子数组,对每个子数组进行排序,然后将这些子数组的排序结果逐个合并起来,得到一个有序的数组。选择排序是一种简单的排序算法,它的基本思想是找到最小的元素,将其放在第一位,然后找到第二小的元素,将其放在第二位,依此类推,直到所有元素都被排好序。原创 2023-04-07 14:42:00 · 67 阅读 · 1 评论