
图解算法阅读
文章平均质量分 64
yunlongliang
不恋过往,不畏将来
展开
-
python 二分查找
说明:二分查找的方式适用于一个有序数组(列表),因为每次查找的数据都会在一个范围内取中间位置的数据比较,如果没有找到则会在另外一个区间,重复做这样的操作。举个栗子,加入在1-100的数组中,任意给你一个数字,请问它是多少?加入这个数是35。思路是这样的,第一步,0+100/2=50,就会用50来判断,结果是比50小。第二步,0+50/2=25,用25来判断,结果是比25大。第三...原创 2018-07-16 23:22:17 · 6879 阅读 · 0 评论 -
python 递归
概念通俗的来讲:递归就是调用自己。 满足条件递归必须满足两个条件才可以使得程序正常进行。1、基线条件2、递归条件基线条件:就是程序结束的条件,一般来讲递归程序都会在一个未知结束的情况中执行,所以你需要指定一个结束条件。指定函数从此不在调用自己,从而避免了死循环的情况。递归条件:就是程序需要调用自己时的条件。用一个示例来理解基线条件和递归条件,比如一个多少秒的倒计时打...原创 2018-07-21 11:11:31 · 413 阅读 · 0 评论 -
python快速排序
说明快速排序是一种常用的排序方式,其速度比选择排序快得多。它是采用分而治之(divide and conquer,D&C)。是一种著名的递归式问题解决方案。解决思路1、选择一个基准值(可以是数组中的任意一个值)。2、将原始的数组分成两个:把大于基准值的值放在一个新的数组(greater)和把小于基准值的值放在一个新的数组(less)。3、然后再对greater和less...原创 2018-07-22 10:47:53 · 235 阅读 · 0 评论 -
python 二叉树的深度
说明二叉树的深度,就是二叉树的层数,在层序遍历中,总共有多少层,二叉树的深度就是多少代码# 计算二叉树的深度def depth(node): # 二叉树为空树,层数就是0 if node is None: return 0 # 采用分而治之的思想来做,即把一棵树分成左右两边来分别计算其深度 # 左子树的深度 dl = dept...原创 2018-09-04 17:10:25 · 2930 阅读 · 0 评论