栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python 算法

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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的元素位置


[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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/225034.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号