天津工业大学2017考研初试自命题科目考试大纲834数据结构与程序设计

天津工业大学2017考研初试自命题科目考试大纲834数据结构与程序设计
天津工业大学2017考研初试自命题科目考试大纲834数据结构与程序设计

天津工业大学硕士研究生入学考试业务课考试大纲科目编号:834 科目名称:数据结构与程序设计

一、考试的总体要求

考试内容由两部分组成,数据结构(占90分)和程序设计(占60分)。

数据结构是计算机科学与技术、软件工程和网络工程等与计算机相关专业的专业基础课。该门课程的硕士研究生入学考试要求考生能够比较系统地理解数据结构的基本概念、基本原理和方法,掌握数据的逻辑结构、存储结构以及各种基本操作的实现;要求考生能够运用所学的基本原理和基本方法分析、判断和解决相关的理论问题和实际问题;要求考生能够对算法进行设计与分析并选择适当的数据结构和方法进行问题求解。程序设计指采用C语言,应用数据结构的相关知识进行程序设计,要求考生掌握基本的程序设计方法,掌握C语言的基本概念、语法及编程方法等。

二、考试的内容及比例

1.数据结构考试的内容包括(占90分):

①线性表、顺序表以及链表的定义、特点、存储结构及相关的基本算法。

②栈的定义、特点、顺序与链式存储表示、基本算法;栈的应用;队列的定义、特点;链队列、循环队列相关的定义、特点、基本算法;栈与递归的实现。

③广义表的定义及存储结构。

④二叉树的定义、性质及存储结构;遍历二叉树定义、过程及其算法;二叉树的应用;树、森林与二叉数之间的转换;哈夫曼树及其应用;与二叉树应用相关的递归算法。

⑤图的定义、存储结构;图的遍历过程及算法;最小生成树构造过程及算法;拓扑排序过程及算法;关键路径相关内容;最短路径相关内容;与图应用相关的递归算法。

⑥静态表查找过程及算法、动态表查找过程及算法;哈希表的构造及处理冲突方法。

⑦插入排序、快速排序、选择排序、归并排序、基数排序等内部排序的特点、过程及算法。

2.程序设计考试的内容包括(占60分):

①熟练运用常量与变量;熟练运用各种数据类型;掌握变量赋初值、算术运算符及表达式、关系运算符及表达式和逻辑运算符和表达式求解,并能够在程序设计中正确使用;字符数据的输入与输出函数、格式输入与输出函数。

②基本控制结构:顺序、选择、循环语句的应用和编程。考生应能够编写简单的顺序

结构程序、分支结构程序和循环结构程序;掌握计数型循环(如for循环)和条件型循环(如while、do-while循环等)的执行;要求能够编写带有循环结构的程序。

③基本的编程方法和程序设计技巧(穷举法、迭代法、递归法以及回溯法等)。

④模块化编程方法(函数的定义、调用,函数参数,函数的重载及标识符的作用域等)。

⑤结构化程序设计方法的应用等。

⑥组织数据的能力(能够根据具体的问题设计合适的数据结构和数据类型,并能求解问题)。

⑦算法的描述工具(流程图、N-S图等)。

三、试卷的题型及比例

试卷分为数据结构、程序设计两部分,总分150分。

数据结构(90分)试题类型包括:填空题、选择题、判断题、综合应用题等。

程序设计(60分)试题类型包括:基本理论与概念、程序填空题、读程序写运算结果以及程序设计题等。

四、考试形式及时间

1. 考试形式:闭卷笔试。

2. 考试时间:3个小时。

五、主要参考教材

1. 严蔚敏,《数据结构(C语言版)》,清华大学出版社,2013年。

2. 谭浩强,《C程序设计》(第四版),清华大学出版社,2010年。

3. 羊四清,《C语言程序设计》,中国水利水电出版社,2012年

4. 李云清,《数据结构(C语言版)》,人民邮电出版社,2014年。

数据结构试题及答案10套

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

数据结构试题答案

第一章概论 一、选择题 1、研究数据结构就是研究(D )。 A. 数据的逻辑结构 B. 数据的存储结构 C. 数据的逻辑结构和存储结构 D. 数据的逻辑结构、存储结构及其基本操作(研究非数值计算的程序设计问题中,计算机操作对象以及他们之间的关系和操作) 2、算法分析的两个主要方面是( A )。 A. 空间复杂度和时间复杂度 B. 正确性和简单性 C. 可读性和文档性 D. 数据复杂性和程序复杂性 3、具有线性结构的数据结构是( D )。(线性结构就是:在非空有限集合中,存在为一个被称为第一个的数据元素和最后一个元素,有除了第一个元素,集合中每一个元素均只有一个前驱,除了最后一个元素有唯一后继)(链表、栈、队列、数组、串) A. 图 B. 树 C. 广义表(线性表的推广) D. 栈 4、计算机中的算法指的是解决某一个问题的有限运算序列,它必须具备输入、输出、(B )等5个特性。 A. 可执行性、可移植性和可扩充性 B. 可执行性、有穷性和确定性 C. 确定性、有穷性和稳定性 D. 易读性、稳定性和确定性 5、下面程序段的时间复杂度是( C )。 for(i=0;i

6、算法是(D )。为了解决某一问题而规定的一个有限长的操作序列 A. 计算机程序 B. 解决问题的计算方法 C. 排序算法 D. 解决问题的有限运算序列 7、某算法的语句执行频度为(3n+nlog2n+n2+8),其时间复杂度表示(C )。 A. O(n) B. O(nlog2n) C. O(n2) D. O(log2n) 8、下面程序段的时间复杂度为( C )。 i=1; while(i<=n) i=i*3; A. O(n) B. O(3n) C. O(log3n) D. O(n3) 9、数据结构是一门研究非数值计算的程序设计问题中计算机的数据元素以及它们之间的(B )和运算等的学科。(关系和操作) A. 结构 B. 关系 C. 运算 D. 算法 10、下面程序段的时间复杂度是( A )。 i=s=0; while(s

数据结构习题与答案

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

数据结构试题及答案

一、单选题(每题2 分,共20分) 1. 1.对一个算法的评价,不包括如下(B )方面的内容。 A.健壮性和可读性B.并行性C.正确性D.时空复杂度 2. 2.在带有头结点的单链表HL中,要向表头插入一个由指针p指向的结 点,则执行( A )。 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.对线性表,在下列哪种情况下应当采用链表表示?(B ) 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网是一种( D )。 A.有向图B.无向图C.无向无环图D.有向无环图 6. 6.采用开放定址法处理散列表的冲突时,其平均查找长度(B)。 A.低于链接法处理冲突 B. 高于链接法处理冲突 C.与链接法处理冲突相同D.高于二分查找 7.7.若需要利用形参直接访问实参时,应将形参变量说明为(D )参数。 A.值B.函数C.指针D.引用 8.8.在稀疏矩阵的带行指针向量的链接存储中,每个单链表中的结点都具 有相同的(A)。 A.行号B.列号C.元素值D.非零元素个数 9.9.快速排序在最坏情况下的时间复杂度为(D )。 A.O(log2n) B.O(nlog2n) C.0(n) D.0(n2) 10.10.从二叉搜索树中查找一个元素时,其时间复杂度大致为( C )。 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的单链存储的线性表,在表头插入元素的时间复杂度 为____O(1)_____,在表尾插入元素的时间复杂度为____O n________。

数据结构试题库答案

数据结构试题及答案 一、单项选择题 (1)一个算法应该就是()。 A)程序???B)问题求解步骤得描述 C)要满足五个基本属性??D) A与C (2)算法指得就是()。 A)计算机程序???B)解决问题得计算方法 C)排序算法???D)解决问题得有限运算序列。 (3)与数据元素本身得形式、内容、相对位置、个数无关得就是数据得()。 A) 存储结构B) 逻辑结构C)算法D)操作 (4)从逻辑上可以把数据结构分为( )两大类。 A)动态结构、静态结构??B) 顺序结构、链式结构 C)线性结构、非线性结构???D)初等结构、构造型结构 (5)下列叙述中正确得就是()。 A)一个逻辑数据结构只能有一种存储结构 B)数据得逻辑结构属于线性结构,存储结构属于非线性结构 C)一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理得效率 D)一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理得效率 (6)数据得基本单位就是() ?A) 数据项??B) 数据类型C)数据元素??D)数据变量 (7)下列程序得时间复杂度为() i=0;s=0; while(s

数据结构试题与答案.doc

数据结构试卷(十一) 一、选择题 (30 分) 1 .设某无向图有n 个顶点,则该无向图的邻接表中有()个表头结点。 (A) 2n (B) n (C) n/2 (D) n(n-1) 2 .设无向图 G 中有 n 个顶点,则该无向图的最小生成树上有()条边。 (A) n (B) n-1 (C) 2n (D) 2n-1 3 .设一组初始记录关键字序列为(60 , 80 , 55 , 40 , 42 , 85) ,则以第一个关键字45 为 基准而得到的一趟快速排序结果是()。 (A) 40 ,42 ,60 , 55 ,80 ,85 (B) 42 ,45 ,55 , 60 ,85 ,80 (C) 42 , 40 ,55 , 60 ,80 ,85 (D) 42 , 40 ,60 , 85 ,55 ,80 4 .()二叉排序树可以得到一个从小到大的有序序列。 (A) 先序遍历(B) 中序遍历(C) 后序遍历(D) 层次遍历 5 .设按照从上到下、从左到右的顺序从 1 开始对完全二叉树进行顺序编号,则编号为i 结 点的左孩子结点的编号为()。 (A) 2i+1 (B) 2i (C) i/2 (D) 2i-1 6 .程序段 s=i=0 ; do {i=i+1 ; s=s+i ; }while(i<=n) ;的时间复杂度为()。 (A) O(n) (B) O(nlog 2 n) (C) O(n 2 ) (D) O(n 3 /2) 7 .设带有头结点的单向循环链表的头指针变量为head ,则其判空条件是()。 (A) head==0 (B) head->next==0 (C) head->next==head (D) head!=0 8 .设某棵二叉树的高度为10 ,则该二叉树上叶子结点最多有()。 (A) 20 (B) 256 (C) 512 (D) 1024 9 .设一组初始记录关键字序列为(13 ,18 ,24 ,35 ,47 ,50 ,62 ,83 ,90 ,115 ,134), 则利用二分法查找关键字90 需要比较的关键字个数为()。 (A) 1 (B) 2 (C) 3 (D) 4 10. 设指针变量 top 指向当前链式栈的栈顶,则删除栈顶元素的操作序列为()。 (A) top=top+1; (B) top=top-1; (C) top->next=top; (D) top=top->next; 二、判断题 (20 分) 1 .不论是入队列操作还是入栈操作,在顺序存储结构上都需要考虑“溢出”情况。() 2 .当向二叉排序树中插入一个结点,则该结点一定成为叶子结点。() 3 .设某堆中有 n 个结点,则在该堆中插入一个新结点的时间复杂度为O(log 2 n) 。() 4 .完全二叉树中的叶子结点只可能在最后两层中出现。() 5 .哈夫曼树中没有度数为 1 的结点。() 6 .对连通图进行深度优先遍历可以访问到该图中的所有顶点。() 7 .先序遍历一棵二叉排序树得到的结点序列不一定是有序的序列。() 8 .由树转化成二叉树,该二叉树的右子树不一定为空。() 9 .线性表中的所有元素都有一个前驱元素和后继元素。() 10. 带权无向图的最小生成树是唯一的。()

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

数据结构试卷(十一) 一、选择题(30分) 1.设某无向图有n个顶点,则该无向图的邻接表中有()个表头结点。 (A) 2n (B) n (C) n/2 (D) n(n-1) 2.设无向图G中有n个顶点,则该无向图的最小生成树上有()条边。 (A) n (B) n-1 (C) 2n (D) 2n-1 3.设一组初始记录关键字序列为(60,80,55,40,42,85),则以第一个关键字45为基准而得到的一趟快速排序结果是()。 (A) 40,42,60,55,80,85 (B) 42,45,55,60,85,80 (C) 42,40,55,60,80,85 (D) 42,40,60,85,55,80 4.()二叉排序树可以得到一个从小到大的有序序列。 (A) 先序遍历(B) 中序遍历(C) 后序遍历(D) 层次遍历 5.设按照从上到下、从左到右的顺序从1开始对完全二叉树进行顺序编号,则编号为i结点的左孩子结点的编号为()。 (A) 2i+1 (B) 2i (C) i/2 (D) 2i-1 6.程序段s=i=0;do {i=i+1;s=s+i;}while(i<=n);的时间复杂度为()。 (A) O(n) (B) O(nlog2n) (C) O(n2) (D) O(n3/2) 7.设带有头结点的单向循环链表的头指针变量为head,则其判空条件是()。 (A) head==0 (B) head->next==0 (C) head->next==head (D) head!=0 8.设某棵二叉树的高度为10,则该二叉树上叶子结点最多有()。 (A) 20 (B) 256 (C) 512 (D) 1024 9.设一组初始记录关键字序列为(13,18,24,35,47,50,62,83,90,115,134),则利用二分法查找关键字90需要比较的关键字个数为()。 (A) 1 (B) 2 (C) 3 (D) 4 10.设指针变量top指向当前链式栈的栈顶,则删除栈顶元素的操作序列为()。 (A) top=top+1; (B) top=top-1; (C) top->next=top; (D) top=top->next; 二、判断题(20分) 1.不论是入队列操作还是入栈操作,在顺序存储结构上都需要考虑“溢出”情况。()2.当向二叉排序树中插入一个结点,则该结点一定成为叶子结点。() 3.设某堆中有n个结点,则在该堆中插入一个新结点的时间复杂度为O(log2n)。()4.完全二叉树中的叶子结点只可能在最后两层中出现。() 5.哈夫曼树中没有度数为1的结点。() 6.对连通图进行深度优先遍历可以访问到该图中的所有顶点。() 7.先序遍历一棵二叉排序树得到的结点序列不一定是有序的序列。() 8.由树转化成二叉树,该二叉树的右子树不一定为空。() 9.线性表中的所有元素都有一个前驱元素和后继元素。() 10.带权无向图的最小生成树是唯一的。() 三、填空题(30分) 1. 1.设指针变量p指向双向链表中的结点A,指针变量s指向被插入的结点X,则在结点 A的后面插入结点X的操作序列为_________=p;s->right=p->right;__________=s; p->right->left=s;(设结点中的两个指针域分别为left和right)。 2. 2.设完全有向图中有n个顶点,则该完全有向图中共有________条有向条;设完全无 向图中有n个顶点,则该完全无向图中共有________条无向边。

数据结构习题及答案

第一章 1.在数据结构中,从逻辑上可以把数据结构分为(C ) A.动态结构和静态结构 B. 紧凑结构和非紧凑结构 C.线性结构和非线性结构 D. 内部结构和外部结构 ● 2.在数据结构中,与所使用的计算机无关的是( A ) A. 逻辑结构 B. 存储结构 C. 逻辑和存储结构 D. 物理结构 3.下面程序的时间复杂度为____O(mn)_______。 for (int i=1; i<=m; i++) for (int j=1; j<=n; j++ ) S+=i 第二章线性表 ●链表不具备的特点是(A) A 可以随机访问任一结点(顺序) B 插入删除不需要移动元素 C 不必事先估计空间 D 所需空间与其长度成正比 2. 不带头结点的单链表head为空的判定条件为(A ),带头结点的单链表head为空的判定条件为(B ) A head==null B head->next==null C head->next==head D head!=null ●3.在线性表的下列存储结构中,读取元素花费时间最少的是(D) A 单链表 B 双链表 C 循环链表 D 顺序表 ● 4.对于只在表的首、尾两端进行手稿操作的线性表,宜采用的存储结构为(C) A 顺序表 B 用头指针表示的单循环链表 C 用尾指针表示的单循环链表 D 单链表 ● 5.在一个具有n 个结点的有序单链表中插入一个新的结点,并保持链表元素仍然有序, 则操作的时间复杂度为( D ) A O(1) B O(log2n) C O(n2) D O(n) ● 6.在一个长度为n (n>1)的单链表上,设有头和尾两个指针,执行(B)操作与链表的长 度有关 A 删除单链表中第一个元素 B 删除单链表中最后一个元素 C 在第一个元素之前插入一个新元素 D 在最后一个元素之后插入一个新元素 ●7.与单链表相比,双向链表的优点之一是(D) A 插入删除操作更简单 B 可以进行随机访问 C 可以省略表头指针或表尾指针 D 顺序访问相邻结点更容易 ●8.若list是某带头结点的循环链表的头结点指针,则该链表最后那个链结点的指针域 (头结点的地址)中存放的是( B ) A list的地址 B list的内容 C list指的链结点的值 D 链表第一个链结点的地址 ●9.若list1和list2分别为一个单链表与一个双向链表的第一个结点的指针,则( B ) A list2比list1占用更多的存储单元 B list1与list2占用相同的存储单元 C list1和list2应该是相同类型的指针变量 D 双向链表比单链表占用更多的存储单元 10.链表中的每个链结点占用的存储空间不必连续,这句话正确吗? (不正确) 11. 某线性表采用顺序存储结构,元素长度为4,首地址为100,则下标为12的(第13个)元素的存储地址为148。V 100+4*12=148 11.在顺序表的(最后一个结点之后)插入一个新的数据元素不必移动任何元素。 12.若对线性表进行的操作主要不是插入删除,则该线性表宜采用(顺序)存储结构,若频繁地对线性表进行插入和删除操作,则该线性表宜采用( 链 )存储结构。

数据结构试题(含答案)

一.是非题 (正确的打“√”,错误的打“×”。) 1. 数据结构可用三元式表示(D,S,P)。其中:D是数据对象,S是D上的关系, P是对D的基本操作集。× 2. 线性表的链式存储结构具有可直接存取表中任一元素的优点。× 3. 字符串是数据对象特定的线性表。 4. 二叉树是一棵结点的度最大为二的树。× 5.邻接多重表可以用以表示无向图,也可用以表示有向图。× 6.可从任意有向图中得到关于所有顶点的拓扑次序。× 7.一棵无向连通图的生成树是其极大的连通子图。× 8.二叉排序树的查找长度至多为log2n。× <9>.对于一棵m阶的B-树.树中每个结点至多有m 个关键字。除根之外的所有非终端结点 至少有┌m/2┐个关键字。× 10.对于目前所知的排序方法,快速排序具有最好的平均性能。 11. 顺序存储方式的优点是存储密度大,且插入、删除运算效率高。× 12. 二维数组是其数据元素为线性表的线性表。 13. 连通图G的生成树是一个包含G的所有n个顶点和n-1条边的子图。× 14. 折半查找不适用于有序链表的查找。 15. 完全二叉树必定是平衡二叉树。 16. 中序线索二叉树的优点是便于在中序下查找直接前驱结点和直接后继结点。 17. 队列是与线性表完全不同的一种数据结构。× 18. 平均查找长度与记录的查找概率有关。 19. 二叉树中每个结点有两个子结点,而对一般的树,则无此限制,所以,二叉树是树的特殊情形。× 20. 算法的时间复杂性越好,可读性就越差;反之,算法的可读性越好,则时间复杂性就越差。× 二.选择题 1. 若对编号为1,2,3的列车车厢依次通过扳道栈进行调度,不能得到 ( e ) 的序列。 a:1,2,3 b:1,3,2 c:2,1,3 d:2,3,1 e:3,1,2 f:3,2,1 2. 递归程序可借助于( b )转化为非递归程序。 a:线性表 b: 栈 c:队列 d:数组 3. 在下列数据结构中( c )具有先进先出(FIFO)特性, ( b )具有先进后出(FILO)特性。 a:线性表 b:栈 c:队列 d:广义表 4. 对字符串s=’data-structure’ 执行操作replace(s,substring(s,6,8),’bas’)

(完整版)数据结构试题及答案

《数据结构》自考复习思考试题○10 一、单项选择题(本大题共15小题,每小题2分,共30分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1. 若将数据结构形式定义为二元组(K,R),其中K是数据元素的有限集合,则R是K上 ( ) A. 操作的有限集合 B. 映象的有限集合 C. 类型的有限集合 D. 关系的有限集合 2. 在长度为n的顺序表中删除第i个元素(1≤i≤n)时,元素移动的次数为( ) A. n-i+1 B. i C. i+1 D. n-i 3. 若不带头结点的单链表的头指针为head,则该链表为空的判定条件是( ) A. head==NULL B. head->next==NULL C. head!=NULL D. head->next==head 4. 引起循环队列队头位置发生变化的操作是( ) A. 出队 B. 入队 C. 取队头元素 D. 取队尾元素 5. 若进栈序列为1,2,3,4,5,6,且进栈和出栈可以穿插进行,则不.可能出现的出栈序列是( ) A. 2,4,3,1,5,6 B. 3,2,4,1,6,5 C. 4,3,2,1,5,6 D. 2,3,5,1,6,4 6. 字符串通常采用的两种存储方式是( ) A. 散列存储和索引存储 B. 索引存储和链式存储 C. 顺序存储和链式存储 D. 散列存储和顺序存储 7. 设主串长为n,模式串长为m(m≤n),则在匹配失败情况下,朴素匹配算法进行的无效位移次数为( ) A. m B. n-m C. n-m+1 D. n 8. 二维数组A[12][18]采用列优先的存储方法,若每个元素各占3个存储单元,且第1个元素的地址为150,则元素A[9][7]的地址为( ) A. 429 B. 432 .

数据结构习题及答案

数据结构习题及答案 第1章算法 1,选择题 1。算法的时间复杂度是指()a)执行算法程序所需的时间b)算法程序256中的指令数+ C)算法执行所需的基本运算数d)算法程序 2的长度。算法的空间复杂性涉及()a)算法程序256的长度+ B)算法程序256占据的存储空间+ C)算法执行期间所需的存储空间d)算法程序 3中的指令数量。以下()具有最佳的时间复杂度(即最短的执行时间) a)o(n)b)o(log2n)c)o(nlog2n)d)o(n) 2 4。以下求和程序段的时间复杂度为()int sum(int a[),int n) { int i,s = 0; for(I = 0;不精确;//p指向下一个节点}} 第4章堆栈和队列 1,单主题 1。以下陈述是正确的() A)线性表是线性结构b)堆栈和队列是非线性结构 14 C)线性链表是非线性结构d)树是线性结构2。以下关于堆栈的陈述是正确的()

A)堆栈中只能插入数据b)堆栈中只能删除数据c)堆栈是先进先出线性表d)堆栈是先进先出线性表3。堆栈的插入和删除在()执行 A)堆栈顶部b)堆栈底部c)任意位置d)指定位置 4。当使用大小为N的一维数组顺序存储堆栈时,top用于表示堆栈顶部指针(指示器),top==N用于表示堆栈为空。当一个元素被插入到这个堆栈中时,应该首先通过执行()语句来修改顶部指针 A)top++;b)顶部-;c)顶部= 0;顶部= N-1; 5。当使用数组a[N]按顺序存储堆栈时,top表示堆栈顶部元素的下标位置,top==-1表示堆栈为空,top==N-1表示堆栈已满,则数组可以存储的最大堆栈长度为() a)n-1b)n c)n+1d)n+2 6。当使用数组a[N]顺序存储堆栈时,top用于表示堆栈的顶部指针,top==N+1用于表示堆栈为空,则数组可以存储的最大堆栈长度为N,这意味着堆栈已满的条件为() A)top = = 1;b)top = =-1;c)top = = 0;d)顶部> 1; 7。当使用数组a[N]按顺序存储堆栈时,top表示堆栈的顶部指针,top==-1表示堆栈为空,并且已知堆栈未满。当元素x进入堆栈时,执行的操作是() A)a[-top]= x;b)[顶-]= x;c)[++顶部]= x;d)[顶级+]= x; 8。当使用数组a[N]按顺序存储堆栈时,top表示堆栈的顶部指针,top==-1表示堆栈为空,并且知道堆栈不是空的。当弹出堆栈并返回堆栈的顶部元素时,操作为()

(完整版)数据结构课后习题答案

第1章绪论 1 ?简述下列概念:数据、数据元素、数据项、数据对象、数据结构、逻辑结构、存储结构、抽象数据类型。 答案: 数据:是客观事物的符号表示,指所有能输入到计算机中并被计算机程序处理的符号的总称。如数学计算中用到的整数和实数,文本编辑所用到的字符串,多媒体程序处理的图形、 图像、声音、动画等通过特殊编码定义后的数据。 数据元素:是数据的基本单位,在计算机中通常作为一个整体进行考虑和处理。在有些情况下,数据元素也称为元素、结点、记录等。数据元素用于完整地描述一个对象,如一个学生记录,树中棋盘的一个格局(状态)、图中的一个顶点等。 数据项:是组成数据元素的、有独立含义的、不可分割的最小单位。例如,学生基本信息表中的学号、姓名、性别等都是数据项。 数据对象:是性质相同的数据元素的集合,是数据的一个子集。例如:整数数据对象是集合N={0,士1,士2,…},字母字符数据对象是集合C={ ‘ A', ‘ B…,‘ Z,‘ a 'b ',…,‘ z ' },学生基本信息表也可是一个数据对象。 数据结构:是相互之间存在一种或多种特定关系的数据元素的集合。换句话说,数据结构是带“结构”的数据元素的集合,“结构”就是指数据元素之间存在的关系。 逻辑结构:从逻辑关系上描述数据,它与数据的存储无关,是独立于计算机的。因此,数据的逻辑结构可以看作是从具体问题抽象出来的数学模型。 存储结构:数据对象在计算机中的存储表示,也称为物理结构。 抽象数据类型:由用户定义的,表示应用问题的数学模型,以及定义在这个模型上的一组操作的总称。具体包括三部分:数据对象、数据对象上关系的集合和对数据对象的基本操作的集合。 2 ?试举一个数据结构的例子,叙述其逻辑结构和存储结构两方面的含义和相互关系。 答案: 例如有一张学生基本信息表,包括学生的学号、姓名、性别、籍贯、专业等。每个学生基本信息记录对应一个数据元素,学生记录按顺序号排列,形成了学生基本信息记录的线性序列。对于整个表来说,只有一个开始结点(它的前面无记录)和一个终端结点(它的后面无记 录),其他的结点则各有一个也只有一个直接前趋和直接后继。学生记录之间的这种关系就确 定了学生表的逻辑结构,即线性结构。 这些学生记录在计算机中的存储表示就是存储结构。如果用连续的存储单元(如用数组表示)来存放这些记录,则称为顺序存储结构;如果存储单元不连续,而是随机存放各个记录,然后用指针进行链接,则称为链式存储结构。 即相同的逻辑结构,可以对应不同的存储结构。 3 ?简述逻辑结构的四种基本关系并画岀它们的关系图。

数据结构试题及答案

试题及答案 一、单选题(每题 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的单链存储的线性表,在表头插入元素的时间复杂度

数据结构考试试题库含答案解析

数据结构习题集含答案 目录 目录 (1) 选择题 (2) 第一章绪论 (2) 第二章线性表 (4) 第三章栈和队列 (6) 第四章串 (7) 第五章数组和广义表 (8) 第六章树和二叉树 (8) 第七章图 (11) 第八章查找 (13) 第九章排序 (14) 简答题 (19) 第一章绪论 (19) 第二章线性表 (24) 第三章栈和队列 (26) 第四章串 (28) 第五章数组和广义表 (29) 第六章树和二叉树 (31) 第七章图 (36) 第八章查找 (38) 第九章排序 (39) 编程题 (41) 第一章绪论 (41) 第二章线性表 (41) 第三章栈和队列 (52) 第四章串 (52) 第五章数组和广义表 (52) 第六章树和二叉树 (52) 第七章图 (52) 第八章查找 (52) 第九章排序 (57)

选择题 第一章绪论 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、研究算法中的输入和输出关系

最新 十套数据结构试题及答案

数据结构试卷(一) (1) 数据结构试卷(二) (4) 数据结构试卷(三) (6) 数据结构试卷(四) (8) 数据结构试卷(五) (11) 数据结构试卷(六) (14) 数据结构试卷(七) (16) 数据结构试卷(八) (18) 数据结构试卷(九) (20) 数据结构试卷(十) (23) 数据结构试卷(一)参考答案 (26) 数据结构试卷(二)参考答案 (27) 数据结构试卷(三)参考答案 (28) 数据结构试卷(四)参考答案 (30) 数据结构试卷(五)参考答案 (32) 数据结构试卷(六)参考答案 (33) 数据结构试卷(七)参考答案 (36) 数据结构试卷(八)参考答案 (37) 数据结构试卷(九)参考答案 (38) 数据结构试卷(十)参考答案 (39) 数据结构试卷(一) 一、单选题(每题2 分,共20分) 1. 栈和队列的共同特点是( )。 A.只允许在端点处插入和删除元素 B.都是先进后出 C.都是先进先出 D.没有共同点 2. 用链接方式存储的队列,在进行插入运算时( ). A. 仅修改头指针 B. 头、尾指针都要修改 C. 仅修改尾指针 D.头、尾指针可能都要修改 3. 以下数据结构中哪一个是非线性结构?( ) A. 队列 B. 栈 C. 线性表 D. 二叉树 4. 设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在 676(10),每个元素占一个空间,问A[3][3](10)存放在什么位置?脚注(10)表示用10进制表示。 A.688 B.678 C.692 D.696 5. 树最适合用来表示( )。 A.有序数据元素 B.无序数据元素 C.元素之间具有分支层次关系的数据 D.元素之间无联系的数据 6. 二叉树的第k层的结点数最多为( ). A.2k-1 B.2K+1 C.2K-1 D. 2k-1 7. 若有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进行二 分查找,则查找A[3]的比较序列的下标依次为( ) A. 1,2,3 B. 9,5,2,3

数据结构试题及答案

数据结构试卷 一、填空殖(每空1分共20分) 1.数据的物理结构主要包括___顺序存储结构__________和_链式_____________两种情 况。 2.设一棵完全二叉树中有500个结点,则该二叉树的深度为_______9___;若用二叉链表 作为该完全二叉树的存储结构,则共有______501_____个空指针域。 3.设输入序列为1、2、3,则经过栈的作用后可以得到___________种不同的输出序列。 4.设有向图G用邻接矩阵A[n][n]作为存储结构,则该邻接矩阵中第i行上所有元素之和 等于顶点i的________,第i列上所有元素之和等于顶点i的________。 5.设哈夫曼树中共有n个结点,则该哈夫曼树中有________个度数为1的结点。 6.设有向图G中有n个顶点e条有向边,所有的顶点入度数之和为d,则e和d的关系为 _________。 7.__________遍历二叉排序树中的结点可以得到一个递增的关键字序列(填先序、中序或 后序)。 8.设查找表中有100个元素,如果用二分法查找方法查找数据元素X,则最多需要比较 ________次就可以断定数据元素X是否在查找表中。 9.不论是顺序存储结构的栈还是链式存储结构的栈,其入栈和出栈操作的时间复杂度均为 ____________。 10.设有n个结点的完全二叉树,如果按照从自上到下、从左到右从1开始顺序编号,则第 i个结点的双亲结点编号为____________,右孩子结点的编号为___________。 11.设一组初始记录关键字为(72,73,71,23,94,16,5),则以记录关键字72为基准的 一趟快速排序结果为___________________________。 12.设有向图G中有向边的集合E={<1,2>,<2,3>,<1,4>,<4,2>,<4,3>},则该图 的一种拓扑序列为____________________。 13.下列算法实现在顺序散列表中查找值为x的关键字,请在下划线处填上正确的语句。 struct record{int key; int others;}; int hashsqsearch(struct record hashtable[ ],int k) { int i,j; j=i=k % p; while (hashtable[j].key!=k&&hashtable[j].flag!=0){j=(____) %m; if (i==j) return(-1);} if (_______________________ ) return(j); else return(-1); 二、选择题(每题1分,共20分) 1.设某数据结构的二元组形式表示为A=(D,R),D={01,02,03,04,05,06,07,08,09},R={r},r={<01,02>,<01,03>,<01,04>,<02,05>,<02,06>,<03,07>,<03,08>,<03,09>},则数据结构A是()。 (A) 线性结构(B) 树型结构(C) 物理结构(D) 图型结构 2.下面程序的时间复杂为(B) for(i=1,s=0;i<=n;i++){t=1;for(j=1;j<=i;j++) t=t*j;s=s+t;} (A) O(n) (B) O(n2) (C) O(n3) (D) O(n4) 3.设指针变量p指向单链表中结点A,若删除单链表中结点A,则需要修改指针的操作序列为(A )。 (A) q=p->next;p->data=q->data;p->next=q->next;free(q); (B) q=p->next;q->data=p->data;p->next=q->next;free(q);

数据结构试题库及答案

数据结构试题库及答案 第一章概论 一、选择题 1、研究数据结构就是研究( D )。 A. 数据的逻辑结构 B. 数据的存储结构 C. 数据的逻辑结构和存储结构 D. 数据的逻辑结构、存储结构及其基本操作 2、算法分析的两个主要方面是( A )。 A. 空间复杂度和时间复杂度 B. 正确性和简单性 C. 可读性和文档性 D. 数据复杂性和程序复杂性 3、具有线性结构的数据结构是( D )。 A. 图 B. 树 C. 广义表 D. 栈 4、计算机中的算法指的是解决某一个问题的有限运算序列,它必须具备输入、输出、( B )等5个特性。 A. 可执行性、可移植性和可扩充性 B. 可执行性、有穷性和确定性 C. 确定性、有穷性和稳定性 D. 易读性、稳定性和确定性 5、下面程序段的时间复杂度是( C )。 for(i=0;i=(y+1)*(y+1))

相关文档
最新文档