典型算法时间复杂度分析.docxVIP

  • 0
  • 0
  • 约3.87千字
  • 约 8页
  • 2026-01-25 发布于天津
  • 举报

典型算法时间复杂度分析

考试时间:______分钟总分:______分姓名:______

一、单项选择题

1.下列哪个函数的时间复杂度是O(1)?

A.访问数组中索引为i的元素

B.计算两个整数的和

C.对一个有序数组进行二分查找

D.对一个无序数组进行冒泡排序

2.下列哪个函数的时间复杂度是O(n)?

A.访问链表中索引为i的元素

B.计算一个数组所有元素的和

C.对一个有序数组进行二分查找

D.对一个无序数组进行快速排序

3.下列哪个函数的时间复杂度是O(logn)?

A.访问数组中索引为i的元素

B.计算两个整数的乘积

C.对一个有序数组进行二分查找

D.对一个无序数组进行冒泡排序

4.下列哪个函数的时间复杂度是O(n^2)?

A.访问数组中索引为i的元素

B.计算一个数组所有元素的和

C.对一个无序数组进行快速排序

D.对一个无序数组进行冒泡排序

5.下列哪个函数的时间复杂度是O(nlogn)?

A.访问数组中索引为i的元素

B.计算一个数组所有元素的和

C.对一个无序数组进行快速排序

D.对一个无序数组进行归并排序

6.下列哪个函数的时间复杂度是O(2^n)?

A.访问数组中索引为i的元素

B.计算一个数组所有元素的和

C.对一个无序数组进行快速排序

D.计算斐波那契数列第n个数(递归实现)

7.下列哪个函数的时间复杂度是O(n!)?

A.访问数组中索引为i的元素

B.计算一个数组所有元素的和

C.对一个无序数组进行快速排序

D.计算旅行商问题的最优路径(暴力枚举)

二、多项选择题

1.下列哪些函数的时间复杂度是O(1)?

A.访问数组中索引为i的元素

B.计算两个整数的和

C.访问哈希表中的元素(假设哈希函数良好)

D.计算一个常数的值

2.下列哪些函数的时间复杂度是O(n)?

A.访问链表中索引为i的元素

B.计算一个数组所有元素的和

C.对一个有序数组进行二分查找

D.遍历一个具有n个节点的单链表

3.下列哪些函数的时间复杂度是O(logn)?

A.访问数组中索引为i的元素

B.计算两个整数的乘积(使用快速乘法算法)

C.对一个有序数组进行二分查找

D.对一个具有n个节点的二叉搜索树进行查找(平衡树)

4.下列哪些函数的时间复杂度是O(n^2)?

A.访问数组中索引为i的元素

B.计算一个数组所有元素的和

C.对一个无序数组进行冒泡排序

D.对两个各有n个元素的数组进行合并

5.下列哪些函数的时间复杂度是O(nlogn)?

A.访问数组中索引为i的元素

B.计算一个数组所有元素的和

C.对一个无序数组进行快速排序

D.对一个具有n个元素的无序数组进行归并排序

6.下列哪些函数的时间复杂度是O(2^n)?

A.访问数组中索引为i的元素

B.计算一个数组所有元素的和

C.对一个无序数组进行快速排序

D.计算斐波那契数列第n个数(递归实现,不考虑优化)

7.下列哪些函数的时间复杂度是O(n!)?

A.访问数组中索引为i的元素

B.计算一个数组所有元素的和

C.对一个无序数组进行快速排序

D.计算旅行商问题的最优路径(暴力枚举)

三、计算题

1.分析以下代码段的时间复杂度:

```python

deffunc1(n):

sum=0

foriinrange(n):

forjinrange(n):

sum+=i*j

```

2.分析以下代码段的时间复杂度:

```python

deffunc2(n):

sum=0

foriinrange(n):

sum+=i

forjinrange(n):

sum+=j

```

3.分析以下代码段的时间复杂度:

```python

deffunc3(n):

sum=0

i=1

w

文档评论(0)

1亿VIP精品文档

相关文档