Python数据结构与算法的示例分析

发布时间:2021-12-18 10:18:34 作者:小新
来源:亿速云 阅读:153

这篇文章主要为大家展示了“Python数据结构与算法的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Python数据结构与算法的示例分析”这篇文章吧。


抽象概念
     
过程:控制结构——顺序、分支、循环数据结构:数据类型与数据间关系
计算资源      
计算资源的判别有两种来源:
  1. 内存资源和存储空间(不采用):这两者数据不容易获取
  2. 算法执行时间(不采用):受环境因素影响较大,同一程序不同环境运行时间不同
利用占用的空间资源:不好判别利用消耗的时间:受环境因素影响太大

大O表示法(衡量算法效率)      
赋值语句越多,算法的运行时间越多,效率越低
T(n) = n + 1:主导部分为n,1可以忽略,则大O表示法为O(n)T(m) = ㎡ + m + 1:主导部分为㎡,影响力最大,则大O表示法为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
指数

Python数据结构与算法的示例分析


例子2:计算算法效率
     
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次
     
  • 函数赋值语句数量:f(n) = 3 + 3n^2 + 2n + 1= 3n^2+2n+4

  • 问题规模:n^2

  • 算法效率:O(n^2)


以上是“Python数据结构与算法的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

推荐阅读:
  1. python算法与数据结构之冒泡排序的示例分析
  2. Python中数据结构和算法的示例分析

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

python

上一篇:java中TestNG使用是怎样的

下一篇:如何进行springboot配置templates直接访问的实现

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》