黑马 Python 数据结构与算法第一章

article/2025/10/28 10:28:22

背景知识

 

1.数组是一种线性表结构,其用一块连续的内存空间,来存储一组具有相同类型的数据;
2.时间复杂度,也叫做渐进时间复杂度,通常用大O公式书写,表示代码的执行时间随数据规模增长的变化趋势,而非真正的执行时间。因此大O关注的是变化趋势。

常见的时间复杂度高低排序:
O(1)<O(logn)<O(n)<O(nlogn)<O(n²)<O(n²logn)<O(n³)<O(2ⁿ)<O(n!)<O(nⁿ)

list内置操作的时间复杂度:

列表相加

append  n

extend

列表生成式

range生成

# ('concat ', 1.7890608310699463, 'seconds')
# ('append ', 0.13796091079711914, 'seconds')
# ('comprehension ', 0.05671119689941406, 'seconds')
# ('list range ', 0.014147043228149414, 'seconds')

都是考虑最坏情况:例如需要指定位置pop可能为Pop(0),也有可能是pop(n-1),所以为O(n)

O(k): k = y - x 其实是常数

删除:需要把后面的元素往前移

列表设置切片:n+k ,切片+移动元素

需要记住的:

O(1):索引,队尾添加(index,append,尾部pop)

O(n):任意位置弹出、插入,查找(任意位置pop,insert)

        通过分析可以发现,列表不太适合做元素的遍历、删除、插入(insert)等操作,对应的时间复杂度为O(n);访问某个索引的元素、尾部添加元素或删除元素这些操作比较适合做,对应的时间复杂度为O(1)。

数据结构

特定的数据结构和始于用他的方法叫做抽象数据类型;

规定数据怎样保存 —— 这些数据支持哪些操作,先把接口定义出来(先不管操作具体怎么实现)

tips:

timeit模块:

timeit模块可以用来测试一小段Python代码的执行速度

from timeit import Timert1 = Timer("test1()", "from __main__ import test1")## stmt参数:'test()'是要测试的代码语句(statment)## setup:"from __main__ import test1" 是运行代码时需要的设置;## timer参数是一个定时器函数,与平台有关。print("concat ",t1.timeit(number=1000), "seconds")

​​​​​​​


http://chatgpt.dhexx.cn/article/OLDM6hFm.shtml

相关文章

黑马程序员 python 数据分析 代码_2020年最新版 5.0程序员 黑马python人工智能数据分析机器学习软件测试全栈开发...

阶段一: 5.0课程资料 收起 第一章: 1-Python基础语法v5.0 第二章: 2-面向对象编程v5.0 第三章: 3-linux命令v5.0 第四章: 4-多任务编程v5.0 第五章: 5-web服务器v5.0 第六章: 6-web前端开发基础v5.0 第七章: 7-MySQL数据库v5.0 第八章: 8-mini-web框架v5.0 第九章: 9-django框架…

黑马python培训视频网盘下载

前几天看到朋友老周发了个朋友圈&#xff0c;我心态立马炸了&#xff1a; 好家伙&#xff01;竟然有钱入手五位数的最新款手机&#xff0c;这也太酸了吧&#xff01; 可他不是整天哭穷么&#xff0c;哪来这么多钱&#xff1f;我的内心充满了疑惑。 趁着昨天他来我家&#xff0c…

上海黑马python培训

过去的2017年这一年&#xff0c;Python 开发者在全球快速增长&#xff0c;国内小伙伴学习 Python 的热情一路高涨。同时&#xff0c;Python 成为大量开发者推荐的入门编程语言和第二编程语言。2017年12月&#xff0c;Python 在 TIOBE 全球编程语言年度排行榜上升至第四&#xf…

黑马Python笔记4

命名的时候宜严格按照要求&#xff0c;不易出现空格宜使用_ 调用函数时&#xff0c;创建新项目的时候选择新窗口&#xff0c;否则出错。 定义函数的格式 def 函数名&#xff08;&#xff09;&#xff1a;函数的命名字母数字下划线 … 调用函数:函数名&#xff08;&#xff09; …

python黑马学习

python的自述 能做什么 1.抢火车票 2.数据分析 3.开发网站 4.开发游戏 发展定位 web全栈开发方向 掌握技术 前端开发 数据库管理 后台框架 职业方向 web全栈开发工程师 数据科学方向 人工智能方向&#xff0c;机器学习 人工智能方向&#xff0c;深度学习 等等…

黑马程序员最新Python教程——第一阶段(1)

黑马程序员最新Python教程——第一阶段&#xff08;1&#xff09; Python导学 第一阶段——第一章01-初识Python02-什么是编程语言03-Python环境安装04-Python环境安装&#xff08;macOS&#xff09;05-Python环境安装&#xff08;Linux&#xff09;06-第一个Python程序-Hello …

黑马 python课程笔记1——值类型、数据类型、字符串

目录 字面量 常用的值类型 字符串 注释 变量 数据类型 数据类型转换 标识符 运算符 字符串的拓展 字符串的三种定义 字符串的拼接 字符串格式化 格式化的精度控制 表达式格式化 字面量 字面量&#xff1a;在代码中&#xff0c;被写下来的固定的值&#xff0c;称之为字面量。 常…

2022黑马Python学习笔记

一、导学 Pthon语言基础入门 Pthon语言高阶加强大数据分析PySpark 二、 初识Python 你好Python程序 print("Hello World!!")>>Hello World!!&#xff01;输入的双引号和括号为英文字符 三、 Python基础语法 &#xff08;一&#xff09; 字面量 1. 定义&a…

Matlab之数据归一化函数——mapminmax()

归一化化就是要把你需要处理的数据经过处理后&#xff08;通过某种算法&#xff09;限制在你需要的一定范围内。首先归一化是为了后面数据处理的方便&#xff0c;其次是保证程序运行时收敛加快。 mapminmax函数 这个函数可以把矩阵的每一行归一到[-1 1]. [y1,PS] mapminmax(x…

mapminmax()、zscore()数据归一化

mapminmax 介绍&#xff1a; mapminmax()函数是Matlab自带的函数&#xff0c;主要用来对数据进行归一化处理。它把所有的数据都转换为[-1,1]之间的数&#xff0c;目的就是取消各维数据间的数量别差别&#xff0c;防止大数吃小数。 矩阵归一化&#xff1a; Ymapminmax(…

数据归一化 normlization.m 及 Z-score(bsxfun)与mapminmax区分

对归一化和标准化有疑惑&#xff0c;整理了Z-score和mapminmax的用法区分&#xff0c;参考链接放在文末。 function data normlization(data, choose) 数据归一化函数可以包含&#xff1a;不归一化&#xff0c;z-score标准化&#xff0c;最大最小归一化 function data nor…

数据归一化mapminmax

#数据归一化 1、为什么要归一化&#xff1f; 把有量纲表达式变为无量纲表达式&#xff0c;数据的标准化是将数据按比例缩放&#xff0c;使之落入一个小的特定区间。归一化主要是为了数据处理方便提出来的&#xff0c;把数据映射到 0 &#xff5e; 1 范围之内处理&#xff0c;更…

2021-05-09 matlab归一化和反归一化函数——mapminmax

matlab归一化和反归一化函数——mapminmax 在做BP神经网络的时候经常会遇到数据的归一化&#xff0c;这个时候需要用到mapminmax函数&#xff0c;老版本可以用premnmx和tramnmx 用函数mapminmax1 默认的map范围是[-1, 1]&#xff0c;所以如果需要[0, 1]&#xff0c;则按这样的…

matlab数据归一化函数mapminmax

mapminmax 一、[Y,PS] mapminmax(X) 函数功能&#xff1a;将矩阵的每一行压缩到 [-1,1]&#xff0c;其中当前行的最大值变为1&#xff0c;最小值变为-1 。&#xff08;这是默认的参数&#xff09; 扩展&#xff1a;&#xff08;修改参数&#xff09; 1. [Y,PS] mapminmax(…

JavaScript基础(一)常见的输出语句

JavaScript 可以通过不同的方式来输出数据&#xff1a; 1.使用alert() 弹出警告框。 2.使用 document.write() 方法将内容写到 HTML 文档中。 3.使用 innerHTML 写入到 HTML 元素。 4.使用 console.log() 写入到浏览器的控制台。 1.使用 window.alert()的使用&#xff1a; 这是…

JavaScript基础语法(输出语句)

JavaScript基础语法&#xff08;输出语句&#xff09; 学习路线&#xff1a;JavaScript基础语法&#xff08;输出语句&#xff09;->JavaScript基础语法&#xff08;变量&#xff09;->JavaScript基础语法&#xff08;数据类型&#xff09;->JavaScript基础语法&…

渣渣学javascript基础:输入输出语句

一.输出语句 document.write("xxxx") 使用js语句向与页面中插入&#xff0c;可以是一串字符&#xff0c;也可以是dom元素 // 页面输出document.write("没有人任何dom元素&#xff0c;单纯是一句话")document.write("<h1>dom元素</h1>&q…

JavaScript的三种基础的输出语句

第一种方法是弹出警告框&#xff1a;alert() alert() 方法用于显示带有一条 指定消息 和一个 确定 按钮的警告框。主要的用法就是 alert(指定信息); 指定信息可以是一串字符串&#xff0c;也可以是运算式&#xff0c;同样也可以是一个函数。 当放入的是字符串时&#xff0c;需…

JS学习01:JS输出语句

说明&#xff1a; 方法说明归属alert(msg)浏览器弹出警示框浏览器console.log(msg)浏览器控制台打印输出信息浏览器prompt(info)浏览器弹出输入框&#xff0c;用户可以输入浏览器 演示效果&#xff1a; 代码&#xff1a; <script>// 浏览器弹出警示框 &#xff08;弹框…

JavaScript之输入输出语句

JavaScript输入输出语句 1、prompt(info) 浏览器弹出输入框&#xff0c;用户可以输入 &#xff08;归属&#xff1a;浏览器&#xff09;2、alert(msg) 浏览器弹出警示框 &#xff08;归属&#xff1a;浏览器&#xff09;3、console.log(msg) 浏览器控制台打印输出信息 &#…