Python教程

python 数据结构与算法 day1

本文主要是介绍python 数据结构与算法 day1,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

为什么会想着由非科班开始学python的数据结构与算法呢,起因是因为昨天看到了一道题,就是一个基于无向图(不知道是不是这么叫的)的那种,然后题里构建了一个,友谊传播模型,其实也可以称之为病毒传播模型,利用python的字典进行实现,这个时候我突然意识到,对于python 数据结构的不了解可能会给我带来很大的麻烦,于是从今天开始对python 数据结构与算法进行学习,使用的视频教材是B站 清华大学博士讲解Python数据结构与算法(完整版)全套100节

清华大学博士讲解Python数据结构与算法(完整版)全套100节_哔哩哔哩_bilibili

1. 算法

算法指一个计算过程、解决问题的方法;一种理解认为,程序=数据结构+算法,有输入有输出。

2. 时间复杂度

 

四代码哪组运行时间最短;用什么方式来体现算法运行的快慢

2.1 for 循环执行n次的话,n就是规模。

O(1) 大约 执行了一次,加减乘除打印等都叫做一个单位,时间消耗是1

O(n)这样一个循环,时间消耗定义为n

O(n)n方 

有点类似于高数中的高阶无穷小,只写能够最大化影响的阶数;也就是当N方趋向于无穷大时,N就可以忽略不计了

比如,问你你晚上一般睡几个小时,你不会回答睡几个小时几分钟,而会回答几个小时,即会将其计算成最高阶的单位来进行计算

 

2.2 时间复杂度为log N

这个循环的时间复杂度 记为 O(log2 N)或 O(logn)

当你出现循环折半的时候,复杂度就是log N

 

3. 时间复杂度的小总结

O(1)<O(log N)<O(N)

 

1.这里不是比大小,是运算效率

2.每段代码运行1次的时间,设为单位1 也就是O(1)

3.O(logn)比O(n) 运行所需的N次单位时间 少了一半

这篇关于python 数据结构与算法 day1的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!