我的编程空间,编程开发者的网络收藏夹
学习永远不晚

python 算法

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

python 算法

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

python 算法

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

python 基本算法

一.无序表查找def sequential_search(lis, key):    for i in lis:        if i == key:            return lis.index(i)        else:
2023-01-31

python冒泡算法

import random#用random和range生成30个数的一个列表lis = []for i in range(10): n = random.randint(1,1000) lis.append(n)#查看原有列表p
2023-01-31

Python排序算法之堆排序算法

堆排序看字面意思是一种排序方法,那堆是什么呢?堆是一个近似完全二叉树的结构,并同时满足堆积的性质。其实堆排序是指利用堆这种数据结构所设计的一种排序算法。
2023-01-07

LeetCode算法题python解法:

英文题目:The string "PAYPALISHIRING" is written in a zigzag pattern on a given number of rows like this: (you may want to di
2023-01-30

python算法演练_One Rule 算法(详解)

这样某一个特征只有0和1两种取值,数据集有三个类别。当取0的时候,假如类别A有20个这样的个体,类别B有60个这样的个体,类别C有20个这样的个体。所以,这个特征为0时,最有可能的是类别B,但是,还是有40个个体不在B类别中,所以,将这个特
2022-06-04

dijkstra算法python实现

MAX_value = 999999def dijkstra(graph, s): # 判断图是否为空,如果为空直接退出 if graph is None: return None dist = [MAX_v
2023-01-31

LRU算法——python实现

在LeetCode上看到这么一道题:Design and implement a data structure for Least Recently Used (LRU) cache. It should support the follo
2023-01-31

python排序算法(三)

OK,又到了苦逼的周一了。快排比较复杂,花了快两天琐碎时间琢磨了感觉还不是很好,据我们老师说当年提出快排的人是在上课突然想起来的,我等只能深深膜拜了    快速排序是一种具有良好平均性能的排序方法,插入排序将控制当前插入的基准记录插入相对于
2023-01-31

python冒泡法排序算法

冒泡法排序思想:将数组中的数据两两进行比较,每次将较大的数据交换到后面,直到大数沉底,小数冒出。可以这样想:10个数据有9组成对,每比完一组,则大的数沉到后面。渐渐地,要比较的数越少,小的数则冒到最前面。 例:随机产生10个数,从小到大排序
2023-01-30

python排序算法(一)

接触python这么些日子下来,感触最深的就是有的知识是相通的,是无论编程语言的,比如说算法O(∩_∩)O~。So,今天开始用python再把之前学过的排序算法重写一遍,权当复习提升吧。    第一个是冒泡排序:def bubble(x):
2023-01-31

kmp算法python实现

kmp算法kmp算法用于字符串的模式匹配,也就是找到模式字符串在目标字符串的第一次出现的位置比如abababc那么bab在其位置1处,bc在其位置5处我们首先想到的最简单的办法就是蛮力的一个字符一个字符的匹配,但那样的时间复杂度会是O(m*
2023-01-31

python hashlib模块算法

python中的hashlib为我们提供了常见的摘要算法,如MD5、sha1那么现在问题来了,摘要算法是what?摘要算法又称哈希算法、散列算法。它指的是把任意长度的数据data,通过函数f(),转换为一个长度固定的摘要digest(通常用
2023-01-30

python实现dbscan算法

DBSCAN 算法是一种基于密度的空间聚类算法。该算法利用基于密度的聚类的概念,即要求聚类空间中的一定区域内所包含对象(点或其它空间对象)的数目不小于某一给定阀值。DBSCAN 算法的显著优点是聚类速度快且能够有效处理噪声点和发现任意形状的
2022-06-02

PageRank算法(python实现)

Python 实现的PageRank算法,纯粹使用python原生模块,没有使用numpy、scipy。这个程序实现还比较原始,可优化的地方较多。#-*- coding:utf-8 -*-import randomN = 8 #八个网
2023-01-31

遗传算法(python版)

1、基本概念遗传算法(GA)是最早由美国Holland教授提出的一种基于自然界的“适者生存,优胜劣汰”基本法则的智能搜索算法。该法则很好地诠释了生物进化的自然选择过程。遗传算法也是借鉴该基本法则,通过基于种群的思想,将问题的解通过编码的方式
2023-01-31

Python算法题----Valid P

Given a string, determine if it is a palindrome, considering only alphanumeric characters and ignoring cases.For example
2023-01-31

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录