喧啸

导航

数据结构+算法篇

简单的概念

计算机科学

  对问题、解决问题以及解决问题的过程中产生的解决方案的研究。

时间复杂度

  • 量化算法执行的操作/执行步骤的数量;
  • 最重要的项;
  • 时间复杂度通常用 O( ) 来表示;

常见的时间复杂度:O(1) < O(logn) < O(n) < O(n logn) < O(n2) < O(n3) < O(2n) < O(n!) < O(nn)

一个简单的例子:创建列表,分析运行速率

  1. 介绍一个模块timeit模块:该模块可以用来测试一段python代码的执行速度/时长。
  2. 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)

数据结构

  对数据的组织方式称为数据结构。

算法

  算法是为了解决实际问题而设计的方法。

算法是为了解决实际问题而设计的,数据结构是算法需要处理问题的载体。

 

posted on 2020-09-14 18:06  喧啸  阅读(53)  评论(0编辑  收藏  举报