软考17-上午题-时间复杂度与空间复杂度

一、数据结构概述

  • 题号:57~65
  • 分值:9分
  • 内容:数据结构(大头)+算法

二、时间、空间复杂度

2-1、时间复杂度

算法的时间复杂度以算法中基本操作的执行次数为度量。用大O表示法。

2-1-1、常见的时间复杂度

软考17-上午题-时间复杂度与空间复杂度_第1张图片

示例:

T(n) = (2n + 3) * (3*n*n + 4)

= n * n^2

=O(n^3)

示例1:

软考17-上午题-时间复杂度与空间复杂度_第2张图片

示例2:

软考17-上午题-时间复杂度与空间复杂度_第3张图片

示例3:

示例4:

软考17-上午题-时间复杂度与空间复杂度_第4张图片

示例5:

软考17-上午题-时间复杂度与空间复杂度_第5张图片

示例6:

软考17-上午题-时间复杂度与空间复杂度_第6张图片

2-1-2、时间复杂度分类

  • 最好时间复杂度
  • 平均时间复杂度
  • 最坏时间复杂度

2-2、空间复杂度

执行算法时所使用的临时变量所占用内存空间的大小,同时间复杂度一样,用大O表示法。

目的:用于判断算法的优劣。

(在时间复杂度相同的情况下,空间复杂度越小越好) 

2-2-1、常见的空间复杂度种类

软考17-上午题-时间复杂度与空间复杂度_第7张图片

示例1:

软考17-上午题-时间复杂度与空间复杂度_第8张图片

常数空间:O(1) 

示例2:一维数组

软考17-上午题-时间复杂度与空间复杂度_第9张图片

线性空间:O(n) 

示例3:二维数组

软考17-上午题-时间复杂度与空间复杂度_第10张图片

二维空间:O(n^2) 

2-3、真题

真题1:

软考17-上午题-时间复杂度与空间复杂度_第11张图片

真题2:

软考17-上午题-时间复杂度与空间复杂度_第12张图片

软考17-上午题-时间复杂度与空间复杂度_第13张图片

软考17-上午题-时间复杂度与空间复杂度_第14张图片

真题3:

软考17-上午题-时间复杂度与空间复杂度_第15张图片

真题4:

软考17-上午题-时间复杂度与空间复杂度_第16张图片

三、渐进符号

软考17-上午题-时间复杂度与空间复杂度_第17张图片

示例:

软考17-上午题-时间复杂度与空间复杂度_第18张图片

软考17-上午题-时间复杂度与空间复杂度_第19张图片

示例:

软考17-上午题-时间复杂度与空间复杂度_第20张图片

软考17-上午题-时间复杂度与空间复杂度_第21张图片

示例:

软考17-上午题-时间复杂度与空间复杂度_第22张图片

软考17-上午题-时间复杂度与空间复杂度_第23张图片

真题:

软考17-上午题-时间复杂度与空间复杂度_第24张图片

四、递归式 

示例:阶层的算法

软考17-上午题-时间复杂度与空间复杂度_第25张图片

递归就是自己调用自己。 

4-1、递归的时间复杂度

递归算法的时间复杂度:递归总次数 * 每次递归中基本操作所执行的次数;

递归算法的空间复杂度:递归深度N * 每次递归所要的辅助空间;

如果每次递归所需的辅助空间是常数,则递归的空间复杂度是 O(N). 

示例:

软考17-上午题-时间复杂度与空间复杂度_第26张图片

n/2 = 1的时候,退出递归,设递归次数是x,则n / (2^x) = 1 

4-2、主观法 (主定理)

软考17-上午题-时间复杂度与空间复杂度_第27张图片

软考17-上午题-时间复杂度与空间复杂度_第28张图片

软考17-上午题-时间复杂度与空间复杂度_第29张图片

 

4-2-1、真题

真题1:

软考17-上午题-时间复杂度与空间复杂度_第30张图片

软考17-上午题-时间复杂度与空间复杂度_第31张图片 

等差数列 

真题2:

软考17-上午题-时间复杂度与空间复杂度_第32张图片 

真题3:

软考17-上午题-时间复杂度与空间复杂度_第33张图片

真题4:

软考17-上午题-时间复杂度与空间复杂度_第34张图片 

真题5:

软考17-上午题-时间复杂度与空间复杂度_第35张图片 软考17-上午题-时间复杂度与空间复杂度_第36张图片

问题规模增加了16倍,即设n=16,所以,16^2 = 256 

真题6:

软考17-上午题-时间复杂度与空间复杂度_第37张图片 

你可能感兴趣的:(学习,笔记)