维护一个数据结构要满足:一个教室线性排列的座位 0 ... N 1 调用seat 入座一个距离最近学生最远的座位 调用leave x 离座一个位置为x的学生 由于N最多是 10e9 所以选择维护 学生的位置这一个有序列表 使用了 bisect.insort 作为有序列表的插入方法 使用 list.r ...
分类:
其他好文 时间:
2018-09-03 12:06:37
阅读次数:
124
Python 的列表(list)内部实现是一个数组,也就是一个线性表。在列表中查找元素可以使用 list.index() 方法,其时间复杂度为O(n)。对于大数据量,则可以用二分查找进行优化。二分查找要求对象必须有序,其基本原理如下: 1.从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜素 ...
分类:
其他好文 时间:
2018-08-28 21:14:05
阅读次数:
193
1,用bisect 来搜索,内部算法就是二分查找法,时间复杂度O(log?n) ##先看一个简单使用的例子 ##FluentPython 的例子 输出结果: 格式化字符串 官方文档介绍 2,bisect.insort() 向列表中插入值 输出: ...
分类:
其他好文 时间:
2018-08-16 13:49:58
阅读次数:
181
线搜索方法 线搜索方法的基本过程都是在每一次迭代中先计算出一个优化方向$p_k$,再在这个方向上对目标函数做一维优化,即选取合适的$\alpha_k$,使$x_{k+1}=x_k+\alpha p_k$达到优化目的。一般来说,选取$p_k= B_k^{ 1}\nabla f_k$,其中$B_k$是一 ...
分类:
其他好文 时间:
2018-07-28 19:39:57
阅读次数:
397
有两个文件,每个都有很多行ip地址,求出两个文件中相同的ip地址: ...
分类:
其他好文 时间:
2018-07-18 14:02:19
阅读次数:
401
python一个有趣的模块,bisect,感觉挺有趣,怎么有趣呢,下面来给你道来。 我们先生成一个list 打印这个list 导入 bisect 插入数据 打印data 可见插入后没有打破原来的list排序 我们再使用领一个函数 打印1 这里是打印的插入的位置。但是不会真正的插入 bisect_le ...
分类:
编程语言 时间:
2018-07-10 12:41:53
阅读次数:
137
python 3.6.5 Python 的列表(list)内部实现是一个数组,也就是一个线性表。在列表中查找元素可以使用 list.index() 方法,其时间复杂度为O(n)。对于大数据量,则可以用二分查找进行优化。二分查找要求对象必须有序,其基本原理如下: 1.从数组的中间元素开始,如果中间元素 ...
分类:
编程语言 时间:
2018-07-07 15:38:09
阅读次数:
191
#!/usr/bin/env python # -*- coding:utf-8 -*- # author:love_cat import bisect # 用来处理已经排序好的序列,升序 # 二分查找 li = [] bisect.insort(li, 3) bisect.insort(li, 1... ...
分类:
编程语言 时间:
2018-06-24 13:07:23
阅读次数:
141
git blame查看某个文件的修改记录 ?二分查找确定 bug 来源启动 ?输入 git bisect start,启动流程输入 git bisect bad,标记当前是错误的输入 git bisect good v1.0,标记已知最早无问题版本测试当前版本git 会自动切换到中间版本,测试之后,... ...
分类:
其他好文 时间:
2018-06-09 23:09:36
阅读次数:
193
array固定类型的数据序列,与list类似,只不过成员必须是相同的基本类型 array.typecodes #包含所有可用类型代码的字符串bBuhHiIlLqQfd heapq堆排序算法,堆(heap)是一种树形数据结构,其中子节点与父节点是一种有序关系。 bisect数组二等分算法,该模块支持按 ...
分类:
编程语言 时间:
2018-05-24 22:19:56
阅读次数:
310