第1章绪论一、选择题1.算法的计算量的大小称为计算的()。(北京邮电大学2000二、3(20/8分))A.效率B.复杂性C.现实性D.难度2.算法的时间复杂度取决于()(中科院计算所1998二、1(2分))A.问题的规模B.待处理数据的初态C.A和B3.计算机算法指的是(1),它必须具备(2)这三个特性。(1)A.计算方法B.排序方法C.解决问题的步骤序列D.调度方法(2)A.可执行性、可移植性、可扩充性B.可执行性、确定性、有穷性C.确定性、有穷性、稳定性D.易读性、稳定性、安全性(南京理工大学1999一、1(2分)(武汉交通科技大学1996一、1(4分))4.一个算法应该是()。(中山大学1998二、1(2分))A.程序B.问题求解步骤的描述C.要满足五个基本特性D.A和C.5.下面关于算法说法错误的是()(南京理工大学2000一、1(1.5分))A.算法最终必须由计算机程序实现B.为解决某问题的算法同为该问题编写的程序含义是相同的C.算法的可行性是指指令不能有二义性D.以上几个都是错误的6.下面说法错误的是()(南京理工大学2000一、2(1.5分))(1)算法原地工作的含义是指不需要任何额外的辅助空间(2)在相同的规模n下,复杂度O(n)的算法在时间上总是优于复杂度O(2n)的算法(3)所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界(4)同一个算法,实现语言的级别越高,执行效率就越低A.(1)B.(1),(2)C.(1),(4)D.(3)7.从逻辑上可以把数据结构分为()两大类。(武汉交通科技大学1996一、4(2分))A.动态结构、静态结构B.顺序结构、链式结构C.线性结构、非线性结构D.初等结构、构造型结构8.以下与数据的存储结构无关的术语是()。(北方交通大学2000二、1(2分))A.循环队列B.链表C.哈希表D.栈9.以下数据结构中,哪一个是线性结构()?(北方交通大学2001一、1(2分))A.广义表B.二叉树C.稀疏矩阵D.串10.以下那一个术语与数据的存储结构无关?()(北方交通大学2001一、2(2分))A.栈B.哈希表C.线索树D.双向链表11.在下面的程序段中,对x的赋值语句的频度为()(北京工商大学2001一、10(3分))FORi:=1TOnDOFORj:=1TOnDOx:=x+1;A.O(2n)B.O(n)C.O(n2)D.O(log2n)12.程序段FORi:=n-1DOWNTO1DOFORj:=1TOiDOIFA[j]A[j+1]THENA[j]与A[j+1]对换;其中n为正整数,则最后一行的语句频度在最坏情况下是()A.O(n)B.O(nlogn)C.O(n3)D.O(n2)(南京理工大学1998一、1(2分))13.以下哪个数据结构不是多型数据类型()(中山大学1999一、3(1分))A.栈B.广义表C.有向图D.字符串14.以下数据结构中,()是非线性数据结构(中山大学1999一、4)A.树B.字符串C.队D.栈15.下列数据中,()是非线性数据结构。(北京理工大学2001六、1(2分))A.栈B.队列C.完全二叉树D.堆16.连续存储设计时,存储单元的地址()。(中山大学1999一、1(1分))A.一定连续B.一定不连续C.不一定连续D.部分连续,部分不连续17.以下属于逻辑结构的是()。(西安电子科技大学应用2001一、1)A.顺序表B.哈希表C.有序表D.单链表二、判断题1.数据元素是数据的最小单位。()(北京邮电大学1998一、1(2分))(青岛大学2000一、1(1分))(上海交通大学1998一、1)(山东师范大学2001一、1(2分))2.记录是数据处理的最小单位。()(上海海运学院1998一、5(1分))3.数据的逻辑结构是指数据的各数据项之间的逻辑关系;()(北京邮电大学2002一、1(1分))4.算法的优劣与算法描述语言无关,但与所用计算机有关。()(大连海事大学2001一、10(1分))5.健壮的算法不会因非法的输入数据而出现莫名其妙的状态。()(大连海事大学2001一、11(1分))6.算法可以用不同的语言描述,如果用C语言或PASCAL语言等高级语言来描述,则算法实际上就是程序了。()(西安交通大学1996二、7(3分))7.程序一定是算法。()(燕山大学1998二、2(2分)并改错)8.数据的物理结构是指数据在计算机内的实际存储形式。()(山东师范大学2001一、2(2分))9.数据结构的抽象操作的定义与具体实现有关。()(华南理工大学2002一、1(1分))10.在顺序存储结构中,有时也存储数据结构中元素之间的关系。()(华南理工大学2002一、2(1分))11.顺序存储方式的优点是存储密度大,且插入、删除运算效率高。()(上海海运学院1999一、1(1分))12.数据结构的基本操作的设置的最重要的准则是,实现应用程序与存储结构的独立。()(华南理工大学2002一、5(1分))13.数据的逻辑结构说明数据元素之间的顺序关系,它依赖于计算机的储存结构.()(上海海运学院1998一、1(1分))三、填空1.数据的物理结构包括的表示和的表示。(燕山大学1998一、1(2分))2.对于给定的n个元素,可以构造出的逻辑结构有(1),(2),(3),__(4)_四种。(中科院计算所1999二、1(4分))3.数据的逻辑结构是指。(北京邮电大学2001二、1(2分))4.一个数据结构在计算机中称为存储结构。(华中理工大学2000一、1(1分))5.抽象数据类型的定义仅取决于它的一组__(1)_,而与_(2)_无关,即不论其内部结构如何变化,只要它的_(3)_不变,都不影响其外部使用。(山东大学2001三、3(2分))6.数据结构中评价算法的两个重要指标是(北京理工大学2001七、1(2分))7.数据结构是研讨数据的_(1)_和_(2)_,以及它们之间的相互关系,并对与这种结构定义相应的_(3)_,设计出相应的(4)_。(西安电子科技大学1998二、2(3分))8.一个算法具有5个特性:(1)、(2)、(3),有零个或多个输入、有一个或多个输出。(华中理工大学2000一、2(5分))(燕山大学1998一、2(5分))9.已知如下程序段FORi:=nDOWNTO1DO{语句1}BEGINx:=x+1;{语句2}FORj:=nDOWNTOiDO{语句3}y:=y+1;{语句4}END;语句1执行的频度为(1);语句2执行的频度为(2);语句3执行的频度为(3);语句4执行的频度为(4)。(北方交通大学1999二、4(5分))10.在下面的程序段中,对x的赋值语句的频度为______(表示为n的函数)FORi:=1TOnDOFORj:=1TOiDOFORk:=1TOjDOx:=x+delta;(北京工业大学1999一、6(2分))11.下面程序段中带下划线的语句的执行次数的数量级是:(合肥工业大学1999三、1(2分))i:=1;WHILEinDOi:=i*2;12.下面程序段中带下划线的语句的执行次数的数量级是()。(合肥工业大学2000三、1(2分))i:=1;WHILEinBEGINFORj:=1TOnDOx:=x+1;i:=i*2END;13.下面程序段中带有下划线的语句的执行次数的数量级是()(合肥工业大学2001三、1(2分))i:=n*nWHILEi1DOi:=idiv2;14.计算机执行下面的语句时,语句s的执行次数为_______。(南京理工大学2000二、1(1.5分))FOR(i=l;in-l;i++)FOR(j=n;j=i;j--)s;15.下面程序段的时间复杂度为________。(n1)sum=1;for(i=0;sumn;i++)sum+=1;(南京理工大学2001二、1(2分))16.设m.n均为自然数,m可表示为一些不超过n的自然数之和,f(m,n)为这种表示方式的数目。例f(5,3)=5,有5种表示方式:3+2,3+1+1,2+2+1,2+1+1+1,1+1+1+1+1。①以下是该函数的程序段,请将未完成的部分填入,使之完整intf(m,n)intm,n;{if(m==1)return(1);if(n==1){return(2);}if(mn){returnf(m,m);}if(m==n){return1+(3);}returnf(m.n-1)+f(m-n,(4));}②执行程序,f(6,4)=。(中科院软件所1997二、1(9分))17.在有n个选手参加的单循环赛中,总共将进行______场比赛。(合肥工业大学1999三、8(2分))四、应用题1.数据结构是一门研究什么内容的学科?(燕山大学1999二、1(4分))2.数据元素之间的关系在计算机中有几种表示方法?各有什么特点?(燕山大学1999二、2(4分))3.数据类型和抽象数据类型是如何定义的。二者有何相同和不同之处,抽象数据类型的主要特点是什么?使用抽象数据类型的主要好处是什么?(北京邮电大学1994一(8分))4.回答问题(每题2分)(山东工业大学1997一(8分))(1)在数据结构课程中,数据的逻辑结构,数据的存储结构及数据的运算之间存在着怎样的关系?(2)若逻辑结构相同但存储结构不同,则为不同的数据结构。这样的说法对吗?举例说明之。(3)在给定的逻辑结构及其存储表示上可以定义不同的运算集合,从而得到不同的数据结构。这样说法对吗?举例说明之。(4)评价各种不同数据结构的标准是什么?5.评价一个好的算法,您是从哪几方面来考虑的?(大连海事大学1996二、3(2分))(中山大学1998三、1(5分))6.解释和比较以下各组概念(华南师范大学2000一(10分))(1)抽象数据类型及数据类型(2)数据结构、逻辑结构、存储结构(3)抽象数据类型(哈尔滨工业大学2000一、1(3分))(4)算法的时间复杂性(河海大学1998一、2(3分))(5)算法(吉林工业大学1999一、1(2分))(6)频度(吉林工业大学1999一、2(2分))7.根据数据元素之间的逻辑关系,一般有哪几类基本的数据结构?(北京科技大学1998一、1)(同济大学1998)8.对于一个数据结构,一般包括哪三个方面的讨论?(北京科技大学1999一、1(2分))9.当你为解决某一问题而选择数据结构时,应从哪些方面考虑?(西安电子北京科技大学2000)10.若将数据结构定义为一个二元组(D,R),说明符号D,R应分别表示什么?(北京科技大学2001一、1(2分))11.数据结构与数据类型有什么区别?(哈尔滨工业大学2001三、1(3分))12.数据的存储结构由哪四种基本的存储方法实现?(山东科技大学2001一、1(4分))13.若有100个学生,每个学生有学号,姓名,平均成绩,采用什么样的数据结构最方便,写出这些结构?(山东师范大学1996二、2(2分))14.运算是数据结构的一个重要方面。试举一例,说明两个数据结构的逻辑结构和存储方式完全相同,只是对于运算的定义不同。因而两个结构具有显著不同的特性,是两个不同的结构。(北京大学1998一、1(5分))15.在编制管理通讯录的程序时,什么样的数据结构合适?为什么?(长沙铁道学院1998四、3(6分))16.试举一例,说明对相同的逻辑结构,同一种运算在不同的存储方式下实现,其运算效率不同。(北京理工大学2000三、1(4.5分))17.有实现同一功能的两个算法A1和A2,其中A1的时间复杂度为Tl=O(2n),A2的时间复杂度为T2=O(n2),仅就时间复杂度而言,请具体分析这两个算法哪一个好。(北京航空航天大学2000二(10分))18.设计一数据结构,用来表示某一银行储户的基本信息:账号、姓名、开户年月日、储蓄类型、存入累加数、利息、帐面总数。(浙江大学1994一、3(5分))19.写出下面算法中带标号语句的频度。TYPEar=ARRAY[1..n]OFdatatype;PROCEDUREperm(a:ar;k,n:intege