为了账号安全,请及时绑定邮箱和手机立即绑定

python 算法

标签:
Python

算法的复杂度

算法的时间复杂度是指算法需要消耗的时间资源
时间复杂度用“O(数量级)”来表示
常见的时间复杂度有:
O(1)常数阶; 问题规模越大效率越高,时间不变, a = [1,2,3]    a[0]=1,a增加无影响

O(log2n)对数阶:问题规模越大效率越高,时间增加慢,

O(n):线性阶,时间随数据规模增加,线性增加,时间增加正常 , 例子:for i in range(n)

O(n2):平方阶,时间随数据规模增加,指数增加,时间增加快 ,for i in range(n): for j in range(i):........

n代表问题规模
算法中花费的时间与算法中语句的执行次数成正比

空间复杂度 S(n)

一个程序的空间复杂度是指:运行完一个程序所需要内存的大小

数据交换
三个数排序
a=11, b=9, c=8   临时变量t

[root@133 ~]# vim change.py      

#!/usr/bin/python


def swap(a,b,c):

    if  a > b:

        t = a

        a = b

        b = t

    if  a > c:

        t = a

        a = c

        c = t

    if  b > c:

        t = b

        b = c

        c = t

    print  a,b,c

if name == 'main':

swap(11,9,8)

例子2:list A全部为0,修改部分列表元素为1,手动输入5个元素,打印出元素为0的元素位置

python 算法


python 算法

[root@133 ~]# vim key.py   

#!/usr/bin/python

#encoding:utf8

def key():

    a = []

    for i in  range(10):

        a.append(0)   #a=[0,0,0,0,0,0,0,0,0,0]

    for i in range(5):

        input = int(raw_input("Please input a num:")) #手动输入需要修改为1的列表元素

        a[input] = 1 # a[4]=1

    for i in range(len(a)):

        if a[i] == 0:

            print i


if __name__ == '__main__':

    key()

~                      


[root@133 ~]# python key.py

Please input a num:1

Please input a num:2

Please input a num:3

Please input a num:4

Please input a num:5

0

6

7

8

9

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消