python中顺序查找分析和实现
顺序查找算法是一种很基本的查找算法,该算法的复杂度一般是最大是O(n),假如加上顺序查找,算法的复杂度
还要降一倍,为O(n/2)。
Python的代码实现如下所示:
def sequential_search(a_list,item):
pos = 0
found = False while pos < len(a_list) and not found:
if a_list[pos] == item:
found = True
else:
pos = pos + 1 print("pos:%d"%pos) return found def ordered_sequential_search(a_list,item):
pos = 0
found = False
stop = False while pos < len(a_list) and not found and not stop:
if a_list[pos] == item:
found = True
else:
if a_list[pos] > item:
stop = True
else:
pos = pos + 1
print("pos:%d" % pos)
return found test_list = [1,2,8,13,17,19,32,43,0]
test_lista = [15,18,2,19,18,0,8,14,19,14]
test_listb = [3,5,6,8,11,12,14,15,17,18]
print(sequential_search(test_lista,18))
print(sequential_search(test_lista,13))
print(ordered_sequential_search(test_list,3))
print(ordered_sequential_search(test_listb,13))
运算结果:
pos:1
True
pos:10
False
pos:2
False
pos:6
False
python中顺序查找分析和实现的更多相关文章
- 《构建之法》教学笔记——Python中的效能分析与几个问题
<构建之法:现代软件工程>中第2章对效能分析进行了介绍,基于的工具是VSTS.由于我教授的学生中只有部分同学选修了C#,若采用书中例子讲解,学生可能理解起来比较困难.不过所有这些学生都学习 ...
- python中xrange用法分析
本文实例讲述了python中xrange用法.分享给大家供大家参考.具体如下: 先来看如下示例: >>> x=xrange(0,8) >>> print x xra ...
- python中实现查找字符串的find函数
第五题:自己实现一个字符串的find函数1.在一个字符串中查找另一个字符串2.找到了返回第一次出现的位置3.没找到返回-14.参数s1为源字符串,参数s2为要查找的字符串 def index_of_s ...
- python中unittest查找测试用例
将整个BeautifulReport文件夹放到site-packages目录下
- 查找->静态查找表->顺序查找(顺序表)
文字描述 顺序查找的查找过程为:从表中最后一个记录开始,逐个进行记录的关键字和给定值的比较,若某个记录的关键字和给定值比较相等,则查找成功,找到所查记录:反之,若直至第一个记录,其关键字和给定值比较都 ...
- 顺序查找(Sequential Search)
1.定义 顺序查找又叫线性查找,是最基本的查找技术. 2.基本思想 从表的一端开始(第一个或最后一个记录),顺序扫描线性表,依次将扫描到的结点关键宇和给定值K相比较.若当前扫描到的结点关键字与K相等, ...
- Java顺序查找、二分查找
Java顺序查找.二分查找 查找算法中顺序查找算是最简单的了,无论是有序的还是无序的都可以,只需要一个个对比即可,但其实效率很低. 顺序查找 动图演示 详细代码 // 顺序查找 public st ...
- Python中的MRO(方法解析顺序)[转载]
本文转载至: http://hanjianwei.com/2013/07/25/python-mro/ 对于支持继承的编程语言来说,其方法(属性)可能定义在当前类,也可能来自于基类,所以在方法调用时就 ...
- Python中的单继承与多继承实例分析
Python中的单继承与多继承实例分析 本文实例讲述了Python中的单继承与多继承.分享给大家供大家参考,具体如下: 单继承 一.介绍 Python 同样支持类的继承,如果一种语言不支持继承,类就没 ...
随机推荐
- php使用rc4加密算法
/** * rc4加密算法,解密方法直接再一次加密就是解密 * @param [type] $data 要加密的数据 * @param [type] $pwd 加密使用的key * @retur ...
- Android 常见 Memory Leak 原因及解决办法总结
待整理: http://geek.csdn.net/news/detail/50692 背景 在Android开发过程中,我们经常碰到的情况就是在我们不清楚为什么情况下,程序突然出现Crash了.其中 ...
- Python2/3中的urllib库
urllib库对照速查表 Python2.X Python3.X urllib urllib.request, urllib.error, urllib.parse urllib2 urllib.re ...
- 好好写代码吧,没事别瞎B去创业!
知乎上看到这个问题 正好最近想写篇关于此的文章,于是就回答了一波. 也贴到这里来,回答如下 : 本问题简直为我量身定制,做为一个正在创业中的苦逼少年,说说我是如何从鼓吹怂恿身边人创业转换成反对创业的. ...
- vue init失败解决方案-终极版
//由于windows系统的某方面问题,vue脚手架安装可能会出现第一证书丢失 // 报错:vue-cli · Failed to download repo vuejs-templates/webp ...
- 巧用第三方高速开发Android App 热门第三方SDK及框架
巧用第三方高速开发Android App 热门第三方SDK及框架 历经大半年的时间,最终是把这门课程给录制出来了,也就在今天,正式在慕课网上上线了 项目地址:巧用第三方高速开发Android App ...
- 10_Eclipse中演示Git冲突的解决
1 在user1中的readme.txt文件里先改动,而且commitand push 选中user1,右击team->Commit-à watermark/2/text/aHR0cDov ...
- OD调试程序经常使用断点大全
经常使用断点 拦截窗体: bp CreateWindow 创建窗体 bp CreateWindowEx(A) 创建窗体 bp ShowWindow 显示窗体 bp UpdateWindow ...
- Configuring WS-Security UsernameToken and WS-SecureConversation (Symmetric Connection Creation)
Context This procedure provides a detailed process of all necessary steps to secure Web Services wit ...
- 开源Android-PullToRefresh下拉刷新源代码分析
PullToRefresh 这个库用的是很至多.github 今天主要分析一下源代码实现. 我们通过ListView的下拉刷新进行分析.其他的类似. 整个下拉刷新 父View是LinearLayo ...