
排序算法
各种排序算法
Null: MiKoto
这个作者很懒,什么都没留下…
展开
-
排序算法:珠排序(不实用方法)
排序算法:珠排序珠排序思路C++ 写法Python 写法(来自 Wikipedia)后记 珠排序 这是学排序算法时候意外的查到的方法,对应现实中的算盘?现实中操作很快,操作能同时进行;但是计算机中需要时间,如果并行可以但是吃硬件。 思路 将每个数看成N个珠子(不能用于小数,如果有负数也麻烦,0也头疼),把珠子按顺序插在杆上,杆的数量等于最大的数,让它们下落。 所以需要 [max][max] 的数组用于表示数,假设每个数对应一行,排序时把每一列往底下归。时间复杂度 O(n),空间复杂度 O(n^2)。 直接原创 2020-06-14 02:09:14 · 2113 阅读 · 0 评论 -
排序算法:坤坤排序(不实用方法)
排序算法:坤坤排序坤坤排序思路Python 写法后记 坤坤排序 排序算法老问题了,给定一个(可能)无序数组,将所有元素按升序或降序排好。 不是唱跳 rap 篮球 music 那个坤坤,是好久之前一个学弟刚入门给我看的,当时我虎躯一震,怎么还能这么操作?当时他还没学到三大排序算法… 思路 很简单,在变量运行范围内循环,每次看数组中是否有对应当前循环的值,如果有就输出。 这样时间复杂度虽然是 O(n),如果只用输出结果空间复杂度 O(1),但是实际很耗时间。 Python 写法 本来他用 C 写的,只是输出正确原创 2020-06-13 21:00:01 · 280 阅读 · 0 评论 -
排序算法:选择排序 (C, C++, Python)
排序算法:选择排序选择排序思路C/C++ 写法Python 原始写法Python 魔幻写法 选择排序 排序算法老问题了,给定一个(可能)无序数组,将所有元素按升序或降序排好。选择排序是三大基础算法,对我而言是最早想到的方法。 思路 比较简单就不费墨水了,主要是想把算法都写成博客…将数组前段看成已排序部分,后段看成未排序部分,每一次循环从未排序部分找出最小的放在已排序部分末尾,直到完成。 两层循环嵌套,时间复杂度为 O(n^2),空间复杂度1,不稳定排序。 流程: 初始全部乱序,找到最小的 -4 交换最小的原创 2020-06-13 20:36:05 · 167 阅读 · 0 评论