算法模板
柯西丶不是你
这个作者很懒,什么都没留下…
展开
-
数据结构和算法——学习路径思维导图
算法 1 复杂度分析 1.1 时间复杂度 1.2 空间复杂度 2 基本算法思想 2.1 枚举算法 2.2 贪心算法 2.3 动态规划 2.4 分治算法 2.5 回溯算法 3 排序 3.1 冒泡排序 3.2 插入排序 3.3 选择排序 3.4 希尔排序 3.5 归并排序 3.6 快速排序 3.7 堆排序 3.8 计数排序 3.9 基数排序 3.10 桶排序 ...原创 2020-03-26 14:05:40 · 742 阅读 · 0 评论 -
斐波那契数列Fibonacci Sequence
Fibonacci数列 斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波那契数列以如下被以递推的方法定义:F(1)=1,F(2)=1, F(n)=F(n - 1)+F(n - ...原创 2020-02-22 17:27:36 · 699 阅读 · 0 评论 -
冒泡排序
基本思路 以从小到大排序为例,每一轮排序找出未排序序列的最大值,放在最后。通过n-1轮排序后序列变为有序。 Java实现 // 冒泡排序 public static void bubbleSort(int arr[]){ // 需要n-1轮排序 for (int i = arr.length - 1; i > 0; i--) { // 每一轮循环比...原创 2019-12-10 13:33:07 · 129 阅读 · 0 评论 -
快速排序
基本思想 通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 实现思路 1、将序列第一个数作为基准数 pivot,将序列分为左右两部分。 2、小于基准数的元素放左边,将大于基准数的元素放右边。 3、设置哨兵j从右往左找一个小于 pivo...原创 2019-12-05 15:04:54 · 138 阅读 · 0 评论