856数据结构(C语言版)试卷
武汉科技大学856 数据结构(C语言版)-2019(A卷答案)
姓名: 报考专业: 准考证号码:
密封线内不要写题
2019年全国硕士研究生招生考试初试自命题试题答案
科目名称:数据结构(C 语言版)(□
√A 卷□B 卷)科目代码:856 考试时间:3小时 满分150分
可使用的常用工具:□
√无 □计算器 □直尺 □圆规(请在使用工具前打√) 注意:所有答题内容必须写在答题纸上,写在试题或草稿纸上的一律无效;考完后试题随答题纸交回。
一、选择题(共15小题,每小题2分,共30分)
BCDAB ADBAC ABDDC
二、填空题(共10小题,每小题2分,共20分)
1. n
2. s->next=L; L=s;
3. rear=(rear+1)%(m+1)
4. 9
5. 111
6. n2+n3
7. O(eloge)
8. 深度优先
9. 54/16 10. 79,56,38
三、判断题(对的答√错的答×,共10小题,每小题2分,共20分)
××√×√ ×√√×√
四、综合应用题(共5小题,每小题各8分,共40分)
1.
(1) (4分) k=2(i-1)+(j+1)%2
(2) (2分) i=k/2+1
(2分) j=k/2+k%2+1-k/2/2 2.
(1)(2分)AOV 网。
2014年武汉科技大学856数据结构(C语言版)A卷考研真题【圣才出品】
2014年武汉科技大学856数据结构(C语言版)A卷考研真题考试科目代码及科目名称:856数据结构(C语言版)答题内容写在答题纸上,写在试卷或草稿纸上一律无效考完后试题随答题纸交回。
考试时间3小时,总分值150 分。
一、选择题(10小题,每题2分,共20分)1.算法分析的主要内容是()。
A.正确性B.可读性和稳定性C.简单性D.空间复杂性和时间复杂性2.线性表若采用链式存储结构时,要求内存中可用存储单元的地址()。
A.必须是连续的B.部分地址必须是连续的C.一定是不连续的D.连续或不连续都可以3.设有6个元素按1、2、3、4、5、6的顺序进栈,下列不合法的出栈序列是()。
A.234165B.324651C.431256D.5463214.设有二维数组A[1..12,1..10],其每个元素占4个字节,数据按行优先顺序存储,第一个元素的存储地址为100,那么元素A[5,5]的存储地址为()。
A.76B.176C.276D.3765.已知一棵二叉树的先序序列为ABDGCFK,中序序列为DGBAFCK,则后序序列为()。
A.ACFKDBGB.GDBFKCAC.KCFAGDBD.ABCDFKG6.在二叉树结点的先序,中序和后序序列中,所有叶子结点的先后顺序()。
A.都不相同B.完全相同C.先序和中序相同,而与后序不同D.中序和后序相同,而与先序不同7.图的深度优先遍历类似于二叉树的()。
A.先序遍历B.中序遍历C.后序遍历D.层次遍历8.下面()算法适合构造一个稠密图G的最小生成树。
A.Prim算法B.K r u s k a l算法C.Floyd算法D.D I j k s t r a算法9.对关键码{46,79,56,38,40,84}采用堆排序,则初始化堆(小堆)后最后一个元素是()。
A.84B.46C.56D.3810.在Hash函数H(k)=k MOD m中,一般来讲m应取()。
A.奇数B.偶数C.素数D.充分大的数二、填空题(10小题,每题2分,共20分)1.在单向链表某P结点之后插入S结点的操作是()。
数据结构c语言版试题及答案
数据结构c语言版试题及答案一、选择题(每题2分,共10分)1. 在C语言中,以下哪个关键字用于定义结构体?A. structB. unionC. enumD. typedef答案:A2. 若有一个结构体数组,下列哪个函数可以用来初始化数组中的每个元素?A. memsetB. memcpyC. strcpyD. bzero答案:A3. 在C语言中,以下哪个函数用于动态分配内存?A. mallocB. callocC. reallocD. all of the above答案:D4. 对于一个链表,以下哪个操作是正确的?A. 插入节点B. 删除节点C. 遍历链表D. all of the above答案:D5. 在C语言中,以下哪个函数用于释放动态分配的内存?A. freeB. mallocC. callocD. realloc答案:A二、填空题(每题3分,共15分)1. 结构体定义的关键字是______。
答案:struct2. 在C语言中,动态分配内存失败时,malloc函数返回______。
答案:NULL3. 单链表的头节点指针通常初始化为______。
答案:NULL4. 双向链表中,每个节点包含______个指针。
答案:两个5. 树的深度优先遍历包括______、中序遍历和后序遍历。
答案:前序遍历三、简答题(每题5分,共20分)1. 请简述C语言中结构体和联合体的区别。
答案:结构体(struct)可以包含不同类型的数据,并且可以有多个实例;联合体(union)可以包含不同类型的数据,但是只能有一个实例,即在任意时刻只能存储其中一个成员的值。
2. 动态内存分配的优点是什么?答案:动态内存分配允许程序在运行时根据需要分配内存,这样可以更有效地使用内存资源,并且可以创建大小不固定的数据结构。
3. 链表相比于数组有哪些优点?答案:链表的优点包括动态大小,可以灵活地插入和删除节点,不需要预先知道数据的大小。
数据结构试题及答案c语言版
数据结构试题及答案c语言版一、选择题(每题2分,共20分)1. 在C语言中,以下哪个选项是正确的链表定义?A. struct Node { int data; struct Node *next; };B. struct Node { int data; Node *next; };C. struct Node { int data; struct Node *next; } *Node;D. struct Node { int data; Node *next; };答案:A2. 下列关于栈的描述中,错误的是?A. 栈是一种后进先出(LIFO)的数据结构。
B. 栈的插入操作称为push。
C. 栈的删除操作称为pop。
D. 栈可以存储任意数量的数据。
答案:D3. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A4. 下列关于队列的描述中,正确的是?A. 队列是一种先进先出(FIFO)的数据结构。
B. 队列只能从队尾进行插入操作。
C. 队列的插入操作称为pop。
D. 队列的删除操作称为push。
答案:A5. 在C语言中,以下哪个函数用于创建一个动态数组?A. mallocB. callocC. reallocD. all of the above答案:D6. 下列关于二叉树的描述中,错误的是?A. 二叉树的每个节点最多有两个子节点。
B. 二叉树的子节点被称为左子树和右子树。
C. 二叉树的遍历方式包括前序、中序、后序。
D. 二叉树的每个节点只能有一个子节点。
答案:D7. 在C语言中,以下哪个函数用于释放动态分配的内存?A. freeB. mallocC. callocD. realloc答案:A8. 下列关于图的描述中,错误的是?A. 图是由顶点和边组成的数据结构。
B. 图的边可以是有向的,也可以是无向的。
C. 图的顶点可以是孤立的,没有边与之相连。
武汉科技大学考研试卷及参考答案856 数据结构(C语言版)-2016(A卷)
姓名: 报考专业: 准考证号码: 密封线内不要写题2016年攻读硕士学位研究生入学考试试题科目名称:数据结构(C 语言版)(■A 卷□B 卷)科目代码:856考试时间:3小时 满分 150 分可使用的常用工具:√无 □计算器 □直尺 □圆规(请在使用工具前打√)注意:所有答题内容必须写在答题纸上,写在试题或草稿纸上的一律无效;考完后试题随答题纸交回。
一、选择题(共10小题,每小题2分,共20分)1. 以下说法正确的是( )。
A )数据元素是数据的最小单位 B )数据项是数据的基本单位C )数据结构是带有结构的各数据项的集合D )一些表面上很不相同的数据可以有相同的逻辑结构2. 在顺序表(长度为127)中插入一个元素平均要移动( )个元素。
A )8 B )63.5 C )63 D )73. 若完全二叉树的结点总数为1001,则度为1的结点有( )个。
A )0 B )1 C )500 D )5014. 二叉树先序遍历x 在y 之前,后序遍历x 在y 之后,则x 是y 的( )。
A )左兄弟 B )右兄弟 C )祖先 D )后裔5. 二叉树在线索化后,仍不能有效求解的问题是( )。
A )前序线索二叉树中求前序后继B )中序线索二叉树中求中序后继C )中序线索二叉树中求中序前驱D )后序线索二叉树中求后序后继 6. 下列关于AOE 网的叙述中,不正确的是( )。
A )某些关键活动提前,则整个工程将会提前完成 B )任一关键活动提前,则整个工程将会提前完成 C )所有关键活动提前,则整个工程将会提前完成 D )关键活动不按期完成会影响整个工程的完成时间7. 12个数据有序顺序存储,采用二分查找,查找失败时的ASL 值是( )。
A )37/12 B )63/13 C )39/12 D )49/13 8. 二叉查找树的查找效率与二叉树的( )有关。
A )高度B )结点的多少C )树型D )结点的位置9. 用函数H(k)=key%17构造散列表,则链地址法解决冲突需( )个链表。
数据结构(C语言版)复习题
一、单项选择题:1、树形结构不具备这样的特点:()A. 每个节点可能有多个后继(子节点)B. 每个节点可能有多个前驱(父节点)C. 可能有多个内节点(非终端结点)D. 可能有多个叶子节点(终端节点)2、二叉树与度数为2的树相同之处包括()。
A. 每个节点都有1个或2个子节点B. 至少有一个根节点C. 至少有一个度数为2的节点D. 每个节点至多只有一个父节点3、一棵完全二叉树有999 个结点,它的深度为()。
A.9 B.10 C.11 D.124、在一个单链表中,若p所指结点不是最后结点,在p之后插入s所指结点,则执行()A. s->next=p;p->next=s;B. s->next=p->next;p->next=s;C. s->next=p->next;p=s;D. p->next=s;s->next=p;5、对于一棵具有n个结点、度为5的树来说,()A. 树的高度至多是n-3B. 树的高度至多是n-4C. 树的高度至多是nD. 树的高度至多是n-56、在顺序队列中,元素的排列顺序()。
A. 由元素插入队列的先后顺序决定B. 与元素值的大小有关C. 与队首指针和队尾指针的取值有关D. 与数组大小有关7、串是一种特殊的线性表,其特殊性体现在()。
A.可以顺序存储 B.数据元素是一个字符C.可以链式存储 D.数据元素可以是多个字符若8、顺序循环队列中(数组的大小为 6),队头指示 front 和队尾指示 rear 的值分别为 3和 0,当从队列中删除1个元素,再插入2 个元素后,front和 rear的值分别为()。
A.5 和1 B.2和4 C.1和5 D.4 和29、一棵完全二叉树上有1001 个结点,其中叶子结点的个数为()。
A.250 B.500 C.254 D.50110、已知一个有向图如下图所示,则从顶点a出发进行深度优先遍历,不可能得到的DFS序列为()。
c语言版数据结构试题及答案
习题一一、单选题1.在一个带有附加表头结点的单链表HL中,若要向表头插入一个由指针p指向的结点,则执行( B )。
A. HL=p; p->next=HL;B. p->next=HL->next; HL->next=p;C. p->next=HL; p=HL;D. p->next=HL; HL=p;2.若顺序存储的循环队列的QueueMaxSize=n,则该队列最多可存储( B )个元素.A. nB.n-1C. n+1D.不确定3.下述哪一条是顺序存储方式的优点?(A )A.存储密度大 B.插入和删除运算方便C. 获取符合某种条件的元素方便D.查找运算速度快4.设有一个二维数组A[m][n],假设A[0][0]存放位置在600(10),A[3][3]存放位置在678(10),每个元素占一个空间,问A[2][3](10)存放在什么位置?(脚注(10)表示用10进制表示,m>3)DA.658 B.648 C.633 D.6535.下列关于二叉树遍历的叙述中,正确的是( AD ) 。
A. 若一个树叶是某二叉树的中序遍历的最后一个结点,则它必是该二叉树的前序遍历最后一个结点B.若一个点是某二叉树的前序遍历最后一个结点,则它必是该二叉树的中序遍历的最后一个结点 C.若一个结点是某二叉树的中序遍历的最后一个结点,则它必是该二叉树的前序最后一个结点D.若一个树叶是某二叉树的前序最后一个结点,则它必是该二叉树的中序遍历最后一个结点6.k层二叉树的结点总数最多为( A ).A.2k-1 B.2K+1 C.2K-1 D. 2k-17.对线性表进行二分法查找,其前提条件是( B ).A.线性表以链接方式存储,并且按关键码值排好序B.线性表以顺序方式存储,并且按关键码值的检索频率排好序C.线性表以顺序方式存储,并且按关键码值排好序D.线性表以链接方式存储,并且按关键码值的检索频率排好序8.对n个记录进行堆排序,所需要的辅助存储空为Cn) B. O(n) C. O(1) D. O(n2)A. O(1og29.对于线性表(7,34,77,25,64,49,20,14)进行散列存储时,若选用H(K)=K %7作为散列函数,则散列地址为0的元素有( D )个,A.1 B.2 C.3 D.410.下列关于数据结构的叙述中,正确的是( D ).A.数组是不同类型值的集合B.递归算法的程序结构比迭代算法的程序结构更为精炼C.树是一种线性结构D.用一维数组存储一棵完全二叉树是有效的存储方法二、填空题1.数据的逻辑结构被分为_集合结构、__线性结构、_树结构和_图结构四种。
武汉科技大学856数据结构(C语言版)2013--2016,2018--2019(都有答案)考研初试真题
1. 数据元素是数据的最小单位。 2. 折半查找方法要求待查表必须是顺序存储结构的有序表。 3. 当两个字符出现的频率相同时,则其哈夫曼编码也相同。 4. 如果某种排序算法是不稳定的,则该算法是没有实际意义的。 5. 将一棵树转换为二叉树后,根结点没有右子树。 6. 串既可采用顺序存储,也可采用链式存储。 7. 一个广义表的表尾总是一个广义表。 8. 完全二叉树的叶子结点只可能在层次最大的一层上出现。 9. 顺序存储结构的主要缺点是不利于插入或删除操作。 10. 算法是对特点问题求解步骤的一种描述,因此它可以没有输入和输出。
元素进行顺序查找,则在等概率情况下,分块查找成功的平均查找长度是( )
A) 43
B) 79
C) 198
D) 200
9. 要以 O(nlogn)时间复杂度进行稳定的排序,可用的排序方法是( )
A) 归并排序
B) 快速排序
C) 堆排序
D) 冒泡排序
10. 设哈希表长为 14,哈希函数是 H(key)=key%11,表中已有数据的关键字为 15,38,61, 84 共四个,现要将关键字为 49 的结点加到表中,用二次探测再散列法解决冲突,则放入 的位置是( )
四、综合应用题(6 小题,每题 10 分,共 60 分)
1. 下表列出了某工序之间的优先关系和各工序所需时间。要求:
(1)画出 AOE 网
(2)列出各事件的最早开始时间、最迟开始时间
(3)找出关键路径并指明完成该工程所需最短时间。
工序代号 所需时间 前驱工序 工序代号 所需时间 前驱工序
a1
6
无
a7
9
a4, a5
a2
4
无
a8
7
a4, a5
武汉科技大学856 数据结构(C语言版)-2019(A卷)
姓名:报考专业:准考证号码:密封线内不要写题2019年全国硕士研究生招生考试初试自命题试题 科目名称:数据结构(C 语言版)(□√A 卷□B 卷)科目代码:856 考试时间:3小时 满分150分 可使用的常用工具:□√无 □计算器 □直尺 □圆规(请在使用工具前打√) 注意:所有答题内容必须写在答题纸上,写在试题或草稿纸上的一律无效;考完后试题随答题纸交回。
一、选择题(共15小题,每小题2分,共30分) 1. 计算算法的时间复杂度是属于一种( )的方法。
A )事前统计 B )事前分析估算 C )事后统计 D )事后分析估算 2. 数据的逻辑结构可以分为( )。
A )静态结构和动态结构 B )物理结构和存储结构 C )线性结构和非线性结构 D )虚拟结构和抽象结构 3. 线性表若采用链式存储结构时,要求内存中可用存储单元的地址( )。
A )必须是连续的 B )部分地址必须是连续的 C )一定是不连续的 D )连续不连续都可以 4. 线性表既可以用带头结点的链表表示,也可以用不带头结点的链表表示,前者最主要的好处是( )。
A )使空表和非空表的处理统一 B )可以加快对表的遍历 C )节省存储空间 D )可以提高存取表元素的速度 5. 若用一个大小为6的数组来实现循环队列,且当前rear 和front 的值分别为0和3。
当从队列中删除一个元素,再加入两个元素后, rear 和front 的值分别为( )。
A )1和5 B )2和4 C )4和2 D )5和1 6. 对二叉树T 中的某个结点x ,它在先根序列、中根序列、后根序列中的序号分别为pre (x ),in (x )、post (x ),a 和b 是T 中的任意两个结点,下列选项一定错误的是( )。
A )a 是b 的后代且pre (a )<pre (b ) B )a 是b 的祖先且post (a )>post (b ) C )a 是b 的后代且in (a )<in (b ) D )a 在b 的左边且in (a )<in (b ) 7. 若二叉树的前序序列和后序序列正好相反,则该二叉树一定是( )的二叉树。
武汉科技大学856数据结构(C语言版)2018A卷参考答案年考研初试真题
p=p->rchild; }
p=p->rchild; while(p) //左结点入栈,tag=0表示其左子树已入栈,tag=1表示其右子树已入栈
} }
{ tag[top]=0; Stack[top++]=p; p=p->lchild; }
3. void BFS(Graph G) {
{
} } 2.
if(p->next->no==x) { p->num+=n; break; }
else if(p->next->no>x)
{
q=(LinkList)malloc(sizeof(->num=n;
q->next=p->next; p->next=q;
8 17
51
48 39
58 88
76
63
17
6
23
8
36
58
48
76
51 63 88
ASL=(1*1+2*2+3*3+3*4+2*5+1*6)/12=42/12=7/2 ASL=(3*3+10*4)/12=49/12
4.(1)int temp=a[low]; (2)a[low] = a[high]; (3)a[high]=a[low];
否则,p的直接后继结点s就是p的右子树上中序的第一个结点,s通过如下方法求得
s=p->right;
while(s->ltag==1) s=s->left;
(3)后序线索二叉树中结点p的直接后继结点所在位置(5分)
武汉科技大学856数据结构(C语言版)2013--2016(都有答案)考研真题+答案
二O 一三年招收硕士研究生入学考试试题考试科目代码及科目名称: 856 数据结构(C 语言版)答题内容写在答题纸上,写在试卷或草稿纸上一律无效考完后试题随答题纸交回。
考试时间3小时,总分值 150 分。
姓名: 报考专业: 准考证号码:密封线内不要写题二O 一四年招收硕士研究生入学考试试题考试科目代码及科目名称: 856 数据结构(C 语言版)答题内容写在答题纸上,写在试卷或草稿纸上一律无效考完后试题随答题纸交回。
考试时间3小时,总分值 150 分。
姓名: 报考专业: 准考证号码:密封线内不要写题参考答案(A)一、选择题(10小题,每题2分,共20分)1. B2. C3. B4. D5. B6. B7. C8. A9. A 10. D二、填空题(10小题,每题2分,共20分)1. O(n)2. 运算或操作3. 33/11=34. 985. 66. 517. 空8. Head->next==NULL9. O(nlogn)10. 空或一个结点或单分支三、判断题(10小题,每题2分,共20分)1. ×2. √3. ×4. ×5. √6. √7. √8. ×9. √ 10. ×四、综合应用题(6小题,每题10分,共60分)1.关键路径:a1->a4->a8->a11->a12完成该工程所需最短时间:212.设具有n个结点的完全二叉树的深度为H由完全二叉树的定义可知:第i(1≤i≤H-1)层上的结点数将达到最大(2i-1),第H层上的结点数将≥2且≤2k-1∴1+2+……+2H-2+2≤n≤ 1+2+……+2H-2+ 2H-12H-1+1≤n≤ 2H-1 2H-1<n< 2HH-1<log2n<H∴ H=[ log2n ]3.4.(1) p=8(2) k=i*(i-1)/2+i+j-n-15.查找成功时的平均查找长度: (1*1+2*2+3*4+4*4)/11=3查找不成功时的平均查找长度: (4*3+8*4)/12=44/12=3.336.堆排序的初始堆(大根堆)关键字序列:96 63 78 25 57 11 44堆排序1趟以后的关键字序列:78 63 44 25 57 11 96快速排序1趟以后的关键字序列:11 25 96 63 57 78 44快速排序2趟以后的关键字序列:11 25 44 63 57 78 96冒泡排序1趟以后的关键字序列:25 11 63 57 78 44 96五、算法设计与编程(3小题,每题10分,共30分)1.int digit(int n,int k){ if(n==0) return -1;else if(k==1) return n%10;else return digit(n/10,k-1); }int digit(int n,int k){ while(n){ if(k==1) return n%10;k--; n=n/10; }return -1;}2.void compare(int x, Node *L){int count=0, comp=0,status=0;Node *p, *t, *pre, *end,*work=NULL;p=L->next; pre=L; end=L;while(p){if(p->data<x) status=1;if(comp!=p->data&&status==0) { count++; comp=p->data; }if(status==0){if(p==L&&p->data%2==0) { t=p; L->next=p->next; free(t); p=L->next; }else if(p!=L&&p->data%2==0){ t=p; pre->next=p->next; free(t); p=pre->next; }else { pre=p; p=p->next; }end=pre;}if(status==1){ t=pre->next; pre->next=work; work=p; p=t; }}end->next=work;}3.typedef struct{BiTree t;int tag; //tag=0表示左子女被访问,tag=1表示右子女被访问}stack;void Search(BiTree bt,ElemType x){stack s[];top=0;while(bt!=null||top>0){while(bt!=null && bt->data!=x){ s[++top].t=bt; s[top].tag=0; bt=bt->lchild; } if(bt->data==x){printf(“所查结点的所有祖先结点的值为:\n”);for(i=1;i<=top;i++) printf(s[i].t->data);return;}while(top!=0 && s[top].tag==1) top--;if(top!=0) { s[top].tag=1; bt=s[top].t->rchild; }}}int Qiuzu(Node *Head){if (Head==null) return 0;if (Head ->data==x) return 1;if(Qiuzu(Head->Lchild)||Qiuzu(Head->Rchild)){cout<<Head->date<<endl;return 1;}else return 0;}参考答案(A)一、选择题(10小题,每题2分,共20分)1. D2. D3. C4. C5. B6. B7. A8. A9. A 10. C二、填空题(10小题,每题2分,共20分)1. s->next=p->next; p->next=s;2. (n-1)/23. 3124. 2h-15. [log2i]=[log2j]6. 深度7. O(n2)8. k(k+1)/29. [log2i]+1 10.2三、综合应用题(7小题,每题10分,共70分)1.根据完全二叉树的性质,A[i]的双亲是A[i/2],双亲的双亲是A[i/2/2],...同理,A[j]的双亲是A[j/2],双亲的双亲是A[j/2/2],...if(i==j) A[i]和A[j]的最近的共同祖先就是A[i/2];elsewhile(i!=j) { if(i>j) i=i/2; else j=j/2; }A[i]和A[j]的最近的共同祖先就是A[i];2.设总结点数为n,度为1和2的结点数分别为n1和n2n=B+1=n0+n1+n2 n1=0 n2=n0-1B=2n0-23.(1)i<n-1-i (2)j<=n-1-i (3)r[j].key<r[min].key(4)i!=min (5)max==i4.(1) 15627384 15627834 15672384 15672834 15678234(2)(3)(4)给出其关键路径: <1-2> <2-3> <3-4>5.(1)线性探测法等概率下查找成功时的平均查找长度ASL succ =(1+1+2+1+2+1+2+3)/8=13/8等概率下查找失败时的平均查找长度ASL unsucc=(1+2+1+1+8+7+6+5+4+3+2)/11=40/11(2)链地址法等概率下查找成功时的平均查找长度ASL succ =(1*4+2*3+3*1)/8=13/8等概率下查找失败时的平均查找长度ASL unsucc=(1*7+2*1+3*2+4*1)/11=19/116.只有堆排序,在未结束全部排序前,可以有部分排序结果。
数据结构题集c语言版考试题及答案
数据结构题集c语言版考试题及答案一、单项选择题(每题2分,共20分)1. 在数据结构中,线性表的顺序存储结构是指()。
A. 用一组地址连续的存储单元依次存储线性表的元素B. 用一组地址不连续的存储单元依次存储线性表的元素C. 用数组来存储线性表的元素D. 用链表来存储线性表的元素答案:A2. 在一个长度为n的顺序表中,删除第i个元素(1≤i≤n)时,需要移动()个元素。
A. i-1B. n-iC. n-i+1D. i答案:B3. 对于一个有n个结点的线性表,采用链式存储结构时,进行查找第i个元素(1≤i≤n)的时间复杂度为()。
A. O(1)B. O(n)C. O(log2n)D. O(n^2)答案:B4. 在二叉树的遍历过程中,若一个结点的左子树为空,则该结点的右子树()。
A. 一定为空B. 一定不为空C. 可能为空,也可能不为空D. 以上说法都不对答案:C5. 在二叉排序树中,若某结点的左子树非空,则左子树中的所有结点的值()。
A. 都小于该结点的值B. 都大于该结点的值C. 都等于该结点的值D. 都大于等于该结点的值答案:A6. 一个具有n个顶点的连通图,其边数最少为()。
A. n-1B. nC. n+1D. 2n答案:A7. 在图的遍历中,深度优先搜索算法所对应的数据结构是()。
A. 栈B. 队列C. 链表D. 数组答案:A8. 哈希表的冲突解决方法中,开放定址法的特点是()。
A. 装填因子较大B. 装填因子较小C. 装填因子不受限制D. 以上说法都不对答案:B9. 快速排序算法的时间复杂度为()。
A. O(n)B. O(nlogn)C. O(n^2)D. O(logn)答案:B10. 用链表表示线性表的优点是()。
A. 插入和删除操作不需要移动元素B. 节省存储空间C. 可以方便地随机访问D. 可以动态分配存储空间答案:A二、填空题(每题2分,共20分)1. 在顺序表中,若p是指向第i个元素的指针,则p+5表示指向第()个元素的指针。
数据结构(c语言版)期末考试复习试题
《数据结构与算法》(c语言版)期末考复习题一、选择题。
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 。
武汉科技大学2019年全国硕士研究生招生考试初试自命题试题856 数据结构(C语言版)
第 1 页 共 7 页 2019年全国硕士研究生招生考试初试自命题试题科目名称:数据结构(C 语言版)(□√A 卷□B 卷)科目代码:856 考试时间:3小时 满分150分可使用的常用工具:□√无 □计算器 □直尺 □圆规(请在使用工具前打√) 注意:所有答题内容必须写在答题纸上,写在试题或草稿纸上的一律无效;考完后试题随答题纸交回。
一、选择题(共15小题,每小题2分,共30分)1. 计算算法的时间复杂度是属于一种( )的方法。
A )事前统计B )事前分析估算C )事后统计D )事后分析估算2. 数据的逻辑结构可以分为( )。
A )静态结构和动态结构B )物理结构和存储结构C )线性结构和非线性结构D )虚拟结构和抽象结构3. 线性表若采用链式存储结构时,要求内存中可用存储单元的地址( )。
A )必须是连续的B )部分地址必须是连续的C )一定是不连续的D )连续不连续都可以4. 线性表既可以用带头结点的链表表示,也可以用不带头结点的链表表示,前者最主要的好处是( )。
A )使空表和非空表的处理统一B )可以加快对表的遍历C )节省存储空间D )可以提高存取表元素的速度5. 若用一个大小为6的数组来实现循环队列,且当前rear 和front 的值分别为0和3。
当从队列中删除一个元素,再加入两个元素后, rear 和front 的值分别为( )。
A )1和5B )2和4C )4和2D )5和16. 对二叉树T 中的某个结点x ,它在先根序列、中根序列、后根序列中的序号分别为pre(x ),in (x )、post (x ),a 和b 是T 中的任意两个结点,下列选项一定错误的是( )。
A )a 是b 的后代且pre (a )<pre (b )B )a 是b 的祖先且post (a )>post (b )C )a 是b 的后代且in (a )<in (b )D )a 在b 的左边且in (a )<in (b )7. 若二叉树的前序序列和后序序列正好相反,则该二叉树一定是( )的二叉树。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
姓名: 报考专业: 准考证号码: 密封线内不要写题
2019年全国硕士研究生招生考试初试自命题试题 科目名称:数据结构(C 语言版) 科目代码:856 考试时间:3小时 满分 150 分 可使用的常用工具:√无 □计算器 □直尺 □圆规(请在使用工具前打√) 注意:所有答题内容必须写在答题纸上,写在试题或草稿纸上的一律无效;考完后试题随答题纸交回。
一、选择题(共10小题,每小题2分,共20分) 1. 当顺序栈ST (最多元素为MaxSize )为空时,其栈顶指针top 的值为-1,那么判断栈ST 栈满的条件是( )。
A )ST.top != -1 B )ST.top == -1 C )ST.top != MaxSize – 1 D )ST.top == MaxSize – 1 2. 已知单链表中结点 q 是结点 p 的直接前趋,若在 q 与 p 之间插入结点*s ,则应执行以下( )操作。
A )s->link=p->link; p->link=s; B )q->link=s; s->link=p; C )p->link=s->link; s->link=p; D )p->link=s; s->link=q ; 3. 非空的循环单链表head 的尾结点(由p 所指向)满足( )。
A )p->next==head B )p==NULL C )p->next==NULL D )p==head 4. 设x 和y 是二叉树中的任意两个结点,若在先序遍历中x 在y 之前,而在后序遍历中x 在y 之后,则x 和y 的关系是( )。
A )x 是y 的左兄弟 B )x 是y 的右兄弟 C )x 是y 的祖先 D )x 是y 的子孙 5. 哈夫曼树是n 个带权叶子结点构成的( )最小的二叉树。
A )权值 B )高度 C )带权路径长度 D )度 6. 有向图G 包含6个顶点(编号从1到6)8条弧(<1,2>,<1,3>,<2,4>, <2,5>,<3,2>,<3,5>,<4,6>,<5,6>,权值依次为2,15,10,19,4,11,6,5)。
图G 的关键路径为( )。
A )<1,2><2,4><4,6> B )<1,3><3,2><2,5><5,6> C )<1,3><3,5><5,6> D )<1,2><2,5><5.6> 7. 在一个有权无向图中,如果顶点b 到顶点a 的最短路径长度是10,顶点c 与顶点b 之间存在一条长度为3的边。
那么下列说法中有几句是正确的? (1)c 与a 的最短路径长度是13 (2)c 与a 的最短路径长度是7 (3)c 与a 的最短路径长度不超过13 (4)c 与a 的最短路径不小于7 A )1句 B )2句 C )3句 D )4句
8. 二分查找法所需的平均比较次数为( )。
A )O(n 2)
B )O(nlog 2n)
C )O(n)
D )O(log 2n)
9. 在Hash函数H(k)=k MOD m中,一般来讲m应取()。
A)奇数 B)偶数 C)素数 D)充分大的数
10.用二分插入排序法进行排序,被排序的表应采用的数据结构是()。
A)数组 B)单链表 C)双向链表 D)散列表
二、填空题(共10小题,每小题2分,共20分)
1. 一个栈的入栈序列为1,2,3,…,n,其出栈序列是p1,p2,p3,…,pn 。
若p2 = 3,
则p3可能取值的个数是()。
2. 已知单链表A长度为m,单链表B长度为n,若将B连接在A的末尾,在没有链
尾指针的情形下,算法的时间复杂度应为()。
3. 从一个具有n个结点的有序单链表中查找其值等于x的结点时,在查找成功的
情况下,需要平均比较()个结点。
4. 对于一个有N个结点、K条边的森林,共有()棵树。
5. 若以{4,5,6,3,8}作为叶子节点的权值构造哈夫曼树,则带权路径长度是
()。
6. 有向图包含5个顶点(编号从1到5)6条弧(<1,2>,<1,5>,<1,3>,<2,3>,
<3,4><5,4>)。
该图进行拓扑排序,可以得到()个拓扑序列。
7. 对于一个有向图,若一个顶点的入度为k1,出度为k2,则对应邻接表中该顶点
邻接点单链表中的结点数为()。
8. 设哈希函数H(K)=3 K mod 11,哈希地址空间为0~10,对关键字序列(32,
13,49,24,38,21,4,12)按线性探测法解决冲突的方法构造哈希表,则该哈希表等概率下查找成功的平均查找长度为()。
9. 对于长度为n的线性表,若进行顺序查找,则时间复杂度为()。
10. 排序方法中,从未排序序列中依次取出元素与已排序序列(初始为空)中的元
素进行比较,将其放入已排序序列的正确位置上的方法称为()。
三、判断题(对的答√错的答×,共10小题,每小题2分,共20分)
1. 不论是入队列还是入栈,在顺序存储结构上都需要考虑“溢出”情况。
2. 在顺序表中取出第i个元素所花费的时间与i成正比。
3. 线性表的插入、删除总是伴随着大量数据的移动。
4. 二叉树通常有顺序存储结构和链式存储结构。
5. 对N(≥2)个权值均不相同的字符构造哈夫曼树,则树中任一非叶结点的权值一
定不小于下一层任一结点的权值。
6. Prim 算法通过每步添加一条边及相连顶点到一棵树,从而生成最小生成树。
7. 用邻接矩阵存储图,占用的存储空间只与图中结点数有关,而与边数无关。
8. 散列查找主要解决的问题是找一个好的散列函数和有效解决冲突的办法。
9. 对长度为10的排好序的表用二分法检索,若检索不成功,至少需比较10次。
10. 对5个不同的数排序至少需要比较4次。
四、综合应用题(第1小题15分,第2,3,4小题各10分,共45分)
1. 分别给出在先序线索二叉树、中序线索二叉树和后序线索二叉树中结点p的直
接后继结点所在位置。
线索二叉树中结点的结构包括数据域data、左孩子域left、右孩子域right、。