数据结构期末考试试题A卷(完成,不知对不对)
二学期数据结构期末考试试卷(A卷)
石家庄学院《数据结构》期末考试试卷(A 卷)题目部分,(卷面共有135题,100分,各大题标有题量和总分)一、应用题(4小题,共8分)1.试列出下图全部可能的拓扑排序序列2.在实现快速排序的非递归算法时,可根据基准对象,将待排序排序码序列划分为两个子序列。
若下一趟首先对较短的子序列进行排序,试证明在此做法下,快速排序所需要的栈的深度为O(log2n)。
3.设有上三角矩阵(aij)n*n ,将其上三角中的元素按先行后列的顺序存于数组B (1:m )中,使得B[k]= aij 且k=f1(i)+f2(j)+c ,请推导出函数f1,f2和常数c ,要求f1和f2中不含常数项。
4.用三元数组表示稀疏矩阵的转置矩阵,并简要写出解题步骤。
二、判断正误(20小题,共10分)1.散列表的结点中包含数据元素自身的信息,不包含任何指针。
(F)2.负载因子(装填因子)是散列表的一个重要参数,它反映敞列表的装满程度。
( T )3.一个图的广度优先搜索树是唯一的。
( F )4.外排序过程主要分为两个阶段:生成初始归并段和对归并段进行逐趟归并的阶段。
( T ) 5.在完成外排序过程中,每个记录的I/O 次数必定相等。
( F )6.为提高在外排序过程中,对长度为N 的初始序列进行“置换—选择”排序时,可以得到的最大初始有序段的长度不超过N/2。
( F )7.在外部排序时,利用选择树方法在能容纳m 个记录的内存缓冲区中产生的初始归并段的平均长度为2m 个记录。
( T )8.堆排序是稳定的排序方法。
( F )9.循环队列通常用指针来实现队列的头尾相接。
( F ) 10.有n 个数顺序(依次)进栈,出栈序列有c n 种,即:21(2)!1(!)n n C n n =⨯+。
( T ) 11.顺序存储方式的优点是存储密度大,且插入、删除运算效率高。
( F )12.完全二叉树的某结点若无左孩子,则它必是叶结点。
( T ) 13.深度为K 的二叉树中结点总数≤2k-1。
2022年北京大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)
2022年北京大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)一、选择题1、从未排序序列中依次取出一个元素与已排序序列中的元素依次进行比较,然后将其放在已排序序列的合适位置,该排序方法称为()排序法。
A.插入B.选择C.希尔D.二路归并2、下列排序算法中,占用辅助空间最多的是()。
A.归并排序B.快速排序C.希尔排序D.堆排序3、计算机算法指的是解决问题的步骤序列,它必须具备()三个特性。
A.可执行性、可移植性、可扩充性B.可执行性、确定性、有穷性C.确定性、有穷性、稳定性D.易读性、稳定性、安全性4、用不带头结点的单链表存储队列,其队头指针指向队头结点,队尾指针指向队尾结点,则在进行出队操作时()。
A.仅修改队头指针B.仅修改队尾指针C.队头、队尾指针都可能要修改D.队头、队尾指针都要修改5、下列关于AOE网的叙述中,不正确的是()。
A.关键活动不按期完成就会影响整个工程的完成时间B.任何一个关键活动提前完成,那么整个工程将会提前完成C.所有的关键活动提前完成,那么整个工程将会提前完成D.某些关键活动若提前完成,那么整个工程将会提前完成6、下列叙述中,不符合m阶B树定义要求的是()。
A.根结点最多有m棵子树 B.所有叶结点都在同一层上C.各结点内关键字均升序或降序排列 D.叶结点之间通过指针链接7、排序过程中,对尚未确定最终位置的所有元素进行一遍处理称为一趟排序。
下列排序方法中,每一趟排序结束时都至少能够确定一个元素最终位置的方法是()。
Ⅰ.简单选择排序Ⅱ.希尔排序Ⅲ.快速排序Ⅳ.堆排Ⅴ.二路归并排序A.仅Ⅰ、Ⅲ、Ⅳ B.仅Ⅰ、Ⅱ、Ⅲ C.仅Ⅱ、Ⅲ、Ⅳ D.仅Ⅲ、Ⅳ、Ⅴ8、一个具有1025个结点的二叉树的高h为()。
A.11B.10C.11至1025之间D.10至1024之间9、有n(n>0)个分支结点的满二叉树的深度是()。
A.n2-1B.log2(n+1)+1C.log2(n+1)D.log2(n-l)10、在平衡二叉树中插入一个结点后造成了不平衡,设最低的不平衡结点为A,并已知A 的左孩子的平衡因子为0,右孩子的平衡因子为l,则应作()型调整以使其平衡A.LLB.LRC.RLD.RR二、填空题11、N个顶点的连通图用邻接矩阵表示时,该矩阵至少有______个非零元素。
《数据结构》期终考查试卷(A卷)和答案
《数据结构》期终考查试卷(A 卷)适用专业:一、单项选择题(每题2分,共40分)1、.算法的时间复杂度是指( )A .执行算法程序所需要的时间B .算法程序的长度C .算法执行过程中所需要的基本运算次数D .算法程序中的指令条数2、以下说法正确的是A .线性结构的数据元素之间存在一对多的线性关系B .图形结构和树型结构是线性结构C .时间复杂度是用算法执行过程中所需要的基本运算次数来度量D .时间复杂度总是与空间复杂度成正比3、在一个单链表HL 中,若要删除由指针q 所指向结点的后继结点,则执行( )。
A .p = q->next ; p->next = q->next;B .p = q->next ; q->next = p;C .q->next = q->next->next; q->next = q;D . p = q->next ; q->next = p->next 4、下列叙述中正确的是( ) A .线性表是线性结构 B. 栈与队列是非线性结构 C .线性链表是非线性结构 D. 二叉树是线性结构 5、图的广度优先搜索类似于树的( )次序遍历。
A .先根 B .中根 C .后根 D .层次 6、下列存储形式中,( )不是树的存储形式。
A、双亲表示法B、左子女右兄弟表示法C、广义表表示法D、顺序表示法7、栈的插入和删除操作都在()进行。
A、栈顶B、栈底C、任意位置D、指定位置8、按照“后进先出”原则组织数据的数据结构是A.队列B.栈C.双向链表D.二叉树9、假定一个链式队列的队头和队尾指针分别为front和rear,则判断队空的条件为( )。
A.front==NULL B.front!=NULL C.rear!=NULL D.front= =rear10、关于字符串的说法中,错误的是A、字符串是零个或多个字符组成的有限序列B、串中字符的个数称为串的长度C、长度为零的串称为空串D、由空格组成的字符串称为空串11、有关二叉树的下列说法正确的是A、任何一棵二叉树中至少有一个结点的度为2B、一棵二叉树的度可以小于2C、二叉树中任何一个结点的度都为2D、二叉树的度为212、对如下二叉树进行后序遍历的结果为A.ABCDEF B.DBEAFC C.ABDECF D.DEBFCA13、求图的最小生成树采用的算法是A.普里姆算法和克鲁斯卡尔算法B.迪杰斯特拉算法C.弗洛伊德算法D.深度优先算法14、设G1=(V1,E1)和G2=(V2,E2)为两个图,如果V2包含V1,E2包含E1,则称( )。
(完整word版)数据结构试卷及答案(word文档良心出品)
注意事项:1、下面关于串的叙述中,哪一个是不正确的?( )A .串是字符的有限序列B .空串是由空格构成的串C .模式匹配是串的一种重要运算D .串既可以采用顺序存储,也可以采用链式存储 2、设无向图的顶点个数为n ,则该图最多有( )条边。
A .n-1B .n(n-1)/2C . n(n+1)/2D .0 3、以下数据结构中,( )是非线性数据结构。
A .树B .字符串C .队列D .栈 4、下面关于线性表的叙述中,错误的是哪一个?( )A .线性表采用顺序存储,必须占用一片连续的存储单元。
B .线性表采用顺序存储,便于进行插入和删除操作。
C .线性表采用链接存储,不必占用一片连续的存储单元。
D .线性表采用链接存储,便于插入和删除操作。
5、假设以数组A[m]存放循环队列的元素,其头尾指针分别为front 和rear ,则当前队列中的元素个数为( )。
A .(rear-front+m)%mB .rear-front+1C .(front-rear+m)%mD .(rear-front)%m6、在单链表指针为p 的结点之后插入指针为s 的结点,正确的操作是( )。
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; 7、设栈的输入序列是1,2,3,4,则( )不可能是其出栈序列。
A .1,2,4,3B .2,1,3,4C .1,4,3,2D .4,3,1,2, 8、广义表(a,(b,c),d,e )的表头和表尾分别为( )。
A .a 和(b,c),d,e B .(a )和(b,c),d,eC .a 和 ((b,c),d,e)D .(a) 和((b,c),d,e)9、栈和队都是( )A .顺序存储的线性结构B .链式存储的非线性结构C .限制存取点的线性结构D .限制存取点的非线性结构 10、从逻辑上可以把数据结构分为( )两大类。
(完整word版)《数据结构》 期末试卷(A)
班 姓 学 考试时 考场(教室装 线《数据结构》期末考试试卷(A)一、判断题:(正确者在括号内打“√”,错误者打“×”。
每小题1分,共10分)1.线性表在顺序存储时,逻辑上相邻的元素未必在存储的物理位置次序上相邻。
( ) 2.栈和队列是一种非线性数据结构。
( ) 3.十字链表是无向图的一种存储结构。
( ) 4.Hash 表的平均查找长度与处理冲突的方法无关。
( ) 5.数据元素是数据的最小单位。
( ) 6.就平均查找长度而言,分块查找最小,折半查找次之,顺序查找最大。
( ) 7. 对于一棵非空二叉树,它的根结点作为第一层,则它的第i 层上最多能有2i-1个结点。
( ) 8.有e 条边的无向图,在邻接表中有e 个结点。
( ) 9.顺序存储方式的优点是存储密度大,且插入、删除运算效率高。
( ) 中插入一个新结点,总是插入到叶结点下面。
( ) 二、选择题:(将每小题正确答案的选项填写在题后的横线上,每小题2分,共20分) x 的赋值语句的频度为___________。
FOR i:=1 TO n DOFOR j:=1 TO n DOx:=x+1;A . O(2n)B .O(n)C .O(n 2) D .O(log2n) 2.下面关于串的的叙述中,哪一个是不正确的?___________。
A .串是字符的有限序列B .空串是由空格构成的串C .模式匹配是串的一种重要运算D .串既可以采用顺序存储,也可以采用链式存储 3.栈和队列的共同特点是___________。
A .只允许在端点处插入和删除元素B .都是先进后出C .都是先进先出D .没有共同点4.一个向量第一个元素的存储地址是50,每个元素的长度为4,则第5个元素的地址是___________。
A. 70 B. 66 C. 50 D. 785.设abcdef 以所给的次序进栈,若在进栈操作时,允许退栈操作,则下面得不到的序列为?___________。
数据结构期末考试试题(含答案)
数据结构期末考试试题(含答案)2005年-2006学年第⼆学期“数据结构”考试试题(A)姓名学号(序号)_答案隐藏班号要求:所有的题⽬的解答均写在答题纸上(每张答题纸上要写清楚姓名、班号和学号),需写清楚题⽬的序号。
每张答题纸都要写上姓名和序号。
⼀、单项选择题(每⼩题2分,共20分)1.数据的运算a 。
A.效率与采⽤何种存储结构有关B.是根据存储结构来定义的C.有算术运算和关系运算两⼤类D.必须⽤程序设计语⾔来描述答:A。
2.链表不具备的特点是 a 。
A.可随机访问任⼀结点B.插⼊删除不需要移动元素C.不必事先估计存储空间D.所需空间与其长度成正⽐答:参见本节要点3。
本题答案为:A。
3.在顺序表中删除⼀个元素的时间复杂度为 c 。
A.O(1)B.O(log2n)C.O(n)D.O(n2)答:C。
4.以下线性表的存储结构中具有随机存取功能的是d 。
A.不带头结点的单链表B.带头结点的单链表C.循环双链表D.顺序表解D。
5.⼀个栈的进栈序列是a,b,c,d,e,则栈的不可能的输出序列是c 。
A.edcba B.decbaC.dceabD.abcde答:C。
6.循环队列qu的队空条件是 d 。
A. (qu.rear+1)%MaxSize==(qu.front+1)%MaxSizeB. (qu.rear+1)%MaxSize==qu.front+1C.(qu.rear+1)%MaxSize==qu.frontD.qu.rear==qu.front答:D。
7.两个串相等必有串长度相等且 b 。
A.串的各位置字符任意B.串中各位置字符均对应相等C.两个串含有相同的字符D.两个所含字符任意答:B。
8.⽤直接插⼊排序对下⾯四个序列进⾏递增排序,元素⽐较次数最少的是c 。
A.94,32,40,90,80,46,21,69B.32,40,21,46,69,94,90,80C.21,32,46,40,80,69,90,94D.90,69,80,46,21,32,94,40答:C。
2022年榆林学院计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)
2022年榆林学院计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)一、选择题1、下述文件中适合于磁带存储的是()。
A.顺序文件B.索引文件C.哈希文件D.多关键字文件2、下列说法不正确的是()。
A.图的遍历是从给定的源点出发每个顶点仅被访问一次B.遍历的基本方法有两种:深度遍历和广度遍历C.图的深度遍历不适用于有向图D.图的深度遍历是一个递归过程3、链表不具有的特点是()。
A.插入、删除不需要移动元素B.可随机访问任一元素C.不必事先估计存储空间D.所需空间与线性长度成正比4、在用邻接表表示图时,拓扑排序算法时间复杂度为()。
A.O(n)B.O(n+e)C.O(n*n)D.O(n*n*n)5、下面关于串的叙述中,不正确的是()。
A.串是字符的有限序列B.空串是由空格构成的串C.模式匹配是串的一种重要运算D.串既可以采用顺序存储,也可以采用链式存储6、循环队列放在一维数组A中,end1指向队头元素,end2指向队尾元素的后一个位置。
假设队列两端均可进行入队和出队操作,队列中最多能容纳M-1个元素。
初始时为空,下列判断队空和队满的条件中,正确的是()。
A.队空:end1==end2;队满:end1==(end2+1)mod MB.队空:end1==end2;队满:end2==(end1+1)mod (M-1)C.队空:end2==(end1+1)mod M;队满:end1==(end2+1) mod MD.队空:end1==(end2+1)mod M;队满:end2==(end1+1) mod (M-1)7、下列选项中,不能构成折半查找中关键字比较序列的是()。
A.500,200,450,180 B.500,450,200,180C.180,500,200,450 D.180,200,500,4508、一棵哈夫曼树共有215个结点,对其进行哈夫曼编码,共能得到()个不同的码字。
A.107B.108C.214D.2159、已知一棵二叉树的前序遍历结果为ABCDEF,中序遍历结果为CBAEDF,则后序遍历结果为()。
数据结构期末考试试题A卷
题一二三四五总分总评分人复查人分值40203010100得分湛江师范学院2008年-2009学年度第1学期期末考试试题A卷(考试时间:120分钟)考试科目: 数据结构请将所有答案填写在答题卡上,交卷时请将所有试卷上交一、单选题(每小题2分,共40分)1.下列算法的时间复杂度是( B )。
for ( i=0; i<n; i++) c[i][j]=i+j;A O(1)B O(n)C O(log 2n)D O(n 2)2.每一个存储结点不仅含有一个数据元素,还包含一个指针,该存储方式是( B )存储方式。
A 顺序B 链式C 索引D 散列3.指针p 指向以L 为头指针的循环链表的首元素的条件是( A )。
A p==L B p->next==L C L->next==p D p->next==NULL 4.4个元素进S 栈的顺序是A 、B 、C 、D ,进行两次Pop(S,x)操作后,栈顶元素的值是( B )。
A AB BC CD D5.经过下列栈的运算后GetTop(S)的值是( A )。
InitStack(s); Push(s,a); Push(s,b); Pop(s); A a B b C 1 D 2( )( )6.栈的特点是( B )。
A 先进先出B 后进先出C 后进后出D 不进不出7.经过下列运算后GetHead(Q)的值是(A )InitQueue(Q); EnQueue(Q,a); EnQueue(Q,b);A aB bC 1D 28.一维数组的元素起始地址loc[0]=1000,元素长度为4,则loc[2]为(C )。
A 1000B 1010C 1008D 10209.二叉树第i层上最多有(C )个结点。
A 2iB 2i-1C 2i-1D i210.满二叉树(A )二叉树。
A 一定是完全B 不一定是完全C 不是D 不是完全11.二叉树按二叉链表存储,每个结点包含三个域(lchild、data、rchild),若p指针指向二叉树的根结点,经过运算while ( p->rchild!=null ) p=p->rchild,则(A )。
北京邮电大学数据结构期末考试试题
北京邮电大学数据结构期末考试试题(A卷)一.单项选择题(2分/题)1.一个栈的输入序列为12345,则下列序列中是栈的输出序列的是(A)。
A.23415B.54132C.31245D.142532.设循环队列中数组的下标范围是1~n,其头尾指针分别为f和r,则其元素个数为(D)。
A.r-fB.r-f+1C.(r-f) mod n +1D.(r-f+n) mod n3.二叉树在线索化后,仍不能有效求解的问题是(D)。
A.先序线索二叉树中求先序后继B. 中序线索二叉树中求中序后继 C.中序线索二叉树中求中序前驱 D. 后序线索二叉树中求后序后继4.求最短路径的FLOYD算法的时间复杂度为(D)。
A.O(n)B.O(n+e)C.O(n2)D.O(n3)5.一棵左右子树不空的二叉树在先序线索化后,其空指针域数为(B)。
A.0B.1C.2D.不确定6.数组A[1..5,1..6]的每个元素占5个单元,将其按行优先顺序存储在起始地址为1000的连续的内存单元中,则元素A[5,5]的地址为(A)。
A.1140B.1145C.1120D.11257.在下列排序算法中,在待排序的数据表已经为有序时,花费时间反而最多的是(A)。
A.快速排序B.希尔排序C.冒泡排序 D.堆排序8.对有18个元素的有序表做折半查找,则查找A[3]的比较序列的下标依次为(C)。
A.1-2-3B.9-5-2-3C.9-5-3D. 9-4-2-39.下列排序算法中,某一趟结束后未必能选出一个元素放在其最终位置上的是(D)。
A.堆排序B.冒泡排序C.快速排序 D.直接插入排序10.在平衡二叉树中插入一个结点后造成了不平衡,设最低的不平衡点为A,并已知A的左孩子的平衡因子为-1,右孩子的平衡因子为0,则做(B)型调整以使其平衡。
A.LLB.LRC.RLD.RR二.判断题(1分/题)1.线性表的长度是线性表所占用的存储空间的大小。
F2.双循环链表中,任意一结点的后继指针均指向其逻辑后继。
数据结构期末考试试题A答案
《数据结构》试题答案A卷姓名班级一、回答下列问题 (每题5分,共40分)1.给定序列(67,45,87,19,55,32,70,60,90,23),写出它的初始堆序列。
答:调整后的初始堆序列(小根堆)为:19,23,32,45,55,87,70,60,90,67或者是大根堆:90, 67, 87, 60, 55, 32, 70, 45, 19, 232.设一个序列奇数项和偶数项分别由小到大有序,用什么方法可以最快得到一个有序序列,分析它的时间复杂度。
答:把奇数项和偶数项分为2个有序序列,然后进行合并,时间复杂度为O(n)。
实际上就是把2个有序表合并为一个有序表。
见教科书算法2.7。
3.二叉排序树中的最大值在二叉排序树的何处?答:最大值应该位于二叉排序树中根的右子树的最右叶子上。
1923 3245 55 7060 904.在2048个互不相同的关键码中选择最小的5个关键码,用堆排序是否比用锦标赛排序更快?为什么?答:此题用锦标赛排序比堆排序要快。
理由是;①在首次求最小值时,锦标赛排序对2048个结点建树得到最小码只需比较n-1(即2047)次,而此时堆排序建初始堆得到最小码却可能需要比较4072次(因为每个结点的调整都要与左右两边的孩子相比。
从第1024个结点往前调整,有512个结点可能调整1次,但要与左右孩子都比较,有256个结点可能调整2次,每次都要与左右孩子比较,有128个结点可能调整3次,……有32个结点调整5次,……根结点可能要调整10次,每次都会与左右孩子比较,所以可能会比较2036×2=4072次)。
而两种算法对求后面4个次小码的平均效率相同,都是log2n,所以,此题用锦标赛排序会比堆排序快。
5.n个顶点、m条边的全连通图,至少去掉几条边才能构成一棵树?答:因为树的结构是一对多,即n个结点的树只有n-1条边与双亲结点相连。
只要再多添一条边就会成为图结构。
所以,m条边的图要去掉m-(n-1)=m-n+1条边才能构成一棵树。
数据结构(A卷)【含答案】
数据结构(A卷)【含答案】试卷编号拟题教研室(或教师)签名教研室主任签名………………………………………………………………………………………………………课程名称(含档次)数据结构A课程代号课程编号专业层次(本、专)本科考试⽅式(开、闭卷)闭卷⼀、应⽤题(3⼩题,共20分)1.设有⼀个栈,元素进栈的次序为:A,B,C,D,E,⽤I表⽰进栈操作,O表⽰出栈操作,设初始状态栈为空,写出下列出栈的操作序列。
(8分)(1)C,B,A,D,E(2)A,C,B,E,D2. ⼀份电⽂中有6种字符:A,B,C,D,E,F,它们的出现频率依次为16,5,9,3,30,1,完成问题:(1)设计⼀棵哈夫曼树;(画出其树结构)(2)计算其带权路径长度WPL。
(8分)3. 已知⽆向图G的邻接表如图所⽰,分别写出从顶点1出发的深度遍历和⼴度遍历序列。
(4分)⼆、判断正误(10⼩题,共20分)1.顺序表结构适宜于进⾏顺序存取,⽽链表适宜于进⾏随机存取。
( )2.⼀个栈的输⼊序列为:A,B,C,D,可以得到输出序列:C,A,B,D。
( )3.栈和队列都是受限的线性结构。
()4. 逻辑结构与数据元素本⾝的内容和形式⽆关。
()5.线性表链式存储的特点是可以⽤⼀组任意的存储单元存储表中的数据元素。
()6. 完全⼆叉树的某结点若⽆左孩⼦,则它必是叶结点。
()7. 邻接表只能⽤于存储有向图,⽽邻接矩阵则可存储有向图和⽆向图。
()8. 图的深度优先搜索序列和⼴度优先搜索序列不是惟⼀的。
()9. 折半查找只适⽤于有序表,包括有序的顺序表和链表。
()10. 每种数据结构都具备三个基本操作:插⼊、删除和查找。
()三、单项选择题(15⼩题,共30分)1.算法分析的两个主要⽅⾯是()。
A. 空间复杂度和时间复杂度B.正确性和简单性C.可读性和⽂档性D.数据复杂性和程序复杂性2.具有线性结构的数据结构是()。
A.图B.树C.⼴义表D.栈3.下⾯程序段的时间复杂度是()。
数据结构期末试题与答案
a:11
b:1010
c:100
VertexType data;
EBox *firstedge;
}VexBox;
typedef struct VexBox{
VexBox adjmulist[Max_VERTEX_NUM];
int vexnum,edgenum;
}AMLGraph;
这个结构主要适用于存贮无向图
QueuePtr rear;
}LinkQueue;
Status EnQueue(LinkQueue&Q,QElemTypee){
QueuePtr p;
p=new QNode;
if(!p) return 0;
p->data=e;p->next=NULL;
Q.rear->next=p;
Q.rear=p;
A.二叉树是度为2的有序树
B.二叉树中结点只有一个孩子时无左右之分
C.二叉树中必有度为2的结点
D.二叉树中最多只有两棵子树,并且有左右之分
8、在具有n个叶子结点的严格二叉树(即结点的度要么是0要么是2)中,结点总数为(C)
A.2n+1 B.2n C.2n-1 D.2n-2
9、N个顶点的有向完全图中含有有向边的数目最多为(D)
typedef struct LNode{
ElemType data;
struct LNode *next;
安徽大学期末考试数据结构试卷
安徽大学《数据结构》考试试卷(A卷)一、填空题1、在线性结构中,第一个结点前驱结点,其余每个结点有且只有个前驱结点;最后一个结点后续结点,其余每个结点有且只有个后续结点。
2、下面程序段的时间复杂度是。
for (i=0;i<n;i++)for (j=0;j<m;j++)A[i][j]=0;3、在具有n个单元的循环队列中,队满时共有个元素。
4、假定一棵二叉树的结点数为18,则它的最小深度为,最大深度为。
5、在一个单链表中p所指结点之后插入一个s所指结点时,应执行下面的操作:s—>next=____;p—>next=___;6、从有序表(12,18,30,43,56,78,82,95)中依次二分查找43和56元素时,其查找长度分别为和。
7、.一棵二叉树有67个结点,这些结点的度要么是0,要么是2。
这棵二叉树中度为2的结点有___________________个。
8、在堆排序和快速排序中,若原始记录接近正序或反序,则选用____。
9、若采用邻接表的存储结构,则图的广度优先搜索类似于二叉树的________遍历。
二、单向选择题(每小题1.5分,共15分)1、n个顶点的强连通图中至少含有( )。
A、n—l条有向边B、n条有向边C、n(n—1)/2条有向边D、n(n一1)条有向边2、在一个不带头结点的单链表HL中,若要向表头插入一个由指针p指向的结点,执行( )。
A、HL=p; p一>next=HL;B、p一>next=HL;HL=p;C、p一>next=HL; p=HL;D、p一>next=HL一>next; HL一>next=p;3、采用线性链表表示一个向量时,要求占用的存储空间地址()。
A: 必须是连续的 B 部分地址必须是连续的C: 一定是不连续的D: 可连续可不连续4、如果想在4092个数据中只需要选择其中最小的5个,采用()方法最好。
A: 起泡排序B: 堆排序C: 锦标赛排序D: 快速排序5、在循环队列中用数组A[0..m-1] 存放队列元素,其队头和队尾指针分别为front和rear,则当前队列中的元素个数是()。
《数据结构》期末考试试卷(含答案)
《数据结构》期末考试试卷( A )一、选择题(每小题2分,共24分)1.计算机识别、存储和加工处理的对象被统称为( A )A.数据B.数据元素C.数据结构D.数据类型2.栈和队列都是(A)A.限制存取位置的线性结构B.顺序存储的线性结构C.链式存储的线性结构D.限制存取位置的非线性结构3.链栈与顺序栈相比,比较明显的优点是( D )A.插入操作更加方便B.删除操作更加方便C.不会出现下溢的情况D.不会出现上溢的情况4.采用两类不同存储结构的字符串可分别简称为( B )A.主串和子串B.顺序串和链串C.目标串和模式串D.变量串和常量串5.一个向量第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是:BA. 110 B .108C. 100D. 1206.串是一种特殊的线性表,其特殊性体现在:BA.可以顺序存储 B .数据元素是一个字符C. 可以链接存储D. 数据元素可以是多个字符7.设高度为h的二叉树上只有度为0和度为2的结点,则此类二叉树中所包含的结点数至少为:CA. 2h B .2h-1C. 2h+1D. h+1软件开发网8.树的基本遍历策略可分为先根遍历和后根遍历;二叉树的基本遍历策略可分为先序遍历、中序遍历和后序遍历。
这里,我们把由树转化得到的二叉树叫做这棵树对应的二叉树。
下列结论哪个正确?AA. 树的先根遍历序列与其对应的二叉树的先序遍历序列相同B .树的后根遍历序列与其对应的二叉树的后序遍历序列相同C. 树的先根遍历序列与其对应的二叉树的中序遍历序列相同D. 以上都不对9.一个有n个顶点的无向图最多有多少边?CA. n B .n(n-1)C. n(n-1)/2D. 2n10.在一个图中,所有顶点的度数之和等于所有边数的多少倍?CA. 1/2 B .1C. 2D. 411.当在二叉排序树中插入一个新结点时,若树中不存在与待插入结点的关键字相同的结点,且新结点的关键字小于根结点的关键字,则新结点将成为(A)A.左子树的叶子结点B.左子树的分支结点C.右子树的叶子结点D.右子树的分支结点软件开发网12.对于哈希函数H(key)=key%13,被称为同义词的关键字是( D )A.35和41B.23和39C.15和44D.25和51二、已知某棵二叉树的前序遍历结果为A,B,D,E,G,C,F,H,I,J,其中中序遍历的结果为D,B,G,E,A,H,F,I,J,C。
数据结构期末考试试卷(A卷)
数据结构期末考试试卷(A卷)第一学期开课单位:软件学院,考试形式:闭、开卷,允许带入场科目:数据结构班级:软件工程姓名:学号:题序一二三四五六七八九总分得分评卷人I. 基本概念部分(共60分)1 下图所示是单链表结点的插入过程,在fence结点后面插入一个值为10的ltmp结点,已知fence->next是指向fence的后继结点,请把这一插入过程用代码表示出来:(6分)这一过程的代码:ltmp->next = fence->next;fence->next = ltmp;2 下图所示是双链表结点的删除过程,在fence结点后面删除一个值为23的结点,已知fence->next是指向fence的后继结点,fence->prev是指向fence的前驱结点,ltmp是一个值为NULL的链表结点指针,请把这一删除过程用代码表示出来:(8分)这一过程的代码:ltmp = fence->next;fence->next = ltmp->next;ltmp->next->prev = fence;3 画出下图中的BST加上值5以后的形状。
(6分)4 画出下图所示图的相邻矩阵表示(假设下面的表格是一个二维数组,请在表格中填入正确的数值)。
(8分)1 2 3 4 5 61 10 20 22 103 53 3 154 205 11 105 15 11 36 2 10 35 给出下图从顶点1开始的DFS 树。
(8分)深度优先搜索(DFS ):从底到高,从小到大 广度优先搜索(BFS ):直接在下面的顶点中画出来即可:6 给出下图从顶点3开始使用Prim (普里姆)算法时的最小支撑树(最小生成树)。
(8分)32154 32154直接在下面的顶点中画出来即可:24 16357 起泡排序函数的算法如下:(8分)void bubsort(int A[], int n){int tmp;for(int i = 0; i < n; i++){for(int j = i + 1; j < n; j++){if(A[i] > A[j]){tmp = A[i];A[i] = A[j];A[j] = tmp;}}//外层循环,打印一下中间结果for(int k = 0; k < n; k++) printf(" %d",A[k]);printf("\n");}}对数组int A[] = { 9, 12,3,7,90,15};应用上面的排序算法进行排序的部分中间打印结果如下,请补充使之完整:8 给出从下图的最大值堆中删除最大元素后得到的堆。
数据结构试卷(A)
1.设顺序表va中的数据元素递增有序,试写一算法,将x插入到顺序表的适当位置上,以保持该表的有序性。
2.写一算法将单链表中值重复的结点删除,使所得的结果表中各结点值均不相同。
3.以多叉链表为存储结构,设计算法对树进行层次遍历。
4.写出图的深度优先遍历算法。
五、综合应用题(任选3题每题10分共30分)
3.下列4个广义表中,长度为1,深度为4的广义表是( )。
(A)((), ((a)))(B)((((a), b)),c)
(C)(((a, b),(c)))(D)(((a, (b), c)))
4.具有4个顶点的无向完全图有( )条边。
(A)6(B)12(C)16(D)20
5.二叉树的顺序存储结构适合于()。
数据结构与算法
试卷类型
A
考试班级
3.给定二叉树的两种遍历序列,分别是:
前序遍历序列:D,A,C,E,B,H,F,G,I;
中序遍历序列:D,C,B,E,H,A,G,I,F,
试画出二叉树B,并简述由任意二叉树B的前序遍历序列和中序遍历序列求二叉树B的思想方法。
4.假定对有序表:(3,5,8,17,24,30,42,54,63,72,87,95)进行折半查找,试回答下列问题:
8.一个具有n个顶点的无向图中,要连通全部顶点至少需要( )条边。
(A)n(B)n+1(C)n/2(D)n-1
9.具有线性结构的数据结构是( )。
A)图B)树C)队列D)广义表
西安科技大学2009—2010学年第1学期期末考试试题(卷)
院系:班级:姓名:学号:
装订线装订线以内不准作任何标记装订线
科目
(A)单枝二叉树(B)完全二叉树(C)平衡二叉树(D)二叉排序树
《数据结构》课程期末考试试卷(A卷)DAOAN-副本-图文
《数据结构》课程期末考试试卷(A卷)DAOAN-副本-图文浙江财经学院东方学院课程期末考试试卷浙江财经学院东方学院2022~2022学年第一学期密封线《数据结构》课程期末考试试卷(A卷)考核方式:闭卷考试日期:2022年月日适用专业、班级:东方电子商务专业题号得分评卷人一二三(共六大题)四五六总分专业、班级:学号:姓名:说明:(1)请考生将答案写在答题纸上;(2)考试时间120分钟;一、单选题(每题1分,共15分)1、对一个算法的评价,不包括如下()方面的内容。
A.健壮性B.可读性C.正确性D.实用性2执行下面程序段时,语句的执行次数为(D)。
for(inti=l;i<=n;i++)For(intj=1;j<=i;j++)S;A.n2B.N2/2C.n(n+1)D.n(n+1)/23..下面算法的时间复杂度为(B)intf(intn){if(n==0||n==l)return1.Elereturnn某f(n-l);A.O(1)B.O(n)C.O(n2)DO(n!)4、在一个长度为n的顺序存储的线性表中,删除第i个元素(1≤i≤n)时,需要从前向后依次前移(A)个元素。
A.n-iB.n-i+1C.n-i-lD.i5若一个结点的引用为p,在p结点后面插入一个值为某的新结点的操作为(D)。
A.p=newNode(某,p)B.p=newNode(某,p.ne某t)第1页,共7页浙江财经学院东方学院课程期末考试试卷C.p.ne某t=newNode(某,p)D.p.ne某t=newNode(某,p.ne某t)6假定利用数组a顺序存储一个栈,用top表示栈顶指针,top-=-1表示栈空,并已知栈不为空,当退栈并返回栈顶元素时所执行的操作为(B)。
A.returna[--top];B.returna[top--];C.rcturna[++top];D.returna[top++];7若让元素1.2.3依次进栈.则出栈次序不可能出现(C)的情况。
数据结构期末考试试题和标准答案及评分标准
《数据结构》试题(A卷)(考试时间:90分钟)一、单项选择题(本大题共15小题,每小题2分,共30分)(每题只有一个选项是正确的,将答案填写在括号内,错选、多选不得分)1.()是组成数据的基本单位,是一个数据整体中相对独立的单元。
A.数据 B.数据元素 C.数据对象 D.数据结构2.算法计算量的大小称为算法的()。
据的存3.4.5.6.7.8.A.线性表采用顺序存储,必须占用一片连续的存储单元。
B.线性表采用顺序存储,便于进行插入和删除操作。
C.线性表采用链式存储,不必占用一片连续的存储单元。
D.线性表采用链式存储,便于插入和删除操作。
9.队列操作的原则是()。
A.后进先出B.先进先出C.只能进行插入D.只能进行删除10.栈中允许进行插入和删除的一端称为()。
A.栈首B.栈尾C.栈顶D.栈底11.假设以数组A[n]存放循环队列的元素,其首尾指针分别为front和rear,则当前队列中的元素个数为()。
A.(rear-front+n)%nB.rear-front+1C.(front-rear+n)%nD.(rear-front)%n12.最大容量为n的循环队列,队尾指针是rear,队首指针是front,则队空的判断条件是()。
13.构。
14.15.12在q3.放了2个字符。
4.广义表(a,b,c,d)的表尾是。
5.一棵深度为k的二叉树,最多有个结点。
6.已知有向图G=(V,E),其中:V={v1,v2,v3,v4,v5,v6,v7},E={<v1,v2>,<v1,v3>,<v1,v4>,<v2,v5>,<v3,v5>,<v3,v6>,<v4,v6>,<v5,v7>,<v6,v7>},则G的拓扑序列是______。
7.有n个顶点的连通图至少有条边。
8.1.()23.4()5.6.7.8.9.()10.采用线性探测法解决冲突问题,所产生的一系列后继散列地址必须大于等于原散列址。
2014-2015B学年二学期数据结构期末考试试卷(A卷)
3.试编写算法,将一个用循环链表表示的稀疏多项式分解成两个多项式,使这两个多项式中各自仅含奇次项或者偶次项,并要求利用原链表中的结点空间构成这两个链表。
4.试利用循环队列编写k阶斐波那契序列中前n+1项(f0,f1,…,fn)的算法,要求满足:
A、(n-1)/2 B、n C、n+1 D、n-1
E、n/2 F、(n+1)/2 G、(n-2)/2
2.下面的叙述不正确的是
A、线性表在链式存储时,查找第i个元素的时间同i的值成正比
B、线性表在链式存储时,查找第i个元素的时间同i的值无关
C、线性表在顺序存储时,查找第i个元素的时间同i的值成正比
D、线性表在顺序存储时,查找第i个元素的时间同i的值无关
1.线性表(a1,a2,…,an)用顺序映射表示时,ai和ai+1(1<=i<n〉的物理位置相邻吗?链接表示时呢?
2.如何通过改链的方法,把一个单向链表变成一个与原来链接方向相反的单向链表?
3.如果已知森林的前序序列和后序序列分别为ABCDEFIGJH和BDCAIFJGHE,请画出该森林
4.数据结构与数据类型有什么区别?
A、top==0 B、top==1 C、top==-1 D、top==m
10.串是一中特殊的线性表,其特殊性体现在。
A、可以顺序存储B、数据元素是一个字符
C、可以链接存储D、数据元素可以是多个字符
11.设树T的高度为4,其中度为l、2、3和4的结点个数分别为4、2、1、1,则T中的叶子数为
A、5 B、6 C、7 D、8
3.在作进栈运算时,应先判别栈是否(①),在作退栈运算时应先判别栈是否(②)。当栈中元素为n个,作进栈运算时发生上溢,则说明该栈的最大容量为(③)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第 1 页,共 11 页任课教师签名:命题教师签名: 系主任签名: 主管院长签名:湛江师范学院2007年-2008学年度第1学期期末考试试题A 卷(考试时间:120分钟)考试科目: 数据结构请将所有答案填写在答题卡上,交卷时请将所有试卷上交一、单选题(每小题2分,共40分)1.下列算法的时间复杂度是( B )。
for ( i=0; i<n; i++) c[i][j]=i+j;A O(1)B O(n)C O(log 2n)D O(n 2) 2.每一个存储结点不仅含有一个数据元素,还包含一个指针,该存储方式是( B )存储方式。
A 顺序B 链式C 索引D 散列 3.指针p 指向以L 为头指针的循环链表的首元素的条件是( A )。
A p==L B p->next==L C L->next==pD p->next==NULL4.4个元素进S 栈的顺序是A 、B 、C 、D ,进行两次Pop(S,x)操作后,栈顶元素的值是( B )。
A AB BC CD D5.经过下列栈的运算后GetTop(S)的值是( A )。
InitStack(s); Push(s,a); Push(s,b); Pop(s); A a B b C 1 D 26.栈的特点是(B )。
A 先进先出B 后进先出C 后进后出 D 不进不出7.经过下列运算后GetHead(Q)的值是( A )InitQueue(Q); EnQueue(Q,a); EnQueue(Q,b);A aB bC 1D 28.一维数组的元素起始地址loc[0]=1000,元素长度为4,则loc[2]为( C )。
A 1000B 1010C 1008D 1020 9.二叉树第i层上最多有( C )个结点。
A 2iB 2i-1C 2i-1D i210.满二叉树( A )二叉树。
A 一定是完全B 不一定是完全C 不是D 不是完全11.二叉树按二叉链表存储,每个结点包含三个域(lchild、data、rchild),若p指针指向二叉树的根结点,经过运算while( p->rchild!=null ) p=p->rchild,则( A )。
A p指向二叉树的最右下方的结点B p指向二叉树的最左下方的结点C p仍指向根结点D p为null12.在具有n个结点的完全二叉树中,结点i(2i<n)的左孩子结点是( A )。
A 是2iB 不存在C 是2i+1 D是2i-113.有N个顶点的无向图的邻接矩阵是用( A )数组存储。
A N行N列B 一维C 任意行N列D N行任意列14.连通分量是( A )的极大连通子图。
A 无向图B 有向图C 树D 图15.最小生成树的构造可使用(A )算法。
A prim算法B 卡尔算法C 迪杰斯特拉算法D 哈夫曼算法16.查找表是以(A )为逻辑结构。
A 集合B 图C 文件D 树17.散列查找是由键值( A )确定散列表中的位置,进行存储或查找。
A 的散列函数值B 本身C 平方D 相反数18.索引顺序表的特点是顺序表中的数据( D )。
A 有序B 无序C 块间有序D 散列第2 页,共11 页第 3 页,共 11 页19.排序是根据( C )的大小重新安排各元素的顺序。
A 数组B 关键字C 元素D 结点 20.不稳定的排序方法是指在排序中,关键字值相等的不同记录间的前后相对位置( C )。
A 保持不变B 保持相反C 不定D 无关二、填空题(每空2分,共20分)1.已知带表头结点的单链表L ,指针P 指向L 链表中的一个结点(非首结点、非尾结点),则删除P 结点的直接后继结点的语句序列是 P->next=P->next->next ;删除尾结点的语句序列是 while(p->next->next) p=p->next; p->next=NULL; 。
2.栈S 经过运算InitStack(s); Push(s,a); Pop(s,x)后,x 的值是 a 。
3.队列Q 经过运算InitQueue(q); EnQueue(q,a); OutQueue(Q,x)后,EmptyQueue(q)的值是 TRUE 。
4.根结点的层数为 1 。
5.在树与二叉树之间的转换方法中,树的根变为二叉树的 根 。
6.将下列按关键字的值从小到大的直接选择排序算法补充完整。
Select ( list r, int n ) {for ( i=1; 语句1 i<=n ; i++) {k=i;for ( j=i+1; 语句2 j<=n ; j++)if ( r[k].key > r[j].key) 语句3 k=j; ; if ( i != k )swap ( r[k] , r[i] ); } }7.两个不同的元素存入同一个散列表,当这两个元素的散列函数相同时,称为 冲突 。
第 4 页,共 11 页三、应用题(每题6分,共30分)1.二叉树的基本形态有几种,请画出所有形态。
的前序、中序和后2.写出图1所示二叉树序遍历序列。
答:前序:ABDECF 中序:DBEACF 后序:DEBFCA3.根据图2所示邻接表,写出该图从C 点出发的深度和广度优先搜索序列。
答:深度:CDBAFE广度:CDABFE4.A 、B 、C 三个元素进S 栈的顺序是A 、B 、C ,出栈的序列是C 、B 、A ,请写出相应的操作序列。
答:A 入栈(Push(S,A)),B 入栈(Push(S,B)),C 入栈(Push(S,C)),C 出栈(Pop(S)),B 出栈(Pop(S)),A 出栈(Pop(S))。
第 5 页,共 11 页5.假设通信的电文由字符集a 、b 、c 、d 、e 、f 、g 中的字母构成。
它们在电文中出现的频度分别为0.31、0.16、0.10、0.08、0.11、0.20、0.04,为这7个字母设计哈夫曼树。
答:图1四、程序设计题 10分建一个单链表,将10个学生的成绩放入单链表(学生的成绩从键盘上输入),然后再将单链表中的学生成绩打印出来。
#include "stdafx.h"#include<malloc.h> /* malloc()等 */#include<stdio.h> /* EOF(=^Z 或F6),NULL */ #include<math.h>#include<process.h> /* exit() */ /* 函数结果状态代码 */ #define TRUE 1 #define FALSE 0#define OK 1typedef int Status; /* Status是函数的类型,其值是函数结果状态代码,如OK等*/typedef int Boolean; /* Boolean是布尔类型,其值是TRUE或FALSE */ typedef int ElemType;struct LNode{ElemType data;struct LNode *next;};typedef struct LNode *LinkList; /* 另一种定义LinkList的方法*/ Status InitList(LinkList *L){ /* 操作结果:构造一个空的线性表L */*L=(LinkList)malloc(sizeof(struct LNode)); /* 产生头结点,并使L指向此头结点*/if(!*L) /* 存储分配失败*/exit(OVERFLOW);(*L)->next=NULL; /* 指针域为空*/return OK;}Status ListInsert(LinkList L,ElemType e){ /* 在带头结点的单链线性表L中第i个位置之前插入元素e */int j=0;LinkList p=L,s;while(p&&p->next) /* 寻找第i-1个结点*/{p=p->next;}s=(LinkList)malloc(sizeof(struct LNode)); /* 生成新结点*/s->data=e; /* 插入L中*/p->next=s;s->next=NULL;return OK;}第6 页,共11 页第 7 页,共 11 页Status ListTraverse(LinkList L,void(*vi)(ElemType)){ /* 操作结果:依次对L 的每个数据元素调用函数vi()。
一旦vi()失败,则操作失败 */ LinkList p=L->next; while(p) {vi(p->data); p=p->next; }printf("\n");return OK; }void visit(ElemType c) /* 与main2-1.c 不同 */ {printf("%d ",c); }int main(int argc, char* argv[]) {LinkList L; int i,e;i=InitList(&L);printf("请输入10个学生的成绩:\n"); for(i=1;i<=10;i++) { scanf("%d",&e); ListInsert(L,e); }printf("在L 的表尾依次插入10个学生的成绩后,输出链表结果:L=");ListTraverse(L,visit); //************************* return 0; }第 8 页,共 11 页答题卡一、 单选题:(40分,每题2分)二、 填空题:(20分,每空2分)1.删除P 结点的直接后继结点的语句序列是:第 9 页,共 11 页删除尾结点的语句序列是:2.3.4.5.6.语句1:语句2:语句3:7.三、应用题(30分,每题6分)第10 页,共11 页第 11 页,共 11 页四、程序设计题,10分。