数据结构与算法---第一天

算法引入

在这里插入图片描述
在这里插入图片描述

方法1–效率低

在这里插入图片描述
在这里插入图片描述
算法:面对问题时,将我们的思路用计算机程序在这里插入图片描述写出来,告诉计算机怎么做,如何让计算机运行将题解答出来,这种思路解决方法就是算法。即计算的方法。
在这里插入图片描述

方法2

固定a与b后,c就确定了,所以可以将代码改进。
在这里插入图片描述
解决同一问题方法有多种算法,算法之间是有差别的。

算法效率衡量

在这里插入图片描述

时间复杂度

在这里插入图片描述
当两个程序执行效率不同时候,说明这两段程序基本运算数量是不同的。
在这里插入图片描述
程序运行总时间=基本运算数量乘以每个基本运算所用时间。即时间复杂度就是描述算法时间上的效率的。
在这里插入图片描述
算法是解决问题的思想,思想具备通用性,即体现在n上。
在这里插入图片描述
在这里插入图片描述
系数不影响走势,一般决定于n即可。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
大O表示法就是n的三次方。
在这里插入图片描述

最坏时间复杂度与计算规则

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
即需要判断这个算法对于数据处理时候最理想的状况,即就是排好序的数据。以及最坏的状况,即无序要经过多次排序步骤才可以完成排序。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
基本操作就是代表执行了一步。即O(1);
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

常见时间复杂度

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

python中代码执行时间测量模块timeit

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Python列表类型不同操作的时间效率

在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
而extend必须添加为一个列表,或者可迭代对象。
在这里插入图片描述
在这里插入图片描述
往队尾添加比队首快。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Python列表与字典操作的时间复杂度

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

数据结构引入

在这里插入图片描述
在这里插入图片描述
算法主要关注解决问题的思想与步骤,并不关心所处理的数据。数据结构就是在于已知一堆数据,如何能将他们组合起来。
在这里插入图片描述
在这里插入图片描述
即处理数据时候,数据的存储方式用什么保存,即最后的算法去查找时候就与这个有关。数据保存方式不同,最后通过算法查找如学生信息时候所用算法就不同,即对应数据复杂度也就不同。即数据与算法是分不开的。即对于一种数据到低用什么方式组织,是列表还是字典组织方式,即数据的组织方式不同,即数据结构不同,即一种数据如何保存,且保存形式是怎么样的,这就是数据结构。
在这里插入图片描述
在这里插入图片描述
当有一堆数据时候,这里边数据每个都应该是基本元素组成的,当将这些基本数据放在一起,如何组织时候,就是数据结构了。列表与字典已经是一种基本存储形式了,列表可以存储整形,浮点型,已经是一种基本数据的组合了,所以python中字典,列表,元组已经是python封装的一种高级数据结构形式了。即数据结构就是对基本数据类型的一种封装。
在这里插入图片描述
算法关注解决问题的思路,而数据结构关注算法所处理的数据到底是一种什么组织形式。
把原有的基本数据,与数据所支持的操作放在一起,形成整体,就是抽象数据类型。有一种面向对象感觉。
在这里插入图片描述
将新数据结构与其所支持的方法放在一起。就是抽象数据结构了。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值