二分查找python实现代码_二分查找——Python实现
一、排序思想
二、python实现
def binarySearchDemo(arr, key):
"""
python二分查找非递归方式
:param arr:待排序列,有序集合
:param key:带查找元素
"""
low = 0
high = len(arr) - 1
while low <= high:
mid = (low + high) // 2
if key > arr[mid]:
low = mid + 1
elif key < arr[mid]:
high = mid - 1
else:
return mid
return -1
def binarySearchDemo2(arr, start, end, key):
"""
python二分查找递归方式
:param arr:待排序列,有序集合
:param start:待排序列,开始位置
:param end:待排序列,结束位置
:param key:带查找元素
"""
if start > end:
return -1
mid = (start + end) // 2
if key > arr[mid]:
return binarySearchDemo2(arr, mid + 1, end, key)
elif key < arr[mid]:
return binarySearchDemo2(arr, start, mid - 1, key)
else:
return mid
nums = [6, 12, 33, 87, 90, 97, 108, 561]
# 非递归实现
print(binarySearchDemo(nums, 90))
# 递归实现
print(binarySearchDemo2(nums, 0, len(nums) - 1, 90))
二分查找-python
约12年年底的时候,接触了python不到半年的样子,入门是直接实现GUI测试case的.今天面试地平线机器人,发现忘得差不多了- -. 当时的问题是这样的 写一个二分查找是实现,我好像不记得二分查找 ...
线性查找与二分查找(python)
# -*- coding: utf-8 -*- number_list = [0, 1, 2, 3, 4, 5, 6, 7] def linear_search(value, iterable): f ...
二分查找 python实现
欢迎回来 [^first blood]. 要求A是升序数组 递归 只能查 数据存不存在,不能返回下标 def binary_find(A, m): if len(A) == 0: return -1 ...
算法:二分查找(python版)
#!/usr/bin/env python #coding -*- utf:8 -*- #二分查找#时间复杂度O(logn)#一个时间常量O(1)将问题的规模缩小一半,则O(logn) import ...
python算法之二分查找
说明:大部分代码是在网上找到的,好几个代码思路总结出来的 通常写算法,习惯用C语言写,显得思路清晰.可是假设一旦把思路确定下来,并且又不想打草稿.想高速写下来看看效果,还是python写的比較快.也看 ...
python函数(4):递归函数及二分查找算法
人理解循环,神理解递归! 一.递归的定义 def story(): s = """ 从前有个山,山里有座庙,庙里老和尚讲故事, 讲的什么呢? ""& ...
python实现二分查找算法
二分查找算法也成为折半算法,对数搜索算法,一会中在有序数组中查找特定一个元素的搜索算法.搜索过程是从数组中间元素开始的 如果中间元素正好是要查找的元素,则搜索过程结束:如果查找的数大于中间数,则在数组 ...
Python实现二分查找
老生常谈的算法了. #!/usr/bin/python # -*- coding:utf-8 -*- # Filename: demo.py # 用python实现二分查找 def binarySea ...
python关于二分查找
楔子 如果有这样一个列表,让你从这个列表中找到66的位置,你要怎么做? l = [2,3,5,10,15,16,18,22,26,30,32,35,41,42,43,55,56,66,67,69,72 ...
随机推荐
paip.spring3 mvc servlet的配置以及使用最佳实践
paip.spring3 mvc servlet的配置以及使用最佳实践 1. Web.xml 1 2. springMVC.xml 2 1. mvcAction .mvcAction 2 2. Res ...
WPF下递归生成树形数据绑定到TreeView上
最终效果图:(用于学习类的效果 图片丑了点,看官莫怪) 新建窗体 然后在前端适当位置插入如下代码:
Java代码调用存储过程和存储方法
准备一个oracle 的JDBC jar 包:ojdbc14_11g.jar 首先找到你的 oracle 安装位置,例如: 1.创建一个JDBC数据库连接工具类: package com.test.d ...
Java Monitoring&;Troubleshooting Tools
JDK Tools and Utilities Monitoring Tools You can use the following tools to monitor JVM performance ...
二分查找python实现代码_二分查找——Python实现相关推荐
- python一行代码_一行有效python代码
完成同样的功能,尽量少写代码 伊始 今天跟大家分享几个有趣的kata,刚开始做这几个kata的时候,我也写了很长的代码才完成,随着后来对python的深入接触,发现python一些简单却十分强大的特性 ...
- 用python表白代码_程序员python表白代码
原博文 2019-06-13 17:33 − python表白代码 源代码如下: # -*- coding:utf-8 -*- import turtle import time # 画爱心的顶部 d ...
- python猪代码_猪圈密码python脚本实现
CTF比赛中,MISC题型中有时候会考到一种一种叫做"猪圈密码"(Pigpen_chiper)的简单加密方式.网上有个表可以对照地来实现解密,但是实际中太慢不符合竞速思维,于是写一 ...
- python渐变色代码_如何在Python中创建颜色渐变?
6 个答案: 答案 0 :(得分:54) 我还没有看到一个简单的答案就是使用colour package. 通过pip安装 pip install colour 如此使用: from colour i ...
- 用python表白代码_如何用Python代码向心爱的姑娘花式表白?
刚好之前用turtle 写过一个https://www.zhihu.com/video/1058809172984004608 这是我当时自学python第二天写的一个,书上讲到了一个turtle模块 ...
- python扫雷代码_谁说Python不能做游戏的?能做这些游戏,附赠所有游戏源码文件...
Python编程语言的强大,几乎是众所周知的! 不仅能用来做web.爬虫.数据分析等,没想到还能用做这么多的游戏,实在令人惊讶不已. 那么,下面我给大家介绍一下几个用Python实现的各种游戏吧. 注 ...
- python函数代码_如何显示Python函数的代码?
这有点老套,但是如果这是您经常要做的事情,您可以使用readline模块和函数修饰符.在class PrintableFunction(object): """A cla ...
- 线性查找法java代码_Java线性查找和二分查找
Java线性查找和二分查找. 一 线性查找 定义:在一列给定的值中进行搜索,从一端开始逐一检查每个元素,直到找到所需元素的过程. 线性查找又称为顺序查找.如果查找池是某种类型的一个表,比如一个数组,简 ...
- c语言求不成功查找长度的代码_哈希查找算法(C语言实现)
上一节介绍了有关哈希表及其构造过程的相关知识,本节将介绍如何利用哈希表实现查找操作.在哈希表中进行查找的操作同哈希表的构建过程类似,其具体实现思路为:对于给定的关键字 K,将其带入哈希函数中,求得与该 ...
最新文章
- Eclipse利用Maven的插件部署web项目到远程tomcat服务器
- 成功解决ModuleNotFoundError: No module named engine
- boost::compose_property_map相关的测试程序
- [密码学基础][每个信息安全博士生应该知道的52件事][Bristol52]47.什么是Fiat-Shamir变换?
- 在条码打印软件上如何选择TSC TTP-244Pro打印机
- xshell4的使用经验
- 初级电工技术实训考核装置
- 机器人焊钳选型_点焊机器人焊钳的分类及区别
- 浅谈HTML页面基本结构
- Java 微信图片上传素材管理
- 宁夏新八景[之一]:古峡新韵
- Python 鸡兔同笼
- 开机提示:one of your disks needs to be checked解决方法
- Win7(老PC)Python环境搭建实战
- Mac安装指定版本的node
- 如何將excel內容导出XML
- mongodb-18.聚合查询练习1
- 不会PS图片怎么批量调色
- linux存储群组名称的文件是,群组管理(分组,群组密码,身份切换,常见问题)- 系统管理 -Deepin深度系统用户手册...
- 代码块、if语句、if-else语句、switch语句、while循环、do-while循环、for循环——JS流程控制
热门文章
- Qt读取/写入Excel数据--QAxObject
- 荣耀笔试(8.16)
- 见证一张CAD图如何蜕变成一个高大上的三维地形模型(一)
- 论文查重是怎么查的?有什么规定?
- ( “树” 之 BST) 109. 有序链表转换二叉搜索树 ——【Leetcode每日一题】
- Golang可视化工具——go-callvis
- HTML5 基础练习题总结(一)
- element-ui表格列排序错乱问题解决方案
- AOE网与关键路径、关键路径算法
- java qq邮箱登录_SpringBoot实现QQ邮箱注册和登录