数据结构+算法篇
简单的概念
计算机科学
对问题、解决问题以及解决问题的过程中产生的解决方案的研究。
时间复杂度
- 量化算法执行的操作/执行步骤的数量;
- 最重要的项;
- 时间复杂度通常用 O( ) 来表示;
常见的时间复杂度:O(1) < O(logn) < O(n) < O(n logn) < O(n2) < O(n3) < O(2n) < O(n!) < O(nn)
一个简单的例子:创建列表,分析运行速率
- 介绍一个模块timeit模块:该模块可以用来测试一段python代码的执行速度/时长。
- Timer类:该类是timeit模块中专门用于测量python代码的执行速度/时长。
-
-
- 原型:class timeit Timer(stmt = "pass" ,setup = ''pass'')
- stmt参数:表示即将进行测试的代码语句。
- setup:运行代码语句时所需要的设置。
- timeit函数:timeit.Timer,timeit(number = 1000),该函数返回的是代码块语句执行number 次的平均耗时。
-
1 from timeit import Timer 2 3 def test01(): 4 alist = [] 5 for i in range(1000): 6 alist.append(i) 7 return alist 8 def test02(): 9 alist = [i for i in range(1000)] 10 rerurn alist 11 def test03(): 12 alist = list(range(1000)) 13 return alist 14 def test04(): 15 alist = [] 16 for i in range(1000): 17 alist += [i] 18 19 if __name__ == '__main__':20 timer = Timer('test01()','from __main__ import test01') 21 t1 = timer.timeit(1000) 22 print(t1) 23 timer = Timer('test02()','from __main__ import test02') 24 t2 = timer.timeit(1000) 25 print(t2) 26 timer = Timer('test03()','from __main__ import test03') 27 t3 = timer.timeit(1000) 28 print(t3) 29 timer = Timer('test04()','from __main__ import test04') 30 t4 = timer.timeit(1000) 31 print(t4)
数据结构
对数据的组织方式称为数据结构。
算法
算法是为了解决实际问题而设计的方法。
算法是为了解决实际问题而设计的,数据结构是算法需要处理问题的载体。