数据结构作业解答.docVIP

  • 320
  • 0
  • 约8.26千字
  • 约 13页
  • 2016-10-19 发布于重庆
  • 举报
数据结构作业解答

第一章作业 一、选择题 1. 算法的计算量的大小称为计算的( B )。 A.效率 B. 复杂性 C. 现实性 D. 难度 2. 算法的时间复杂度取决于( A) A B. 待处理数据的初态 C. A和B 3.计算机算法指的是(C),它必须具备(B) 这三个特性。 (1) A B. 排序方法 C. 解决问题的步骤序列 D. 调度方法 (2) A.可执行性、可移植性、可扩充性 B. 可执行性、确定性、有穷性 C. 确定性、有穷性、稳定性 D. 易读性、稳定性、安全性 4.一个算法应该是( B )。 A.程序 B.问题求解步骤的描述 C.要满足五个基本特性 D.A和C. 5. 下面关于算法说法错误的是( D ) A.算法最终必须由计算机程序实现 B.为解决某问题的算法同为该问题编写的程序含义是相同的 C. 算法的可行性是指指令不能有二义性 D. 以上几个都是错误的 6. 下面说法错误的是( C ) (1)算法原地工作的含义是指不需要任何额外的辅助空间 (2)在相同的规模n下,复杂度O(n)的算法在时间上总是优于复杂度O(2n)的算法 (3)所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界 (4)同一个算法,实现语言的级别越高,执行效率就越低 A.(1) B.(1),(2) C.(1),(4) D.(3) 7.从逻辑上可以把数据结构分为( C )两大类。 A.动态结构、静态结构 B.顺序结构、链式结构 C.线性结构、非线性结构 D.初等结构、构造型结构 8.在下面的程序段中,对x的赋值语句的频度为( D ) FOR i:=1 TO n DO FOR j:=1 TO n DO x:=x+1; A. O(2n) B.O(n) C.O(n2) D.O(log2n) 9.程序段 FOR i:=n-1 DOWNTO 1 DO FOR j:=1 TO i DO IF A[j]A[j+1] THEN A[j]与A[j+1]对换; 其中 n为正整数,则最后一行的语句频度在最坏情况下是(D ) A. O(n) B. O(nlogn) C. O(n3) D. O(n2) ? 二、判断题 1. 数据元素是数据的最小单位。( × ) 2. 记录是数据处理的最小单位。 (× ) 3. 数据的逻辑结构是指数据的各数据项之间的逻辑关系;(× ) 4.算法的优劣与算法描述语言无关,但与所用计算机有关。(√ ) 5.健壮的算法不会因非法的输入数据而出现莫名其妙的状态。( × ) 6.算法可以用不同的语言描述,如果用C 语言或PASCAL语言等高级语言来描述,则算法实际上就是程序了。(× ) 7.程序一定是算法。(× ) 8.数据的物理结构是指数据在计算机内的实际存储形式。(√ ) 9. 数据结构的抽象操作的定义与具体实现有关。(× ) 10. 在顺序存储结构中,有时也存储数据结构中元素之间的关系。( × ) 11. 顺序存储方式的优点是存储密度大,且插入、删除运算效率高。( × ) 三、用C语言程序完成三元组的初始化、取i号位上的值及修改i号位上的值。 #includestdio.h #includestdlib.h #define ok 1 #define error -1 typedef int *triplet; typedef int status; status init(triplet *t,int v1,int v2,int v3) {*t=(int *)malloc(3*sizeof(int)); if (!(*t)) return error; (*t)[0]=v1; (*t)[1]=v2; (*t)[2]=v3; return ok; } status get(triplet t,int i,int *e) {if(i1||i3) return error; *e=t[i-1] ; return ok; } void main() { triplet a; int i,e,e1,e2,e3;int b; printf(输入三元组的三个值:

文档评论(0)

1亿VIP精品文档

相关文档