当前位置:文档之家› 数据结构 第1-4章选择题(有 答案)

数据结构 第1-4章选择题(有 答案)

数据结构  第1-4章选择题(有 答案)
数据结构  第1-4章选择题(有 答案)

数据结构考试试题及答案

数据结构 一、单选题 1. 计算机算法指的是(b )。 A.程序B.问题求解步骤的描述C.调度方法D.排序方法 2. 以下数据结构中,(a )个是非线性数据结构。 A.树B.字符串C.队D.栈 3. 对于顺序存储的线性表,访问元素和插入元素的时间复杂度分别为:(c )。 A.O(n) O(n) B.O(n) O(1) C.O(1) O(n) D.O(1) O(1) 4. 在单链表指针为p的结点之后插入指针为s的结点,正确的操作是(b )。 A.p->next=s;s->next=p->next B.s->next=p->next; p->next=s C.p->next=s;p->next=s->next D.p->next=s->next; p->next=s 5. n个顶点的有向图中,含有向边的数目最多为( d ) A.n-1 B.n C.n(n-1)/2 D.n(n-1) 6. 循环队列存储在数组A[0..m]中,则入队时的操作为( d ) A.rear=rear+1 B.rear=(rear+1)mod(m-1) C.rear=(rear+1)mod m D.rear=(rear+1)mod(m+1) 7. 字符串?ababaabab?的next函数为(d ) A.011232232 B.012341234 C.011122334 D. 011234234 8. 若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数为( b )A.9 B.11 C.15 D.不确定 9. 设有数组A[i,j],数组的每个元素长度为3字节,i的值为1到8,j的值为1到10,数组从内存首地址BA开始顺序存放,当以列为主序存放时,元素A[5,8]的首地址为( b )。A.BA+141 B.BA+180 C.BA+222 D.BA+225 10. n个顶点的带权无向连通图的最小生成树包含(b )个顶点 A.n-1 B.n C.n/2 D.n+1 11.有关二叉树的下列说法正确的是( b ) A.二叉树的度为2 B.一棵二叉树的度可以小于2 C.二叉树中至少有一个结点的度为2 D.二叉树中任何一个结点的度都为2 12.关键路径是AOE网中( a )。 A.从源点到汇点的最长路径B.从源点到汇点的最短路径 C.最长回路 D.最短路径(从源点到汇点的所有路径中,经过弧的数目最多的路径) 13.若查找每个记录的概率相等,则在具有n个记录的连续文件中采用顺序查找查找一个记录,其平均查找长度ASL为(c)。 A.(n-1)/2 B.n/2 C.(n+1)/2 D.n 14.就平均性能而言,目前最好的内部排序方法是(d ) A.冒泡排序B.希尔排序C.堆排序D.快速排序 15.已知广义表LS=((a,b,c),(d,e,f)),运用head和tail函数取出LS中原子e的运算是(d )A.head(tail(LS)) B.tail (head (LS) C.head(tail(head(tail(LS)))) D.head(tail(tail (head (LS)))) 17.在n个结点的顺序表中,算法的时间复杂度是O(1)的操作是:( a ) A. 访问第i个结点(1≤i≤n)和求第i个结点的直接前驱(2≤i≤n) B. 在第i个结点后插入一个新结点(1≤i≤n)

数据结构选择题集锦

单项选择 ( B ) 1. 通常所说的主机是指∶ A) CPU B) CPU和内存C) CPU、内存与外存D) CPU、内存与硬盘 ( C )2. 在计算机内部,一切信息的存取、处理和传送的形式是∶ A) ACSII码B) BCD码C)二进制D)十六进制 ( D )3. 软件与程序的区别是∶ A)程序价格便宜、软件价格昂贵; B)程序是用户自己编写的,而软件是由厂家提供的; C) 程序是用高级语言编写的,而软件是由机器语言编写的; D) 软件是程序以及开发、使用和维护所需要的所有文档的总称,而程序只是软件的一部分。 ( C )4. 所谓“裸机”是指∶ A) 单片机B)单板机C) 不装备任何软件的计算机D) 只装备操作系统的计算机 ( D )5. 应用软件是指∶ A)所有能够使用的软件B) 能被各应用单位共同使用的某种软件 C)所有微机上都应使用的基本软件D) 专门为某一应用目的而编制的软件 (A)6. C语言中的常量可分为整型常量、实型常量、字符型常量及(枚举)四种。 (A)符号常量(B)长整型常量(C)逻辑常量(D)二进制整数 ( C )7. 编译程序的功能是∶ A)发现源程序中的语法错误B)改正源程序中的语法错误 C)将源程序编译成目标程序D)将某一高级语言程序翻译成另一种高级语言程序 (A)8. 系统软件中最重要的是∶ A) 操作系统B) 语言处理系统C) 工具软件D) 数据库管理系统 ( C )9. 可移植性最好的计算机语言是∶ A) 机器语言B)汇编语言C) 高级语言D) 自然语言

( B )10. 非线性结构是数据元素之间存在一种: A)一对多关系B)多对多关系C)多对一关系D)一对一关系 ( C )11. 数据结构中,与所使用的计算机无关的是数据的结构; A) 存储B) 物理C) 逻辑D) 物理和存储 ( C )12. 算法分析的目的是: A) 找出数据结构的合理性B) 研究算法中的输入和输出的关系 C) 分析算法的效率以求改进D) 分析算法的易懂性和文档性 (A)13. 算法分析的两个主要方面是: A) 空间复杂性和时间复杂性B) 正确性和简明性 C) 可读性和文档性D) 数据复杂性和程序复杂性 ( C )14. 计算机算法指的是: A) 计算方法B) 排序方法C) 解决问题的有限运算序列D) 调度方法 ( B )15. 计算机算法必须具备输入、输出和等5个特性。 A) 可行性、可移植性和可扩充性B) 可行性、确定性和有穷性 C) 确定性、有穷性和稳定性D) 易读性、稳定性和安全性 ( C )16.数据在计算机存储器内表示时,物理地址与逻辑地址相同并且是连续的,称之为: (A)存储结构(B)逻辑结构(C)顺序存储结构(D)链式存储结构 ( B )17.一个向量第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是 (A)110 (B)108 (C)100 (D)120 (A)18. 在n个结点的顺序表中,算法的时间复杂度是O(1)的操作是:(A)访问第i个结点(1≤i≤n)和求第i个结点的直接前驱(2≤i≤n) (B)在第i个结点后插入一个新结点(1≤i≤n) (C)删除第i个结点(1≤i≤n) (D)将n个结点从小到大排序 ( B )19. 向一个有127个元素的顺序表中插入一个新元素并保持原来顺序不变,平均要移动个元素 (A)8 (B)63.5 (C)63 (D)7 (A)20. 链接存储的存储结构所占存储空间: (A)分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针

数据结构复习题及答案

中南大学现代远程教育课程考试(考试)复习题及参考答案 数据结构 (使用教材:余腊生编著,人民邮电出版社出版,《数据结构—基于C++模板类的实现》 一、判断题 1.数组是一种复杂的数据结构,数组元素之间的关系既不是线性的也不是树形的。 [ ] 2.链式存储在插人和删除时需要保持物理存储空间的顺序分配,不需要保持数据元素之间的逻辑顺序。 [ ] 3.在用循环单链表表示的链式队列中,可以不设队头指针,仅在链尾设置队尾指针。 [ ] 4.通常递归的算法简单、易懂、容易编写,而且执行的效率也高。 [ ] 5.一个广义表的表尾总是一个广义表。 [ ] 6.当从一个小根堆(最小堆)中删除一个元素时,需要把堆尾元素填补到堆顶位置,然后再按条件把它逐层向下调整,直到调整到合适位置为止。 [ ] 7.对于一棵具有n个结点,其高度为h的二叉树,进行任一种次序遍历的时间复杂度为O(h)。 [ ] 8.存储图的邻接矩阵中,邻接矩阵的大小不但与图的顶点个数有关,而且与图的边数也有关。 [ ] 9.直接选择排序是一种稳定的排序方法。 [ ] 10.30、闭散列法通常比开散列法时间效率更高。 [ ] 11.有n个结点的不同的二叉树有n!棵。 [ ] 12.直接选择排序是一种不稳定的排序方法。 [ ] 13.在2048个互不相同的关键码中选择最小的5个关键码,用堆排序比用锦标赛排序更快。 [ ] 14.当3阶B_树中有255个关键码时,其最大高度(包括失败结点层)不超过8。 [ ] 15.一棵3阶B_树是平衡的3路搜索树,反之,一棵平衡的3路搜索树是3阶非B_树。 [ ] 16.在用散列表存储关键码集合时,可以用双散列法寻找下一个空桶。在设计再散列函数时,要求计算出的值与表的大小m互质。 [ ] 17.在只有度为0和度为k的结点的k叉树中,设度为0的结点有n0个,度为k的结点有nk个,则有n0=nk+1。 [ ] 18.折半搜索只适用于有序表,包括有序的顺序表和有序的链表。 [ ] 19.如果两个串含有相同的字符,则这两个串相等。 [ ] 20.数组可以看成线性结构的一种推广,因此可以对它进行插入、删除等运算。 [ ] 21.在索引顺序表上实现分块查找,在等概率查找情况下,其平均查找长度不仅与表中元素个数有关,而且与每一块中元素个数有关。 [ ] 22.在顺序表中取出第i个元素所花费的时间与i成正比。 [ ] 23.在栈满情况下不能作进栈运算,否则产生“上溢”。 [ ] 24.二路归并排序的核心操作是将两个有序序列归并为一个有序序列。 [ ] 25.对任意一个图,从它的某个顶点出发,进行一次深度优先或广度优先搜索,即可访问图的每个顶点. [ ] 26.二叉排序树或者是一棵空二叉树,或者不是具有下列性质的二叉树:若它的左子树非空,则根结点的值大于其左孩子的值;若它的右子树非空,则根结点的值小于其右孩子的值。 [ ] 27.在执行某个排序算法过程中,出现了排序码朝着最终排序序列位置相反方向移动,则该算法是不稳定的。 [ ] 28.一个有向图的邻接表和逆邻接表中表结点的个数一定相等。 [ ]

数据结构试题及答案(免费)

一、单选题(每题 2 分,共20分) 1. 1.对一个算法的评价,不包括如下(B )方面的内容。 A.健壮性和可读性B.并行性C.正确性D.时空复杂度 2. 2.在带有头结点的单链表HL中,要向表头插入一个由指针p指向的结 点,则执行( )。 A. p->next=HL->next; HL->next=p; B. p->next=HL; HL=p; C. p->next=HL; p=HL; D. HL=p; p->next=HL; 3. 3.对线性表,在下列哪种情况下应当采用链表表示?( ) A.经常需要随机地存取元素 B.经常需要进行插入和删除操作 C.表中元素需要占据一片连续的存储空间 D.表中元素的个数不变 4. 4.一个栈的输入序列为1 2 3,则下列序列中不可能是栈的输出序列的是 ( C ) A. 2 3 1 B. 3 2 1 C. 3 1 2 D. 1 2 3 5. 5.AOV网是一种()。 A.有向图B.无向图C.无向无环图D.有向无环图 6. 6.采用开放定址法处理散列表的冲突时,其平均查找长度()。 A.低于链接法处理冲突 B. 高于链接法处理冲突 C.与链接法处理冲突相同D.高于二分查找 7.7.若需要利用形参直接访问实参时,应将形参变量说明为()参数。 A.值B.函数C.指针D.引用 8.8.在稀疏矩阵的带行指针向量的链接存储中,每个单链表中的结点都具 有相同的()。 A.行号B.列号C.元素值D.非零元素个数 9.9.快速排序在最坏情况下的时间复杂度为()。 A.O(log2n) B.O(nlog2n) C.0(n) D.0(n2) 10.10.从二叉搜索树中查找一个元素时,其时间复杂度大致为( )。 A. O(n) B. O(1) C. O(log2n) D. O(n2) 二、二、运算题(每题 6 分,共24分) 1. 1.数据结构是指数据及其相互之间的______________。当结点之间存在M 对N(M:N)的联系时,称这种结构为_____________________。 2. 2.队列的插入操作是在队列的___尾______进行,删除操作是在队列的 ____首______进行。 3. 3.当用长度为N的数组顺序存储一个栈时,假定用top==N表示栈空,则 表示栈满的条件是___top==0___(要超出才为满)_______________。 4. 4.对于一个长度为n的单链存储的线性表,在表头插入元素的时间复杂度 为_________,在表尾插入元素的时间复杂度为____________。

《数据结构》期末考试题及答案

2011-2012学年第一学期期末考查 《数据结构》试卷 (答案一律写在答题纸上,在本试卷上做答无效) 一、选择(每题1分,共10分) 1.长度为n的线性表采用顺序存储结构,一个在其第i个位置插入新元素的算法时间复杂度为(D) A.O(0) B.O(1) C.O(n) D.O(n2) 2.六个元素按照6,5,4,3,2,1的顺序入栈,下列哪一个是合法的出栈序列?(D) A.543612 B.453126 C.346512 D.234156 3.设树的度为4,其中度为1、2、3、4的结点个数分别是4、2、1、2,则树中叶子个数为(B ) A.8 B.9 C.10 D.11 4.设森林F对应的二叉树B有m个结点,B的右子树结点个数为n,森林F中第一棵树的结点个数是( B ) A. m-n B.m-n-1 C.n+1 D.m+n 5.若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是(B) A.9 B.11 C.15 D.不确定 6.下列哪一个方法可以判断出一个有向图是否有环。(A) A.深度优先遍历 B.拓扑排序 C.求最短路径 D.求关键路径 7.第7层有10个叶子结点的完全二叉树不可能有(B )个结点。 A.73 B.234 C.235 D.236 8.分别用以下序列构造二叉排序树,与用其他三个序列构造的结果不同的是(B) A.(100,80,90,60,120,110,130) B.(100, 120, 110,130,80, 60,90) C.(100,60,80,90,120,110,130) D.(100,80, 60,90, 120, 130,110) 9.对一组数据(84,47,25,15,21)排序,数据的排列次序在排序过程中变化如下:(1)84 47 25 15 21 (2)15 47 25 84 21 (3)15 21 25 84 47(4)15 21 25 47 84则采用的排序方法是(B ) A.选择排序 B.起泡排序 C.快速排序 D.插入排序 10.对线性表进行折半查找时,要求线性表必须(D) A.以顺序方式存储 B.以顺序方式存储,且数据元素有序

c语言程序分支结构题目及答案

21. htm 01. 从键盘输入一个字符,如果是大写字母,就转换成小写;如果是小写字母,就转换成大写,如果是其他字符原样保持并将结果输出。 #include void main() { char c; scanf("%c",&c); if(c>='A'&&c<='Z') c=c+32; else if(c>='a'&&c<='z') c=c-32; printf("%c",c); } 02. 从键盘输入一个数,判断其是否是5的倍数而不是7的倍数。如果是,输出Yes,否则输出No。 #include void main() { int a; scanf("%d",&a); if(a%5==0&&a%7!=0) printf("yes"); else printf("no"); } 03. 从键盘输入一个4 位正整数,求其逆序数,并输出。例如:若输入1234,则输出应该是4321。 #include void main() { int n,g,s,b,q,m; scanf("%d",&n); q=n/1000; b=n/100%10; s=n/10%10; g=n%10;

m=g*1000+s*100+b*10+q; printf("%d\n",m); } 22. htm 01. 从键盘输入一个字符,如果是字母,就输出其对应的ASCII 码;如果是数字字符,就转换成对应整数并输出。 #include void main() { char c; scanf("%c",&c); if(c>='a'&&c<='z'||c>='A'&&c<='Z') printf("ASCII:%d",c); else if(c>='0'&&c<='9') printf(" 数字:%d",c-'0'); } 02.从键盘输入一个数,判断其是否能同时被3和5整除。如果是,输出Yes,否则 输出No。 #include void main() { int a;

数据结构选择题复习

1.数据逻辑结构包括线性结构、树形结构和图状结构三种类型,树形结构和图状结构合称非线性结构。 2.数据的逻辑结构分为集合、线性结构、树形结构和图状结构 4种。 3.在线性结构中,第一个结点没有前驱结点,其余每个结点有且只有 1 个前驱结点;最后一个结点没有后续结点,其余每个结点有且只有 1 个后续结点。 4.线性结构中元素之间存在一对一关系,树形结构中元素之间存在一对多关系,图形结构中元素之间存在多对多关系。 5.在树形结构中,树根结点没有前驱结点,其余每个结点有且只有 1 个前驱结点;叶子结点没有后续结点,其余每个结点的后续结点可以任意多个。 6.数据结构的基本存储方法是顺序、链式、索引和散列存储。 7.衡量一个算法的优劣主要考虑正确性、可读性、健壮性和时间复杂度与空间复杂度。 8.评估一个算法的优劣,通常从时间复杂度和空间复杂度两个方面考察。 9.算法的5个重要特性是有穷性、确定性、可行性、输入和输出。 10.在一个长度为n的顺序表中删除第i个元素时,需向前移动 n-i 个元素。 11.在单链表中,要删除某一指定的结点,必须找到该结点的前驱结点。 12.在双链表中,每个结点有两个指针域,一个指向前驱结点,另一个指向后继结点。 13.在顺序表中插入或删除一个数据元素,需要平均移动 n 个数据元素,移动数据元素的个数与位置有关。 14.当线性表的元素总数基本稳定,且很少进行插入和删除操作,但要求以最快的速度存取线性表的元素是,应采用顺序存储结构。 15.根据线性表的链式存储结构中每一个结点包含的指针个数,将线性链表分成单链表和双链表。 16.顺序存储结构是通过下标表示元素之间的关系的;链式存储结构是通过指针表示元素之间的关系的。 17.带头结点的循环链表L中只有一个元素结点的条件是 L->next->next=L 。

C语言程序分支结构题目及答案

C语言程序分支结构题目 及答案 This model paper was revised by the Standardization Office on December 10, 2020

01. 从键盘输入一个字符,如果是大写字母,就转换成小写;如果是小写字母,就转换成大写,如果是其他字符原样保持并将结果输出。 #include <> void main() { char c; scanf("%c",&c); if(c>='A'&&c<='Z') c=c+32; else if(c>='a'&&c<='z') c=c-32; printf("%c",c); } 02. 从键盘输入一个数,判断其是否是5的倍数而不是7的倍数。如果是,输出Yes,否则输出No。 #include <> void main() { int a; scanf("%d",&a); if(a%5==0&&a%7!=0) printf("yes"); else printf("no"); } 03. 从键盘输入一个4位正整数,求其逆序数,并输出。例如:若输入1234,则输出应该是4321。

#include <> void main() { int n,g,s,b,q,m; scanf("%d",&n); q=n/1000; b=n/100%10; s=n/10%10; g=n%10; m=g*1000+s*100+b*10+q; printf("%d\n",m); } 01. 从键盘输入一个字符,如果是字母,就输出其对应的ASCII码;如果是数字字符,就转换成对应整数并输出。 #include <> void main() { char c; scanf("%c",&c); if(c>='a'&&c<='z'||c>='A'&&c<='Z') printf("ASCII:%d",c); else if(c>='0'&&c<='9') printf("数字:%d",c-'0'); } 02. 从键盘输入一个数,判断其是否能同时被3和5整除。如果是,输出Yes,否则输出No。 #include <>

数据结构习题与答案

第 1 章绪论 课后习题讲解 1. 填空 ⑴()是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。 【解答】数据元素 ⑵()是数据的最小单位,()是讨论数据结构时涉及的最小数据单位。 【解答】数据项,数据元素 【分析】数据结构指的是数据元素以及数据元素之间的关系。 ⑶从逻辑关系上讲,数据结构主要分为()、()、()和()。 【解答】集合,线性结构,树结构,图结构 ⑷数据的存储结构主要有()和()两种基本方法,不论哪种存储结构,都要存储两方面的内容:()和()。 【解答】顺序存储结构,链接存储结构,数据元素,数据元素之间的关系 ⑸算法具有五个特性,分别是()、()、()、()、()。 【解答】有零个或多个输入,有一个或多个输出,有穷性,确定性,可行性 ⑹算法的描述方法通常有()、()、()和()四种,其中,()被称为算法语言。 【解答】自然语言,程序设计语言,流程图,伪代码,伪代码 ⑺在一般情况下,一个算法的时间复杂度是()的函数。 【解答】问题规模 ⑻设待处理问题的规模为n,若一个算法的时间复杂度为一个常数,则表示成数量级的形式为(),若为n*log25n,则表示成数量级的形式为()。 【解答】Ο(1),Ο(nlog2n) 【分析】用大O记号表示算法的时间复杂度,需要将低次幂去掉,将最高次幂的系数去掉。 2. 选择题 ⑴顺序存储结构中数据元素之间的逻辑关系是由()表示的,链接存储结构中的数据元素之间的逻辑关系是由()表示的。 A 线性结构 B 非线性结构 C 存储位置 D 指针 【解答】C,D 【分析】顺序存储结构就是用一维数组存储数据结构中的数据元素,其逻辑关系由存储位置(即元素在数组中的下标)表示;链接存储结构中一个数据元素对应链表中的一个结点,元素之间的逻辑关系由结点中的指针表示。

2017年数据结构期末考试题及答案A

2017年数据结构期末考试题及答案 一、选择题(共计50分,每题2分,共25题) 1 ?在数据结构中,从逻辑上可以把数据结构分为 C 。 A. 动态结构和静态结构B?紧凑结构和非紧凑结构 C.线性结构和非线性结构 D .内部结构和外部结构 2?数据结构在计算机内存中的表示是指 A ° A. 数据的存储结构 B.数据结构 C.数据的逻辑结构 D .数据元 素之间的关系 3.在数据结构中,与所使用的计算机无关的是数据的 A 结构。 A. 逻辑B?存储 C.逻辑和存储 D.物理 4 .在存储数据时,通常不仅要存储各数据元素的值,而且还要存储 C ° A.数据的处理方法B?数据元素的类型 C.数据元素之间的关系 D.数据的存储方法 5. 在决定选取何种存储结构时,一般不考虑 A ° A.各结点的值如何B?结点个数的多少 C?对数据有哪些运算 D.所用的编程语言实现这种结构是否方便。 6. 以下说法正确的是D ° A. 数据项是数据的基本单位 B. 数据元素是数据的最小单位 C. 数据结构是带结构的数据项的集合 D. —些表面上很不相同的数据可以有相同的逻辑结构 7. 在以下的叙述中,正确的是B ° A. 线性表的顺序存储结构优于链表存储结构 B. 二维数组是其数据元素为线性表的线性表 C?栈的操作方式是先进先出 D.队列的操作方式是先进后出

8. 通常要求同一逻辑结构中的所有数据元素具有相同的特性,这意味着 A. 数据元素具有同一特点 B. 不仅数据元素所包含的数据项的个数要相同,而且对应的数据项的类型要一致 C. 每个数据元素都一样 D. 数据元素所包含的数据项的个数要相等 9 ?链表不具备的特点是 A 。 A.可随机访问任一结点 B.插入删除不需要移动元素 C?不必事先估计存储空间 D.所需空间与其长度成正比 10. 若某表最常用的操作是在最后一个结点之后插入一个结点或删除最后一 个结点,则采用 D 存储方式最节省运算时间。 A.单链表B ?给出表头指针的单循环链表 C.双链表D ?带头结点 的双循环链表 11. 需要分配较大空间,插入和删除不需要移动元素的线性表,其存储结构是 B 。 A.单链表B .静态链表 C.线性链表 D .顺序存储结构 12 .非空的循环单链表head的尾结点(由p所指向)满足C 。 A. p—>next 一NULL B. p — NULL C. p—>next == head D. p = = head 13 .在循环双链表的p所指的结点之前插入s所指结点的操作是 D 。 A .p—> prior-> prior=s B .p—> prior-> n ext=s C.s —> prior—> n ext = s D.s —> prior—> prior = s 14 .栈和队列的共同点是C 。 A.都是先进后出 B .都是先进先出 C.只允许在端点处插入和删除元素 D .没有共同点

数据结构选择题

1.一个向量第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是( 1)。 选择一项: 1. 108 2. 110 3. 100 4. 120 2.在n个结点的顺序表中,算法的时间复杂度是O(1)的操作是(b) 选择一项: a. 删除第i个结点(1≤i≤n) b. 访问第i个结点(1≤i≤n)和求第i个结点的直接前驱(2≤i≤n) c. 将n个结点从小到大排序 d. 在第i个结点后插入一个新结点(1≤i≤n) 3.以下说法错误的是( d)。 选择一项: a. 由于顺序存储要求连续的存储区域,所以在存储管理上不够灵活 b. 顺序存储的线性表可以随机存取 c. 求表长、定位这两种运算在采用顺序存储结构时实现的效率不比采用链式存储结构时实现的效率低 d. 线性表的链式存储结构优于顺序存储结构 4.单链表的存储密度( b)。 选择一项: a. 不能确定 b. 小于1 c. 大于1 d. 等于1 5.向一个有127个元素的顺序表中插入一个新元素并保持原来顺序不变,平均要移动的元素个数为( c)。 选择一项: a. 63 b. 7 c. 63.5 d. 8 6.在一个长度为n的顺序表中,在第i个元素(1≤i≤n+1)之前插入一个新元素时须向后移动( b)个元素。 选择一项: a. n-i b. n-i+1 c. i d. n-i-1 7.在单链表中,要将s所指结点插入到p所指结点之后,其语句应为(a )。 选择一项: a. s->next=p->next; p->next=s; b. (*p).next=s; (*s).next=(*p).next; c. s->next=p->next; p->next=s->next; d. s->next=p+1; p->next=s; 8.在双向循环链表中,在p指针所指的结点后插入q所指向的新结点,其修改指针的操作是(b )。 选择一项: a. p->next=q; q->prior=p; p->next->prior=q; q->next=q; b. q->prior=p; q->next=p->next; p->next->prior=q; p->next=q; c. p->next=q; p->next->prior=q; q->prior=p; q->next=p->next; d. q->prior=p; q->next=p->next; p->next=q; p->next->prior=q; 9.在双向链表存储结构中,删除p所指的结点时须修改指针(c )。 选择一项: a. p->prior=p->next->next; p->next=p->prior->prior; b. p->next=p->next->next; p->next->prior=p; c. p->next->prior=p->prior; p->prior->next=p->next; d. p->prior->next=p; p->prior=p->prior->prior; 10.将两个各有n个元素的有序表归并成一个有序表,其最少的比较次数是(c )。 选择一项: a. 2n b. n-1 c. n d. 2n-1 11.线性表L=(a1,a2,……an),下列说法正确的是( b)。 选择一项: a. 表中诸元素的排列必须是由小到大或由大到小 b. 除第一个和最后一个元素外,其余每个元素都有一个且仅有一个直接前驱和直接后继。 c. 每个元素都有一个直接前驱和一个直接后继 d. 线性表中至少有一个元素 12.线性表若采用链式存储结构时,要求内存中可用存储单元的地址(d )。 选择一项: a. 部分地址必须是连续的 b. 一定是不连续的 c. 必须是连续的 d. 连续或不连续都可以 13.线性表L在(d )情况下适用于使用链式结构实现。 选择一项: a. L中结点结构复杂 b. L中含有大量的结点 c. 需经常修改L中的结点值

C语言_顺序分支结构_选择题(新)

顺序分支结构选择题: 1. 设ch是char型变量,其值为A,且有下面的表达式: ch=(ch>='A'&&ch<='Z')?(ch+32):ch 上面表达式的值是 A) A B) a C) Z D) z B 2. 设a,b和c都是int型变量,且a=3,b=4,c=5,则下面的表达式中, 值为0的表达式是 A) 'a'&&'b' B) a<=b C) a||b+c&&b-c D) !((a=10 or a<=0 B) a>=10 | a<=0 C) a> =10 || a< =0 D) a>=10 || a<=0 D 4. 设a为整型变量,不能正确表达数学关系:1010 && a<15 D) !(a<=10) && !(a>=15) A 5. 设x 、y 、z 、t均为int型变量,则执行以下语句后,t的值为 x=y=z=1; t=++x || ++y && ++z; A) 不定值B) 4 C) 1 D) 0 C 6. 语句:printf("%d",(a=2) && (b= -2));的输出结果是 A)无输出B)结果不确定C)-1 D)1 D 7. 能正确表示a和b同时为正或同时为负的逻辑表达式是 A) (a>=0 || b>=0) && (a<0 || b<0) B) (a>=0 && b>=0) && (a<0 && b<0) C) (a+b>0 && a+b<=0) D) a*b>0 D 8. 为了避免嵌套的if-else语句的二义性,C语言规定else总是 与( )组成配对关系。 A) 缩排位置相同的if B) 在其之前未配对的if C) 在其之前未配对的最近的if D) 同一行上的if C 9. 已知int x=10,y=20,z=30,则执行 if (x>y) z=x;x=y;y=z; 语句后,x、y、z 的值是( )。 A) x=10,y=20,z=30 B) x=20,y=30,z=30 C) x=20,y=30,z=10 D) x=20,y=30,z=20 B 10. 执行下面程序的输出结果是( )。 main( ) { int a=5,b=0,c=0; if (a=a+b) printf("****\n"); else printf("####\n"); }

数据结构考试题库含答案

数据结构习题集含答案 目录

选择题 第一章绪论 1.数据结构这门学科是针对什么问题而产生的(A ) A、针对非数值计算的程序设计问题 B、针对数值计算的程序设计问题 C、数值计算与非数值计算的问题都针对 D、两者都不针对 2.数据结构这门学科的研究内容下面选项最准确的是(D ) A、研究数据对象和数据之间的关系 B、研究数据对象 C、研究数据对象和数据的操作 D、研究数据对象、数据之间的关系和操作 3.某班级的学生成绩表中查得张三同学的各科成绩记录,其中数据结构考了90分,那 么下面关于数据对象、数据元素、数据项描述正确的是(C ) A、某班级的学生成绩表是数据元素,90分是数据项 B、某班级的学生成绩表是数据对象,90分是数据元素 C、某班级的学生成绩表是数据对象,90分是数据项 D、某班级的学生成绩表是数据元素,90分是数据元素 4.*数据结构是指(A )。 A、数据元素的组织形式 B、数据类型 C、数据存储结构 D、数据定义 5.数据在计算机存储器内表示时,物理地址与逻辑地址不相同,称之为(C )。 A、存储结构 B、逻辑结构 C、链式存储结构 D、顺序存储结构 6.算法分析的目的是(C ) A、找出数据的合理性 B、研究算法中的输入和输出关系 C、分析算法效率以求改进 D、分析算法的易懂性和文档型性

7.算法分析的主要方法(A )。 A、空间复杂度和时间复杂度 B、正确性和简明性 C、可读性和文档性 D、数据复杂性和程序复杂性 8.计算机内部处理的基本单元是(B ) A、数据 B、数据元素 C、数据项 D、数据库 9.数据在计算机内有链式和顺序两种存储方式,在存储空间使用的灵活性上,链式存储 比顺序存储要(B )。 A、低 B、高 C、相同 D、不好说 10.算法的时间复杂度取决于( C ) A 、问题的规模B、待处理数据的初始状态 C、问题的规模和待处理数据的初始状态 D、不好说 11.数据结构既研究数据的逻辑结构,又研究物理结构,这种观点(B )。 A、正确 B、错误 C、前半句对,后半句错 D、前半句错,后半句对 12.在数据结构中,从逻辑上可以把数据结构分成( C ) A、动态结构和静态结构 B、紧凑结构和非紧凑结构 C、线性结构和非线性结构 D、内部结构和外部结构 13.线性表的顺序存储结构是一种( )的存储结构,线性表的链式存储结构是一种( A ) 存储结构。 A、随机存取 B、顺序存取 C、索引存取 D、散列存取 14.*下列程序的时间复杂度是(A ) for (i=1; i<=n; ++i){ for (j=1; j<=n; ++j){ c [i][j]=0;

数据结构期末考试题及标准答案

数据结构期末考试题及标准答案

————————————————————————————————作者:————————————————————————————————日期:

2012年数据结构期末考试题及答案 一、选择题 1.在数据结构中,从逻辑上可以把数据结构分为C。 A.动态结构和静态结构B.紧凑结构和非紧凑结构 C.线性结构和非线性结构D.内部结构和外部结构 2.数据结构在计算机内存中的表示是指A。 A.数据的存储结构B.数据结构C.数据的逻辑结构D.数据元素之间的关系 3.在数据结构中,与所使用的计算机无关的是数据的A结构。 A.逻辑B.存储C.逻辑和存储D.物理 4.在存储数据时,通常不仅要存储各数据元素的值,而且还要存储C。 A.数据的处理方法B.数据元素的类型 C.数据元素之间的关系D.数据的存储方法 5.在决定选取何种存储结构时,一般不考虑A。 A.各结点的值如何B.结点个数的多少 C.对数据有哪些运算D.所用的编程语言实现这种结构是否方便。 6.以下说法正确的是D。 A.数据项是数据的基本单位 B.数据元素是数据的最小单位 C.数据结构是带结构的数据项的集合 D.一些表面上很不相同的数据可以有相同的逻辑结构 7.算法分析的目的是C,算法分析的两个主要方面是A。 (1)A.找出数据结构的合理性B.研究算法中的输入和输出的关系 C.分析算法的效率以求改进C.分析算法的易读性和文档性 (2)A.空间复杂度和时间复杂度B.正确性和简明性 C.可读性和文档性D.数据复杂性和程序复杂性 8.下面程序段的时间复杂度是O(n2)。

s =0; for(I =0;i<n;i++) for(j=0;j<n;j++) s +=B[i][j]; sum =s ; 9.下面程序段的时间复杂度是O(n*m)。 for(i =0;i<n;i++) for(j=0;j<m;j++) A[i][j] =0; 10.下面程序段的时间复杂度是O(log3n)。 i =0; while(i<=n) i =i * 3; 11.在以下的叙述中,正确的是B。 A.线性表的顺序存储结构优于链表存储结构 B.二维数组是其数据元素为线性表的线性表 C.栈的操作方式是先进先出 D.队列的操作方式是先进后出 12.通常要求同一逻辑结构中的所有数据元素具有相同的特性,这意味着B 。 A.数据元素具有同一特点 B.不仅数据元素所包含的数据项的个数要相同,而且对应的数据项的类型要一致 C.每个数据元素都一样 D.数据元素所包含的数据项的个数要相等 13.链表不具备的特点是A。 A.可随机访问任一结点B.插入删除不需要移动元素 C.不必事先估计存储空间D.所需空间与其长度成正比 14.不带头结点的单链表head为空的判定条件是A。

数据结构考试题(二)

数据结构试卷(一) 一、选择题(30分) 1.设一维数组中有n个数组元素,则读取第i个数组元素的平均时间复杂度为()。 (A) O(n) (B) O(nlog2n) (C) O(1) (D) O(n2) 2.设一棵二叉树的深度为k,则该二叉树中最多有()个结点。 (A) 2k-1 (B) 2k(C) 2k-1(D) 2k-1 3.设某无向图中有n个顶点e条边,则该无向图中所有顶点的入度之和为()。 (A) n (B) e (C) 2n (D) 2e 4.在二叉排序树中插入一个结点的时间复杂度为()。 (A) O(1) (B) O(n) (C) O(log2n) (D) O(n2) 5.设某有向图的邻接表中有n个表头结点和m个表结点,则该图中有()条有向边。 (A) n (B) n-1 (C) m (D) m-1 6.设一组初始记录关键字序列为(345,253,674,924,627),则用基数排序需要进行()趟的分配和回收才能使得初始关键字序列变成有序序列。 (A) 3 (B) 4 (C) 5 (D) 8 7.设用链表作为栈的存储结构则退栈操作()。 (A) 必须判别栈是否为满(B) 必须判别栈是否为空 (C) 判别栈元素的类型(D) 对栈不作任何判别 8.下列四种排序中()的空间复杂度最大。 (A) 快速排序(B) 冒泡排序(C) 希尔排序(D) 堆 9.设某二叉树中度数为0的结点数为N0,度数为1的结点数为N l,度数为2的结点数为N2,则下列等式成立的是()。 (A) N0=N1+1 (B) N0=N l+N2(C) N0=N2+1 (D) N0=2N1+l 10.设有序顺序表中有n个数据元素,则利用二分查找法查找数据元素X的最多比较次数不 超过()。 (A) log2n+1 (B) log2n-1 (C) log2n (D) log2(n+1) 二、填空题(42分) 1.1.设有n个无序的记录关键字,则直接插入排序的时间复杂度为________,快速排序的平均时间复杂度为_________。 2.2.设指针变量p指向双向循环链表中的结点X,则删除结点X需要执行的语句序列为_________________________________________________________(设结点中的两个指针域分别为llink和rlink)。 3.3.根据初始关键字序列(19,22,01,38,10)建立的二叉排序树的高度为____________。4.4.深度为k的完全二叉树中最少有____________个结点。 5.5.设初始记录关键字序列为(K1,K2,…,K n),则用筛选法思想建堆必须从第______个元素开始进行筛选。 6.6.设哈夫曼树中共有99个结点,则该树中有_________个叶子结点;若采用二叉链表作为存储结构,则该树中有_____个空指针域。 7.7.设有一个顺序循环队列中有M个存储单元,则该循环队列中最多能够存储________个队列元素;当前实际存储________________个队列元素(设头指针F指向当前队头元素的前一个位置,尾指针指向当前队尾元素的位置)。 8.8.设顺序线性表中有n个数据元素,则第i个位置上插入一个数据元素需要移动表中_______个数据元素;删除第i个位置上的数据元素需要移动表中_______个元素。9.9.设一组初始记录关键字序列为(20,18,22,16,30,19),则以20为中轴的一趟快速排序结果为______________________________。 10.10.设一组初始记录关键字序列为(20,18,22,16,30,19),则根据这些初始关键字序列建成的初始堆为________________________。 11.11.设某无向图G中有n个顶点,用邻接矩阵A作为该图的存储结构,则顶点i和顶点j互为邻接点的条件是______________________。

C语言程序-分支结构题目及答案

21.htm 01. 从键盘输入一个字符,如果是大写字母,就转换成小写;如果是小写字母,就转换成大写,如果是其他字符原样保持并将结果输出。#include void main() { char c; scanf("%c",&c); if(c>='A'&&c<='Z') c=c+32; else if(c>='a'&&c<='z') c=c-32; printf("%c",c); } 02. 从键盘输入一个数,判断其是否是5的倍数而不是7的倍数。如果是,输出Y es,否则输出No。 #include void main() { int a; scanf("%d",&a); if(a%5==0&&a%7!=0) printf("yes"); else printf("no"); } 03. 从键盘输入一个4位正整数,求其逆序数,并输出。例如:若输

入1234,则输出应该是4321。 #include void main() { int n,g,s,b,q,m; scanf("%d",&n); q=n/1000; b=n/100%10; s=n/10%10; g=n%10; m=g*1000+s*100+b*10+q; printf("%d\n",m); } 22.htm 01. 从键盘输入一个字符,如果是字母,就输出其对应的ASCII码;如果是数字字符,就转换成对应整数并输出。 #include void main() { char c; scanf("%c",&c); if(c>='a'&&c<='z'||c>='A'&&c<='Z') printf("ASCII:%d",c); else if(c>='0'&&c<='9') printf("数字:%d",c-'0'); } 02. 从键盘输入一个数,判断其是否能同时被3和5整除。如果是,

相关主题
文本预览
相关文档 最新文档