算法
凌水河旁边的令希图书馆
这个作者很懒,什么都没留下…
展开
-
插入排序(Insetion Sort)
1. 时间复杂度:最坏情况下,插入排序的时间复杂度为O(n^2),其中n是要排序的元素数量。最好的情况下,如果数组已经几乎排序好了,时间复杂度可以降低到O(n)。玩家将抽到牌后,将牌按照从小到大或从大到小的顺序排序,抽到一张牌,牌面如果不是最大或者最小,那就将其插入到相应的位置,使其符合牌面顺序或逆序的规则。需要注意的是,尽管插入排序对于小型数据集是一个简单且高效的排序算法,但对于较大的数据集,它的效率会较低。2. 空间复杂度:插入排序的空间复杂度为O(1),因为它只需要常量级的额外空间来存储临时变量。原创 2023-11-03 10:56:51 · 46 阅读 · 0 评论 -
选择排序(Selection sort)
在每一步中,算法都会找到剩余数组中的最小元素,并将其放置在已排序部分的末尾。这样,经过一系列的迭代,整个数组会被排序。选择排序的时间复杂度为O(N^2),稳定性不是很好,在遇到非常大的数据集的时候不太试用。2)然后再从剩余未排序元素中继续寻找最小(大)元素,放到已排序序列的末尾;1)首先在未排序序列中找到最小(大)元素,存放在排序序列的起始位置;3)以此类推,直到所有元素均排序完毕。下面用JavaScript来实现一下。选择排序是一种简单直观的排序算法。原创 2023-11-01 22:21:13 · 33 阅读 · 1 评论 -
冒泡排序(Bubble Sort)
step 1:比较第一个和第二个数字,将大的数字放后,小的放前。目前原数组中的前两个数字已经符合该规则,因此原数组暂时保持不变;大概可以这样理解,我们有一个含有五个数字的数组,最终想要数组中的数字按照从大到小的顺序进行排序。step 3:比较第三个和第四个数字,发现15>3,因此调换位置,原数组变为。step 4:比较第四个和第五个数字,符合规则,因此保持step3的数组不变。step 2:比较第二个和第三个数字,也符合规则,继续保持不变;实现冒泡函数的关键就是你要比较几趟,每一趟要比较几次。原创 2023-10-28 17:16:54 · 39 阅读 · 1 评论