随笔分类 - Emma 的 算法之路
算法是神秘的,因为学习算法是痛苦的,但相信苦尽甘来。
摘要:希尔(Shell)排序算法也是对直接插入排序算法的改进,将数据分成几组,然后分别进行直接插入算法,然后再合并。 升序排序: 降序排序:
阅读全文
摘要:折半插入排序是对直接插入排序进行了改进,在寻找插入点时使用二分查找算法,提高了查询效率。 升序排序: 降序排序:
阅读全文
摘要:插入类排序是将某个数据插入到已经排好的列表中,直接插入排序比较简单。 升序排序: 降序排序:
阅读全文
摘要:快速排序算法属于"交换类"的排序,它的效率主要跟数据分布是否对称有关。 升序排序: 降序排序:
阅读全文
摘要:冒泡排序属于交换排序中最简答的一种。 升序排序: 降序排序:
阅读全文
摘要:选择性排序是基于“选择”的,简单选择排序是每一次为一个数选择出一个合适的位置放进去。Java代码如下: 升序排序: 升序排序:
阅读全文
摘要:桶排序算法也是线性排序的一种,它是根据数据的最大值和最小值来确定桶的大小,桶内如果有多个元素,还用使用快排进行内部排序,代码如下: 升序排序: 降序排序:
阅读全文
摘要:基数排序算法是计数排序的延伸,计数排序会造成很大的空间浪费,但基数排序法是对位数进行排序,适合于位数之间相差较大的情况,废话不多说,直接上代码: 升序排序法: 降序排序:
阅读全文
摘要:计数排序是线性排序。 升序排序: 降序排序:
阅读全文
摘要:归并排序:升序排 降序排:
阅读全文
摘要:这个文章旨在存代码,看了很多网上写推排序的算法,感觉写的过于臃肿,我去努力地理解了思想,自己写的,有什么问题欢迎指正。 首先是升序排序,这个要建小顶堆,Java代码如下: 下面的是降序排序,需要建大顶堆: 最后是交换的程序,很简单;
阅读全文

浙公网安备 33010602011771号