数据结构与算法

时间复杂度与“大O记法”:
“大O记法”:对于单调的整数函数f,如果存在个整数函数g和实常
数c>0, 使得对于充分的n总有f(n)<=c*g(n),就说函数g是f的个
渐近函数(忽略 常数),记为f(n)=O(g(n))。也就是说,在趋向无穷
的极限意义下,函数f的 增长速度受到函数g的约束,亦即函数f与函
数g的特征相似。 时间复杂度:假设存在函数g,使得算法A处理规模
为n的问题示例所用途时间 为T(n)=O(g(n)),则称O(g(n))为算法A的
渐近时间复杂度,简称时间复杂 度,记为T(n )
算法完成工作最少需要多少基本操作,即最优时间复杂度 。
算法完成工作最多需要多少基本操作,即最坏时间复杂度 。
算法完成工作平均需要多少基本操作,即平均时间复杂度。
我们主要关注算法的最坏情况,亦即最坏时间复杂度。
算法的时间复杂度和空间复杂度合称为算法的复杂度。
常见时间复杂度:
在这里插入图片描述

timeit模块
timeit模块可以用来测试一小段段Python代码的执行速度。
class timeit.Timer(stmt=‘pass’ , setup=‘pass’ , timer
Timer是测量一小段段代码执行速度的类。 stmt参数是要测试的代码
语句(statment); setup参数是运行代码时需要的设置; timer参
数是一个定时器函数,与平台有关。
list内置操作的时间复杂度:
在这里插入图片描述
内置操作的时间复杂度:
在这里插入图片描述

数据结构:

程序 = 数据结构 + 算法
顺序表:将元素顺序地存放在一块连续的存储区里,元素间的顺序关
系 由它们的存储顺序自然表示。
链表:将元素存放在通过链接构造起来的一系列存储块中。
在这里插入图片描述
在这里插入图片描述
指定位置添加元素
在这里插入图片描述
删除元素:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
栈:
在这里插入图片描述
在这里插入图片描述
冒泡排序:
在这里插入图片描述
选择排序:
在这里插入图片描述
在这里插入图片描述
插入排序:
在这里插入图片描述
快速排序:
在这里插入图片描述
在这里插入图片描述
希尔排序:
在这里插入图片描述
归并排序;
在这里插入图片描述
在这里插入图片描述

二分法查找:

非递归实现
在这里插入图片描述
在这里插入图片描述

树与树算法:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
二叉树的节点表示以及树的创建
在这里插入图片描述

*二叉树的遍历

深度优先遍历
在这里插入图片描述
在这里插入图片描述
广度优先遍历(层次遍历)
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值