参考教材:算法设计与分析(Python版)         作者:王秋芬

1 . 容易 (4分)2 n=O(100n ^2)

错误

2 . 容易 (3分)10=θ(log10)

正确

3 . 容易 (3分)2^n=O(3 n)

正确

4 . 容易 (3分)logn^ 2=θ(logn+5)

正确

5 . 容易 (3分)针对顺序查找算法,影响它时间复杂度的因素只有算法的输入序列()

错误

因素有:输入序列、问题规模

6 . 容易 (3分)n!的时间复杂度为O(n)

正确

7 . 容易 (3分)递归是指自己间接或直接调用自身

正确

8 . 普通 (3分)算法的基本特征有()

A. 输入

B. 输出

C. 有限性

D. 确定性

E. 可行性

9 . 普通 (3分)渐进复杂性的含义是()情况下的复杂性。

A. 在最佳输入情况下

B. 问题规模趋向于无穷

C. 在最坏输入情况下

D. 平均各种输入之后

10 . 普通 (3分)n个连续自然数a1...an连加和问题算法(利用等差数列求和公式)的输入可以是什么()。

A. a1,n

B. an,n

C. a1,an

D. a1,an,n

11 . 普通 (3分)平均时间复杂度是指()

A. 各种情况时间复杂度按概率的加权平均

B. 最好情况和最坏情况的时间复杂度的算术平均

C. 各种情况时间复杂度按概率的算术平均

D. 出现可能性最高的情况下的时间复杂度

平均时间复杂度是指各种情况时间复杂度按概率的加权平均

12 . 容易 (3分)算法的常见描述方式不包括()

A. 代码

B. 甘特图

C. 伪代码

D. 流程图

13 . 容易 (3分)算法的基本特性不包括()

A. 先进性

B. 有穷性

C. 有输入输出

D. 无二义性

算法的特性包括有输入输出,确定性(无二义性),有限性(有穷性),可行性(能行性)。

14 . 普通 (3分)阶乘问题求n!算法的时间复杂度为()。

A. n

B. n!

C. 2n

D. n^2

15 . 容易 (3分)二分搜索(二分查找)算法的时间复杂度是()。

A. n

B. logn

C. n^2

D. 2n

16 . 普通 (3分)汉诺塔问题的时间复杂度是()。

A. n!

B. 2^n

C. 2n

D. logn

17 . 容易 (3分)下述描述算法的方式采用的是算法的哪种描述方式()? 算法:gcd(m,n) 输入:非负整数m,n,其中m,n不全为0 输出:m与n的最大公约数 1.while m>0 do 2. r←n mod m 3. n ←m 4. m ←r 5.return n

A. 自然语言

B. 程序流程图

C. 伪码

D. 程序设计语言

18 . 普通 (3分)背包问题的算法设计策略是()

A. 重量小的优先装

B. 价值大的优先装

C. 单位重量价值大的优先装

D. 以上都不对

19 . 容易 (3分)调度问题的算法设计策略是()

A. 加工时间短的优先安排

B. 加工时间长的优先安排

C. 等待时间短的优先安排

D. 以上都不对

20 . 普通 (3分)n个元素的冒泡排序代码如下:

def bubble_sort(arr):for i in range(len(arr) - 1):for j in range(len(arr) - i - 1):if arr[j] > arr[j + 1]:arr[j], arr[j + 1] = arr[j + 1], arr[j]return arr

请分析算法的时间复杂度,用O表示()

A. O(1)

B. O(n)

C.

D. O(nlogn)

n-1次冒泡 第一次比较n-1次 第二次比较n-2次 ......... 最后一次比较1次 共1+2+3+......+(n-1)

学生答案

21 . 普通 (3分)百元买白鸡问题:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱买百鸡,则翁、母、雏各几何?设计一算法,则该算法的输入是()

A. 100元

B. 100只鸡

C. 各种鸡的单价

D. 无需任何输入

22 . 普通 (3分)下面算法最好情况下的时间复杂度___,最坏情况下的时间复杂度为___

def bubble_sort(nums):

for i in range(len(nums) - 1):

swap_flag = False  #改进后的冒泡,设置一个交换标志位

for j in range(len(nums) - i - 1):

if nums[j]>nums[j+1]:

nums[j],nums[j+1]=nums[j+1],nums[j]

swap_flag = True

if not swap_flag:

return nums  #若没有元素交换,则表示已经有序

return nums

O(n)、O(n^2)

23 . 普通 (3分)以下递归程序fun(5,0)输出的第一个元素是___,求解过程中最大层次为___

def fun(i,d):

if(i>1 and i%2!=0):

fun(i-i//2,d+1)

if(i>1): fun(i//2,d+1)

1、4

24 . 普通 (3分)斐波那契数列的第1项为1,第2项为2,以后每一项等于前面两项之和,则第6项为___

13

25 . 普通 (3分)冒泡排序时间复杂度是___,堆排序时间复杂度是___。

O(n^2) 、nlogn

26 . 容易 (3分)递归算法必须具备的两个条件是___和___

边界条件或停止条件、递推方程或递归方程

27 . 普通 (3分)用O表示21+1/n的阶(O(1))

O(1)

28 . 普通 (3分)用O表示10log3 n的阶()

O(n)

29 . 普通 (3分)用O表示logn 3的阶()

O(logn)

30 . 容易 (3分)用O表示

的阶___

O(2^n)

31 . 容易 (3分)用O表示3n2+10n的阶___

O(n^2)

32 . 普通 (3分)请分析选择排序算法的时间复杂度,用O表示为:___

def selection_sort(arr):

# 第一层for表示循环选择的遍数

for i in range(len(arr) - 1):

# 将起始元素设为最小元素

min_index = i

# 第二层for表示最小元素和后面的元素逐个比较

for j in range(i + 1, len(arr)):

if arr[j] < arr[min_index]:

# 如果当前元素比最小元素小,则把当前元素角标记为最小元素角标

min_index = j

# 查找一遍后将最小元素与起始元素互换

arr[min_index] , arr[i] = arr[i] , arr[min_index]

return arr

O(n^2)

33 . 普通 (3分)请分析下面算法的时间复杂度:

def bubble_sort(nums):

for i in range(len(nums) - 1):

swap_flag = False

#改进后的冒泡,设置一个交换标志位

for j in range(len(nums) - i - 1):

if nums[j]>nums[j+1]:

nums[j],nums[j+1]=nums[j+1],nums[j]

swap_flag = True

if not swap_flag:

return nums

#若没有元素交换,则表示已经有序

return nums

最好情况下,比较n-1次,时间复杂度为O(n) 最坏情况下,比较n(n-1)/2次,时间复杂度为O(n^2)

算法设计与分析(python版)-作业一相关推荐

  1. 算法设计与分析(python版)-作业三

    参考教材:算法设计与分析(Python版)         作者:王秋芬 1 . 普通 (5分)以下问题中,哪些问题的分治算法消耗的时间与输入序列无关.() A. 二分查找 B. 合并排序 C. 快速 ...

  2. 算法设计与分析第一章作业

    1.请上网了解编码规范,说明你本学期的主要编码规范. 腾讯的编码规范: 1.C++:对于C++来说,在2007年,腾讯就发布了C++编码规范,主要针对其公司的所有软件产品源代码范围的C和C++编码风格 ...

  3. 算法设计与分析第二章作业

    1. 2.时间复杂度: 划分子问题:O(1) 求解子问题:2T(2/n) 合并子问题:O(n) 时间复杂度为:T(n) = O(1) + 2T(2/n) + O(n) = O(nlogn) 3.心得与 ...

  4. 程振波 算法设计与分析_算法设计与分析

    本书按照教育部*制定的计算机科学与技术专业规范的教学大纲编写,努力与国际计算机学科的教学要求接轨.强调 算法 与 数据结构 之间密不可分的联系,因而强调融数据类型与定义在该类型上的运算于一体的抽象数据 ...

  5. 计算机算法设计与分析(第4版) 王晓东 著 2012.2 笔记(这本书还不错,偏实用、有难度)

    计算机算法设计与分析(第4版) 目录 1 算法概述 2 递归与分治策略 3 动态规划 4 贪心算法 5 回溯法 6 分支限界法 7 随机化算法 8 线性规划与网络流 算法概述 复杂性分析 NP-完全性 ...

  6. 算法设计与分析(Algorithm Design )课后习题作业+期末复习+期末习题

    课后习题作业资源链接 期末复习+期末习题资源链接 对应的书(不是算法导论):算法设计与分析(Algorithm Design ) Jon KIeinberg 著 张立昂 屈婉玲 译 有这本书中英文版. ...

  7. PHP第五周答案,算法设计与分析第五周作业——Word Ladder

    算法设计与分析第五周作业--Word Ladder 上周找了一道深度搜索优先搜索的算法题来做,于是这周就选了一道广度优先搜索算法题来试试手. 本周所选题目:原题目链接 题目详情 题目大意:给出一个字符 ...

  8. 太原理工大学linux与python编程r实验报告_太原理工大学算法设计与分析实验报告...

    <太原理工大学算法设计与分析实验报告>由会员分享,可在线阅读,更多相关<太原理工大学算法设计与分析实验报告(12页珍藏版)>请在人人文库网上搜索. 1.本科实验报告课程名称: ...

  9. java实现 库鲁斯卡尔算法 kruskal(算法设计与分析作业)

    java实现 库鲁斯卡尔算法kruskal(算法设计与分析作业) package package1;import java.util.Arrays;public class alg {//判断tar是 ...

最新文章

  1. 软件测试培训需要学习什么技术
  2. Win7安装visual c++ 2015 redistributable x64失败
  3. Ubuntu系统如何安装nodejs及npm
  4. 【mybatis学习记录】mybatis的各种查询 一对一关联查询(4种方式) 一对多(2种方式)
  5. 机器学习与分布式机器学习_我将如何再次开始学习机器学习(3年以上)
  6. Dapr微服务应用开发系列4:状态管理构件块
  7. 封装jQuery下载文件组件
  8. oc渲染器中文手册_C4D·OC高级渲染视频教程,带你玩转质感渲染
  9. 软件项目管理的基本概念
  10. Matlab分号的使用
  11. 土味情话恋爱话术微信小程序源码下载
  12. 学习笔记:Java 并发编程①_基础知识入门
  13. Spring Cloud 升级之路 - 2020.0.x - 1. 背景知识、需求描述与公共依赖
  14. windows store下载_年度付费软件排行榜这10款软件,你用过5款以上,就算效率达人!Windows平台...
  15. 能上qq但是打不开网页-详解DNS
  16. android大字体原理,如何让Android TextView(包括子类)的字体大...
  17. JavaScript-高级进阶
  18. 软件、宇宙、人生、扯淡
  19. Django计算机毕业设计JAVA高校田径运动会管理(程序+LW)Python
  20. HP 5200LX驱动安装历程

热门文章

  1. python 画图设置中文字体
  2. 修改openwrt或者LEDE默认wifi名称以及默认开启wifi
  3. cdr怎么新建和删除图层
  4. CImage类之GetBits、GetPixel、GetPitch、GetBPP应用
  5. Python基于深度学习多标签分类模型实现云状识别
  6. 接入层、汇聚层和核心层工业交换机怎么选?
  7. SDN和NFV的区别
  8. 适用于编程开发自学的学习网站
  9. 【运筹学】指派问题匈牙利法
  10. python小车行走_[PYTHON系列教程]→控制小车