对于输出1 ~ n这些数组成的所有全排列的方法有最暴力的递归枚举法和相对简单写的递归交换法,但是有时我们只希望可以找到一个全排列的下一个全排列,就这样出现了n进位法。
2020-02-26 12:13:23
579
求一个全排列的下m个全排列,我们发现递增进位法每次进位的次数太多,因此为了对其进行优化出现了递减进位法。
2020-02-26 09:10:14
634
求一个全排列的下m个全排列,有时我们并不想按字典序找,而是想换一种顺序去找。
2020-02-26 08:42:25
893
有时我们希望可以找到一个全排列的下m个全排列,而不仅仅是下一个,就这样出现了字典中介法。
2020-02-25 10:13:16
483
求一个排列的下一个排列我们有暴力的n进位法,当然也就有效率较高的字典序法。
2020-02-21 10:47:30
939
看了其他大佬的博客园页面都那么好看,我也决定美化一下自己的博客园,顺便在这里分享一下我的博客园页面美化的方法。这里我选用的模版是SimpleMemory。
2020-02-20 12:10:30
621
对于求解全排列问题有最暴力的递归枚举法,但是我们希望可以优化时间,因此出现了递归交换法。
2020-02-19 11:38:35
1421
全排列问题是一道非常经典的递归题目,而递归枚举法求解也是最暴力的一种方法。
2020-02-19 09:08:16
920
基数排序是桶排序的一种,属于稳定性的排序。
2020-02-17 16:45:45
702
计数排序和鸽巢排序十分相似,同属于桶排序的一种,它的优势在于在对一定范围内的整数排序时,它的复杂度为Ο(n),速度极快无比,但空间上就恶心一些了。
2020-02-17 15:21:32
566
鸽巢排序,名字很生动形象,其实就是把待排序的数组中相同的元素扔到同一个鸽巢。
2020-02-17 12:07:44
482
汉诺塔问题,是心理学实验研究常用的任务之一。当然我们是学计算机的,因此我们尝试用计算机去求解它。
2020-02-17 09:11:10
1063
快速排序,顾名思义就是速度很快的排序,平均时间复杂度仅为O(n * log2(n))。
2020-02-16 13:18:11
254
归并排序是一种非常经典的分治算法,也是非常精美的算法,学习归并排序,对于理解分治法思想、提高算法思维能力十分有帮助。
2020-02-13 10:57:27
500
希尔排序是基于插入排序的一个优化。可以使平均时间复杂度减少为O(n * log2(n))。
2020-02-12 18:58:38
3802
插入排序是一种简单直观且稳定的排序算法,顾名思义,就是每次将待排序序列中的一个数插入到已排序的数列中,也是非常有名的算法。
2020-02-12 18:04:14
339
冒泡排序——又一个无比经典的排序算法。而这个算法的名字由来是因为这个算法会让越大的元素会经过交换慢慢“浮”到数列的顶端,就如同气泡一样,大的会上浮到顶端,故名“冒泡排序”。
2020-02-12 13:26:04
256
信息学中排序是一个重要的技能,排序算法的种类也丰富多样,而排序就是对于一个无序数组让其变得如何有序的过程。而排序中最简单、也是最基础的一种算法也就是选择排序。
2020-02-12 12:58:42
245