python学习笔记(十一)——算法与数据结构基础(算法概述+查找算法)
来源:互联网 发布:网络运营一个月工资 编辑:程序博客网 时间:2024/04/28 19:14
#第十一章 算法与数据结构基础
#11.1 算法及其性能分析
#11.1.1 算法概述
#算法性质:输入数据、输出结果、确定性、有限性
#算法性能分析:时间性能、空间性能
#11.1.2 算法的时间复杂度分析:每条语句的执行时间*每条语句的执行次数
#11.13增长量级 O(1/log2n/n/nlog2n/n2/n3)
#11.1.4算法的空间复杂度分析
#11.2 查找算法
#11.2.1 顺序查找法
#11.2.2 二分查找法
#11.1 算法及其性能分析
#11.1.1 算法概述
#算法性质:输入数据、输出结果、确定性、有限性
#算法性能分析:时间性能、空间性能
#11.1.2 算法的时间复杂度分析:每条语句的执行时间*每条语句的执行次数
#11.13增长量级 O(1/log2n/n/nlog2n/n2/n3)
#11.1.4算法的空间复杂度分析
#11.2 查找算法
#11.2.1 顺序查找法
#11.2.2 二分查找法
#第十一章 算法与数据结构基础#11.1 算法及其性能分析#11.1.1 算法概述#算法性质:输入数据、输出结果、确定性、有限性#算法性能分析:时间性能、空间性能#11.1.2 算法的时间复杂度分析:每条语句的执行时间*每条语句的执行次数#11.13增长量级 O(1/log2n/n/nlog2n/n2/n3)#11.1.4算法的空间复杂度分析# import sys# print(sys.getsizeof(1010))#可以获得1010在系统中占用的字节数#11.2 查找算法#11.2.1 顺序查找法# def sequentialsearch(alist,item): #在列表中顺序查找特定值x# pos=0# found=False# while pos<len(alist) and not found:# if alist[pos]==item:# found=True# else:# pos+=1# return found# def main():# testlist=[1,3,33,8,37,29,32,15,5]# print(sequentialsearch(testlist,3))# print(sequentialsearch(testlist,13))# if __name__=='__main__':# main()# def max1(alist): #在列表中顺序查找最大值和最小值# pos=0# iMax=alist[0]# while pos<len(alist):# if alist[pos]>iMax:# iMax=alist[pos]# pos+=1# return iMax# def min1(alist):# iMin=alist[0]# for item in alist:# if item<iMin:# iMin=item# return iMin# def main():# testlist=[1,3,33,8,37,29,32,15,5]# print(max1(testlist))# print(min1(testlist))# if __name__=='__main__':# main()#11.2.2 二分查找法# def _binarySearch(key,a,lo,hi): #二分查找法的递归实现# if hi<=lo:return -1# mid=(lo+hi)//2# if a[mid]>key:# return _binarySearch(key,a,lo,mid)# elif a[mid]<key:# return _binarySearch(key,a,mid+1,hi)# else:# return mid# def binarySearch(key,a):# return _binarySearch(key,a,0,len(a))# def main():# a=[1,2,3,4,5,6,7,8,9]# print(binarySearch(3,a))# print(binarySearch(0,a))# if __name__=='__main__':# main()# def binarySearch(key,a): #二分查找法的非递归实现# low=0# high=len(a)-1# while low<=high:# mid=(low+high)//2# if a[mid]<key:# low=mid+1# elif a[mid]>key:# high=mid-1# else:# return mid# return -1## def main():# a=[1,2,3,4,5,6,7,8,9]# print(binarySearch(3,a))# print(binarySearch(0,a))# if __name__=='__main__':# main()#python语言提供的查找算法#1.运算符 in ”x in alist“ 测试x是否在alist内#2. 内置函数max min 查找列表的最大值最小值
阅读全文
0 0
- python学习笔记(十一)——算法与数据结构基础(算法概述+查找算法)
- python学习笔记(十二)——算法与数据结构基础(排序算法)
- 数据结构与算法(二分查找算法)
- 数据结构与算法学习笔记——基础入门
- 【算法】数据结构与算法分析学习笔记——各类二叉查找树的吐血整理
- 算法与数据结构学习笔记——python实现栈
- python学习笔记(二)数据结构与算法
- 算法学习笔记(一)——算法概述
- 基于 Python 的数据结构与算法分析学习记录(6-11)—— 二叉查找树与操作
- Python 数据结构与算法——选取算法(TopK)
- 854计算机基础——《数据结构与算法》考点汇总(一) 查找
- 数据结构基础 查找算法(一)
- 数据结构学习笔记(一):数组及查找算法
- 数据结构与算法(Python)
- 数据结构与算法——二分查找(C语言)
- 数据结构与算法(28)——查找
- 数据结构与算法 基础概述 入门必备!
- 数据结构和算法学习(1)-概述
- 06-图2 Saving James Bond
- 文件
- udp通讯中的connect()和bind()函数
- SpringBoot快速启动和建立统一父pom
- Retrofit基础操作
- python学习笔记(十一)——算法与数据结构基础(算法概述+查找算法)
- 第十周项目一验证算法 (1)层次遍历算法的验证
- opencv(c++)离散傅立叶变换
- 菱形继承
- BigDecimal类setScale方法问题:算数异常,精确度丢失-ArithmeticException: Rounding necessary
- 微信支付集成
- 经典排序算法
- java面试总结-3 mybatis
- 机器学习信仰之决策树