目录
算法:
- 算法大集合
- 定义:在有限步骤内解决数学问题的程序,计算机领域中:为了解决某项工作或某个问题,所需要有限数量的机械性或重复性指令与计算步骤。
- 特征与条件:
特征 | 说明 |
---|---|
输入 | 0个或多个输入数据,这些输入必须有清楚的描述或定义 |
输出 | 至少会有一个输出结果,不可以没有输出结果 |
明确性 | 每一个指令或步骤必须是简洁明确的 |
有限性 | 在有限步骤后一定会结束,不会产生无限循环 |
有效性 | 步骤清楚且可行,能让用户用纸笔计算而求出答案 |
- 时间复杂度O(f(n))可以评估一个算法的好坏:时间复杂度漫画图
1、算法思维导图
- 算法思维导图
2、 代码案例
(1)查找算法_二分查找_O(logn):
说明 | 链接 |
---|---|
漫画讲解1 | https://mp.weixin.qq.com/s/8-9OBmrZhlyphEo15IU-8g |
漫画讲解2 | https://mp.weixin.qq.com/s/33aOwDGFQ5omE3sHmVLXVA |
代码 | https://github.com/Shirmay1/Python3_Case/tree/master/Algorithm/binary_search.py |
(2)排序算法_冒泡排序_O(n^2):
说明 | 链接 |
---|---|
漫画讲解1 | https://mp.weixin.qq.com/s/wO11PDZSM5pQ0DfbQjKRQA |
漫画讲解2 | https://mp.weixin.qq.com/s/CoVZrvis6BnxBQgQrdc5kA |
代码 | https://github.com/Shirmay1/Python3_Case/tree/master/Algorithm/bubble_sort.py |
(3)递归算法_斐波那契数列_O(2^n):
说明 | 链接 |
---|---|
代码 | https://github.com/Shirmay1/Python3_Case/tree/master/Algorithm/fibonacci_sequence.py |
(4)排序算法_选择排序_O(n^2):
说明 | 链接 |
---|---|
漫画讲解1 | https://mp.weixin.qq.com/s/dGfh2t7xhg0wMM_DcYP1Cw |
代码 | https://github.com/Shirmay1/Python3_Case/tree/master/Algorithm/select_sort.py |
(5)排序算法_插入排序_O(n^2):
说明 | 链接 |
---|---|
漫画讲解1 | https://mp.weixin.qq.com/s/CKaKQzW1WW9INVCvGYryQA |
代码 | https://github.com/Shirmay1/Python3_Case/tree/master/Algorithm/Insertion_sort.py |