欢迎来到天天文库
浏览记录
ID:13394455
大小:5.55 MB
页数:44页
时间:2018-07-22
《数据结构自测题(带答案)2013-11-28》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第一章概论一、填空题1.数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和运算等的学科。2.数据结构被形式地定义为(D,R),其中D是数据元素的有限集合,R是D上的关系有限集合。3.数据结构包括数据的逻辑结构、数据的物理结构和数据的运算这三个方面的内容。4.数据结构按逻辑结构可分为两大类,它们分别是线性结构和非线性结构。5.线性结构中元素之间存在一对一关系,树形结构中元素之间存在一对多关系,图形结构中元素之间存在多对多关系。6.在线性结构中,第一个结点无前驱结点,其余每个结点有且只有1个前驱结点;最后一个结点无后续结点,其余每个结点有且只有1个后
2、续结点。7.在树形结构中,树根结点没有前驱结点,其余每个结点有且只有1个前驱结点;叶子结点没有后继结点,其余每个结点的后续结点数可以有多个后继。8.在图形结构中,每个结点的前驱结点数和后续结点数可以有多个。9.一个算法的效率可分为时间效率和空间效率。10.数据之间的关系在计算机中有两种不同的表示方法,即顺序映像和非顺序映像。11.算法的五个重要特性是输入性、输出性、有穷性、可行性和确定性。12.数据项是数据的不可分割的最小单位。13.算法分析的两个主要方面是时间复杂度和空间复杂度。14.数据元素是数据的基本单位,15.对于给定的n个元素,可以构造的逻辑结构有线性,集合, 树型
3、,图型等4种。16.数据结构包括数据的集合、数据的关系和数据的运算这三个方面的内容。17.数据结构按逻辑结构可分为两大类,它们分别是线性结构和非线性结构。二、单项选择题(B)1.非线性结构是数据元素之间存在一种:A)一对多关系B)多对多关系C)多对一关系D)一对一关系(C)2.数据结构中,与所使用的计算机无关的是数据的结构;A)存储B)物理C)逻辑D)物理和存储(C)3.算法分析的目的是:A)找出数据结构的合理性B)研究算法中的输入和输出的关系C)分析算法的效率以求改进D)分析算法的易懂性和文档性(A)4.算法分析的两个主要方面是:A)空间复杂性和时间复杂性B)正确性和简明性
4、C)可读性和文档性D)数据复杂性和程序复杂性(C)5.计算机算法指的是:A)计算方法B)排序方法C)解决问题的有限运算序列D)调度方法(B)6.计算机算法必须具备输入、输出和等5个特性。A)可行性、可移植性和可扩充性B)可行性、确定性和有穷性C)确定性、有穷性和稳定性D)易读性、稳定性和安全性44三、分析下面各程序段的时间复杂度1.for(i=0;i5、)for(j=1;j<=n-i;j++)x++;O(n*n)4.i=1;while(i<=n)i=i*3;O(log3n)5.求下列算法段的语句频度及时间复杂度。for(i=1;i<=n;i++)for(j=1;j<=i;j++)x=x+1;O(n*n)6.分析下列算法段的时间频度及时间复杂度。for(i=1;i<=n;i++)for(j=1;j<=i;j++)for(k=1;k<=j;k++)x=i+j-k;}O(n*n*n)44第2章线性表一、填空1.在顺序表中插入或删除一个元素,需要平均移动表中一半元素,具体移动的元素个数与插入位置有关。2.线性表中结点的集合是有限的,6、结点间的关系是一对一的。3.向一个长度为n的向量的第i个元素(1≤i≤n+1)之前插入一个元素时,需向后移动n-i+1个元素。4.向一个长度为n的向量中删除第i个元素(1≤i≤n)时,需向前移动n-i个元素。5.在顺序表中访问任意一结点的时间复杂度均为O(1)。6.顺序表中逻辑上相邻的元素的物理位置一定相邻。单链表中逻辑上相邻的元素的物理位置不一定相邻。7.在单链表中,除了首元结点外,任一结点的存储位置由其直接前驱结点的指针域的值指示。8.在n个结点的单链表中要删除已知结点*p,需找到它的直接前驱,其时间复杂度为O(1)。二、判断(F)1.链表的每个结点中都恰好包含一个指针。7、(F)2.链表的物理存储结构具有同链表一样的顺序。(F)3.链表的删除算法很简单,因为当删除链中某个结点后,计算机会自动将后续各个单元向前移动。(F)4.线性表的每个结点只能是一个简单类型,而链表的每个结点可以是一个复杂类型。(F)5.顺序表结构适宜于进行顺序存取,而链表适宜于进行随机存取。(F)6.顺序存储方式的优点是存储密度大,且插入、删除运算效率高。(F)7.线性表在物理存储空间中也一定是连续的。(F)8.线性表在顺序存储时,逻辑上相邻的元素未必在存储的物理位置次序上相邻。(F)9.顺序存储方式只
5、)for(j=1;j<=n-i;j++)x++;O(n*n)4.i=1;while(i<=n)i=i*3;O(log3n)5.求下列算法段的语句频度及时间复杂度。for(i=1;i<=n;i++)for(j=1;j<=i;j++)x=x+1;O(n*n)6.分析下列算法段的时间频度及时间复杂度。for(i=1;i<=n;i++)for(j=1;j<=i;j++)for(k=1;k<=j;k++)x=i+j-k;}O(n*n*n)44第2章线性表一、填空1.在顺序表中插入或删除一个元素,需要平均移动表中一半元素,具体移动的元素个数与插入位置有关。2.线性表中结点的集合是有限的,
6、结点间的关系是一对一的。3.向一个长度为n的向量的第i个元素(1≤i≤n+1)之前插入一个元素时,需向后移动n-i+1个元素。4.向一个长度为n的向量中删除第i个元素(1≤i≤n)时,需向前移动n-i个元素。5.在顺序表中访问任意一结点的时间复杂度均为O(1)。6.顺序表中逻辑上相邻的元素的物理位置一定相邻。单链表中逻辑上相邻的元素的物理位置不一定相邻。7.在单链表中,除了首元结点外,任一结点的存储位置由其直接前驱结点的指针域的值指示。8.在n个结点的单链表中要删除已知结点*p,需找到它的直接前驱,其时间复杂度为O(1)。二、判断(F)1.链表的每个结点中都恰好包含一个指针。
7、(F)2.链表的物理存储结构具有同链表一样的顺序。(F)3.链表的删除算法很简单,因为当删除链中某个结点后,计算机会自动将后续各个单元向前移动。(F)4.线性表的每个结点只能是一个简单类型,而链表的每个结点可以是一个复杂类型。(F)5.顺序表结构适宜于进行顺序存取,而链表适宜于进行随机存取。(F)6.顺序存储方式的优点是存储密度大,且插入、删除运算效率高。(F)7.线性表在物理存储空间中也一定是连续的。(F)8.线性表在顺序存储时,逻辑上相邻的元素未必在存储的物理位置次序上相邻。(F)9.顺序存储方式只
此文档下载收益归作者所有