这篇文章主要为大家展示了“Python数据结构与算法的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Python数据结构与算法的示例分析”这篇文章吧。
- 程序设计语言为算法的实现提供了: 过程 和 数据结构
过程:控制结构——顺序、分支、循环数据结构:数据类型与数据间关系
- 内存资源和存储空间(不采用):这两者数据不容易获取
- 算法执行时间(不采用):受环境因素影响较大,同一程序不同环境运行时间不同
利用占用的空间资源:不好判别利用消耗的时间:受环境因素影响太大
↓
- 算法时间衡量指标:一个算法所实施的 操作数量/步骤数量
- 一条赋值语句包含了 表达式 和 变量存储两个基本资源
- 大O表示法:等于T(n)中的主导部分,代表变化的强度
T(n) = n + 1:主导部分为n,1可以忽略,则大O表示法为O(n)T(m) = ㎡ + m + 1:主导部分为㎡,影响力最大,则大O表示法为O(㎡)
def sum(n): """求和函数""" theSum = 0 # 赋值语句1次 for i in range(1, n+1): # 赋值语句 n*1 次 theSum += 1 # 赋值语句1次 return theSum
函数赋值语句数量:f(n) = n + 1
求和问题的规模:n
数量级函数:T(n) = n + 1
算法效率(大O):O(n)
常见的大O数量级函数
|
O(T(n))
|
|
1 | 常数 |
log(n)
| 对数,以2为底 |
n
| 线性关系
|
nlog(n)
| 线性对数,以2为底 |
n**2
| 平方 |
n***3
| 立方 |
2^n
| 指数
|

a = 5 # 赋值语句1次
b = 6 # 赋值语句1次
c = 10 # 赋值语句1次
for i in range(n): # 赋值语句 n*n*3
for j in range(n):
x = i*i
y = j*j
z = i*j
for k in range(n): # 赋值语句n*2
w = a*k + 45
v = b*b
d = 33 # 赋值语句1次
以上是“Python数据结构与算法的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注天达云行业资讯频道!