算法图解学习笔记
马小胖测试历险记
卑微测试从业者,愿生活里没有bug!
展开
-
算法图解学习笔记(三)——递归
一、递归的引入小故事:一个盒子里还有盒子,盒子的盒子里面还有盒子,祖母说钥匙就在其中某个盒子中,为找到钥匙,用什么算法第一种方法:----普通while循环第二种方法:---递归,函数调用自己总结:其实递归方案的引用,对程序的性能没什么影响,只是方便理解,所以具体应用中,需要考虑实际场景来使用递归二、基线条件和递归条件例如:我们编写一个倒计时的函数def countdown(i): print(i) countdown(i-1)countdown(2)原创 2021-01-12 22:31:39 · 279 阅读 · 0 评论 -
算法图解学习笔记(二)——选择排序
算法思想:选择排序,从头至尾扫描序列,找出最小的一个元素,和第一个元素交换,接着从剩下的元素中继续这种选择和交换方式,最终得到一个有序序列。Python-实现def findSmallest(arr): # 存储最小的值 smallest = arr[0] # 存储最小值的索引 smallest_index = 0 for i in range(1, len(arr)): if (arr[i] < smallest):原创 2021-01-04 20:32:28 · 247 阅读 · 0 评论 -
算法图解学习笔记(一)——二分法
Python实现-----二分法----原理:二分法查询目标元素,就是依次选取中间元素判断是大了还是小了,如果大了就选取之前的一半,重复以上步骤(选取中间元素之后再进行判断),知道最后查询出所需要的元素。切记如果能够使用二分法的序列一定是有序的序列时间复杂度:O(log2n);# 二分法# 定义一个函数,传入一个list和一个元素def binary_search(list, item): # 定义 low 和high是要查找的列表的位置 low = 0 high原创 2021-01-03 16:08:45 · 430 阅读 · 1 评论