一:二分法 首先介绍二分法 二分法查找,每次能够排除掉一半的数据,查找的效率非常高,但是局限性比较大,必须是有序的序列才可以使用二分法查找 要求:查找的序列必须是有序序列 下面是一个二分法的例子: ...
分类:
编程语言 时间:
2018-08-15 21:37:19
阅读次数:
141
一、lambda匿名函数 为了解决一些简单的需求而设计的一句话函数,如下示例: lambda表示的是匿名函数,不需要用def来声明,一句话就可以声明出一个函数,语法如下: 函数名 = lambda 参数 : 返回值 注意: 1,函数的参数可以有多个,多个参数之间用逗号隔开; 2,匿名函数不管多复杂, ...
分类:
其他好文 时间:
2018-08-15 20:35:04
阅读次数:
160
一.递归 1.递归的定义:在函数中调用函数本身,就是递归. 在python中,递归的最大深度是1000,但是不会到1000,在这之前就会给你报错. 遍历D:/sylar文件夹,打印出所有的文件盒普通文件的文件名 二.二分法 定义:二分查找,每次能够排除掉一半的数据,查找的效率很高,但是必须是有序序列 ...
分类:
编程语言 时间:
2018-08-15 20:32:46
阅读次数:
152
二分法 # 递归 lst = [2, 3, 5, 10, 15, 16, 18, 22, 26, 30, 32, 35, 41, 42, 43, 55, 56, 66, 67, 69, 72, 76, 82, 83, 88] def func(num, left, right): if left < ...
分类:
其他好文 时间:
2018-08-15 19:34:29
阅读次数:
164
递归是什么 递归是一种函数的类型,以类似于首尾相连的贪吃蛇的模式执行. 注意,上条代码中为什么执行998次呢 我们可以通过sys模块来进行查看默认最大执行次数,同时 sys.setrecursionlimit() 也能进行更改. 关于二分法 二分法是一种查找的方法,把传统的逐一查找优化, 原理是把一 ...
分类:
编程语言 时间:
2018-08-15 18:38:31
阅读次数:
134
二分法 每次能够排除掉一半的数据. 查找的效率非常高. 但是局限性比较大. 必须是有序列列才可以使用二分查找 核心: 掐头去尾取中间. 一次砍一半 两种算法: 常规循环, 递归循环 常规循环 递归循环 ...
分类:
其他好文 时间:
2018-08-15 18:34:43
阅读次数:
159
一 匿名函数(lamda) 为及解决简单的一些需求而设计的一句话函数 注意 函数 的参数可以有多个,多个参数之间用逗号,隔开. 匿名函数不管有多复杂,只能写一行,且逻辑结束后直接返回数据 返回值和正常的数据一样,可以是任意数据类型 小注意点 二,sorted函数 (有返回值) 排序函数 sorted ...
分类:
其他好文 时间:
2018-08-15 18:33:03
阅读次数:
163
递归深度在1000以内,快到1000就会停止. 二分法: 1.只能处理有序数据 2.数据时是通过索引处理的 3通过第一个索引位置和最后一位索引位置找到中间索引,然后判断中间索引的大小,大往右移一位做第一个索引,小往左移一位做最后一位索引,不断循环直到第一个索引的值大于最后一位索引的值. ...
分类:
其他好文 时间:
2018-08-15 17:43:58
阅读次数:
140
快排和二分查找都基于一种叫做「分治」的算法思想,通过对数据进行分类处理,不断降低数量级,实现O(logN)(对数级别,比O(n)这种线性复杂度更低的一种,快排核心是二分法的O(logN),实际复杂度为O(N*logN))的复杂度。 快速排序 快排大概的流程是: 二分查找 二分查找法主要是解决「在一堆 ...
分类:
编程语言 时间:
2018-08-14 15:41:39
阅读次数:
303