数据结构(C++)模拟试题
数据结构c期末考试题及答案

数据结构c期末考试题及答案一、选择题(每题2分,共20分)1. 在数据结构中,以下哪种数据结构可以有效地表示元素之间的“一对一”关系?A. 链表B. 栈C. 队列D. 哈希表答案:D2. 以下哪个算法的时间复杂度是O(n^2)?A. 冒泡排序B. 快速排序C. 二分查找D. 归并排序答案:A3. 在二叉树中,叶子节点是指?A. 没有子节点的节点B. 只有一个子节点的节点C. 有两个子节点的节点D. 包含子节点的节点答案:A4. 以下哪种排序算法是稳定的?A. 快速排序B. 冒泡排序C. 堆排序D. 选择排序答案:B5. 在图的遍历中,深度优先搜索(DFS)使用的是?A. 栈B. 队列C. 链表D. 哈希表答案:A6. 哈希表解决冲突的一种方法是?A. 链地址法B. 线性探测法C. 二次探测法D. 所有选项都是答案:D7. 以下哪种数据结构适合实现数据库索引?A. 树B. 链表C. 数组D. 队列答案:A8. 以下哪种排序算法的空间复杂度是O(1)?A. 插入排序B. 归并排序C. 快速排序D. 冒泡排序答案:A9. 在图的表示中,邻接矩阵适用于表示?A. 稠密图B. 稀疏图C. 无向图D. 有向图答案:A10. 以下哪种数据结构可以用于实现LRU缓存淘汰算法?A. 队列B. 栈C. 链表D. 哈希表答案:C二、填空题(每题2分,共20分)1. 在数据结构中,栈是一种______的数据结构,遵循后进先出的原则。
答案:线性2. 一个长度为n的数组,使用二分查找算法查找一个元素的时间复杂度是______。
答案:O(log n)3. 红黑树是一种______的二叉查找树。
答案:平衡4. 在图的遍历中,广度优先搜索(BFS)使用的是______。
答案:队列5. 哈希表的装载因子是指______与哈希表大小的比值。
答案:哈希表中已存元素数量6. 快速排序算法中,基准元素的选择会影响算法的______。
答案:性能7. 在图的表示中,邻接表适用于表示______。
国家二级C语言(数据结构与运算)机试模拟试卷1(题后含答案及解析)

国家二级C语言(数据结构与运算)机试模拟试卷1(题后含答案及解析)题型有:1. 选择题选择题1.对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是A.快速排序B.冒泡排序C.直接插入排序D.堆排序正确答案:D解析:各种排序方法中最坏情况下需要比较的次数分别为:冒泡排序n(n-1)/2、快速排序n(n-1)/2、简单插入排序n(n-1)/2、希尔排序O(n1.5)、简单选择排序n(n-1)/2、堆排序O(nlog2n)。
知识模块:数据结构与运算2.下列关于栈的叙述正确的是A.栈按“先进先出”组织数据B.栈按“先进后出”组织数据C.只能在栈底插入数据D.不能删除数据正确答案:B解析:栈是限定在一端进行插入和删除的线性表,允许进行插入和删除元素的一端称为栈顶,另一端称为栈底。
栈是按照“先进后出”的原则组织数据的。
知识模块:数据结构与运算3.某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是A.10B.8C.6D.4正确答案:C解析:根据二叉树的性质,在任意二叉树中,度为0的结点总是比度为2的结点多一个。
知识模块:数据结构与运算4.下列叙述中正确的是A.算法复杂度是指算法控制结构的复杂程度B.算法复杂度是指设计算法的难度C.算法的时间复杂度是指设计算法的工作量D.算法的复杂度包括时间复杂度与空间复杂度正确答案:D解析:算法复杂度,即算法在编写成可执行程序后,运行时所需要的资源,资源包括时间资源和内存资源。
一个算法的评价主要从时间复杂度和空间复杂度来考虑。
算法的时间复杂度是指执行算法所需要的计算工作量。
空间复杂度是指算法在计算机内执行时所需存储空间的度量。
知识模块:数据结构与运算5.下列叙述中正确的是A.循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B.在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C.在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D.循环队列中元素的个数是由队头指针和队尾指针共同决定正确答案:D解析:循环队列中元素的个数是由队头指针和队尾指针共同决定的,元素的动态变化也是通过队头指针和队尾指针来反映的。
数据结构c语言版考试题及答案

数据结构c语言版考试题及答案一、单项选择题(每题2分,共20分)1. 在C语言中,以下哪个选项不是合法的数组声明?A. int a[10];B. int b[2][3];C. int c[];D. int d[0];答案:D2. 链表与数组相比,以下哪个特点是链表独有的?A. 随机访问B. 动态存储分配C. 连续存储D. 固定大小答案:B3. 在C语言中,以下哪个函数用于创建一个单链表节点?A. mallocB. callocC. reallocD. free答案:A4. 栈的后进先出(LIFO)特性是指?A. 最后插入的元素最先被删除B. 最先插入的元素最先被删除C. 最后插入的元素最后被删除D. 最先插入的元素最后被删除答案:A5. 在二叉树中,叶子节点是指?A. 没有子节点的节点B. 只有一个子节点的节点C. 有两个子节点的节点D. 既没有左子节点也没有右子节点的节点答案:A6. 哈希表解决冲突的常用方法不包括?A. 开放寻址法B. 链地址法C. 线性探测法D. 排序法答案:D7. 在图的遍历中,深度优先搜索(DFS)使用的是?A. 栈B. 队列C. 链表D. 数组答案:A8. 快速排序算法的时间复杂度在最好情况下是?A. O(n^2)B. O(n)C. O(nlogn)D. O(logn)答案:C9. 以下哪个不是二叉搜索树的性质?A. 左子树上所有节点的值小于根节点的值B. 右子树上所有节点的值大于根节点的值C. 左子树和右子树都是二叉搜索树D. 所有节点的值都相等答案:D10. 以下哪个算法不是排序算法?A. 冒泡排序B. 选择排序C. 插入排序D. 深度优先搜索答案:D二、填空题(每题2分,共20分)1. 在C语言中,动态分配的内存需要使用________函数来释放。
答案:free2. 一个完全二叉树的第i层(从0开始计数)最多有________个节点。
答案:2^i3. 在图的表示方法中,邻接矩阵适合表示________图,邻接表适合表示________图。
《数据结构》试卷(C卷)

《数据结构》试卷(C卷)一、单项选择题1. 空串与空格字符组成的串的区别在于()。
A.没有区别B.两串的长度不相等C.两串的长度相等D.两串包含的字符不相同2. 一个子串在包含它的主串中的位置是指()。
A.子串的最后那个字符在主串中的位置B.子串的最后那个字符在主串中首次出现的位置C.子串的第一个字符在主串中的位置D.子串的第一个字符在主串中首次出现的位置3. 下面的说法中,只有()是正确的。
A.字符串的长度是指串中包含的字母的个数B.字符串的长度是指串中包含的不同字符的个数C.若T包含在S中,则T一定是S的一个子串D.一个字符串不能说是其自身的一个子串4. 两个字符串相等的条件是()。
A.两串的长度相等B.两串包含的字符相同C.两串的长度相等,并且两串包含的字符相同D.两串的长度相等,并且对应位置上的字符相同5. 若SUBSTR(S,i,k)表示求S中从第i个字符开始的连续k个字符组成的子串的操作,则对于S=“Beijing&Nanjing”,SUBSTR(S,4,5)=()。
A. “ijing”B. “jing&”C. “ingNa”D. “ing&N”6. 若INDEX(S,T)表示求T在S中的位置的操作,则对于S=“Beijing&Nanjing”,T=“jing”,INDEX(S,T)=()。
A.2B.3C.4D.57. 若REPLACE(S,S1,S2)表示用字符串S2替换字符串S中的子串S1的操作,则对于S=“Beijing&Nanjing”,S1=“Beijing”,S2=“Shanghai”,REPLACE(S,S1,S2)=()。
A. “Nanjing&Shanghai”B. “Nanjing&Nanjing”C. “ShanghaiNanjing”D. “Shanghai&Nanjing”8. 在长度为n的字符串S的第i个位置插入另外一个字符串,i的合法值应该是()。
A.i>0B. i≤nC.1≤i≤nD.1≤i≤n+19. 字符串采用结点大小为1的链表作为其存储结构,是指()。
数据结构(c语言)试题

1、用循环链表作为存储结构的队列就就是循环队列()错误2、线性链表中各个链结点之间的地址不一定要连续。
()正确3、一个任意串就是其自身的子串()正确4、AOV网是个带权有向图()错误5、一组权值,可以唯一构造出一棵哈夫曼树。
()错误6、队列的插入操作是在队尾。
()正确7、邻接表是图的一种链式存储结构()正确8、由权值为3,6,7,2,5的叶子结点生成一棵哈夫曼树,它的带权路径长度为51()正确9、若某堆栈的输入序列为1,2.3.4,则4,3,1,2不可能就是堆栈的输出序列之一()正确10、在链队列中,即使不设置尾指针也能进行入队操作()错误11、哈夫曼树一定就是完全二叉树()错误12符号p->next出现在表达式中表示p所指的结点的内容()错误12、从源点到终点的最短路径是唯一的()错误13、队列在数据中的存储原则是后进先出()错误14、邻接表只能用于存储有向图,而邻接矩阵则可存储有向图和无向图()错误16.给定一组权值,可以唯一构造出一棵哈夫曼树()错误17、程序越短,程序运行的时间就越少()错误18、线性表的逻辑顺序与物理顺序总就是一致的()错误19、堆栈、队列与数组的逻辑结构都就是线性表结构()正确20、带头节点的单链表head为空的判定条件是head==NULL()错误1、循环队列的特点之一是不会产生()假溢出2、链栈与顺序栈相比,比较明显的优点是()不会出现上溢的情况3、若需要利用形参直接访问实参,则应把形参变量说明为()参数引用4、在一棵深度为h的具有n个元素的二叉排序树中,查找所有元素的最长查找长度为()h5、在单链表中,存储每个结点需要有两个域,一个是数据域,另一个是指针域,它指向该结点的()直接后继6、在查找过程中,若同时还要做增、删工作,这种查找则称为()动态查找7、假定一个顺序队列的队首与队尾指针分别为front与rear,存放该队列的数组长度为N,则判断队空的条件为()Front==rear8、适于对动态查找表进行高效率查找的组织结构就是()二叉排序树9.线性表是()一个有限序列,可以为空10.链表具有的特点是()可随机访问任一元素11、在一棵二叉树中,第5层上的结点数最多为()1612、静态查找表与动态查找表两者的根本差别在于()施加的操作不同13、下列陈述中正确的是()二叉树中最多只有两颗子树,并且有左右之分14、算法在发生非法操作时可以做出处理的特性称为()健壮性15、使用折半查找,线性表必须()以顺序方式存储,且元素已元素已按值排好序16、存储时,结点的地址()连续与否均可17、链表不具有的特点是()随机访问18、一个栈的入栈序列是a , b , c ,d , e,则栈的不可能的输出序列是()d,c,e,a,b19、二维数组A按行顺序存储.其中每个元素占1个存储单元。
c语言数据结构试题模拟试卷

模拟试卷一一、单选题(每题 2 分,共20分)1.以下数据结构中哪一个是线性结构?( B )A. 有向图B. 队列C. 线索二叉树D. B树2.在一个单链表HL中,若要在当前由指针p指向的结点后面插入一个由q指向的结点,则执行如下( )语句序列。
A. p=q; p->next=q;B. p->next=q; q->next=p;C. p->next=q->next; p=q;D. q->next=p->next; p->next=q;3.以下哪一个不是队列的基本运算?()A. 在队列第i个元素之后插入一个元素B. 从队头删除一个元素C. 判断一个队列是否为空D.读取队头元素的值4.字符A、B、C依次进入一个栈,按出栈的先后顺序组成不同的字符串,至多可以组成( )个不同的字符串?A.14B.5C.6D.85.由权值分别为3,8,6,2的叶子生成一棵哈夫曼树,它的带权路径长度为( )。
A. 11 B.35 C. 19 D. 53以下6-8题基于图1。
6.该二叉树结点的前序遍历的序列为( )。
A.E、G、F、A、C、D、BB.E、A、G、C、F、B、DC.E、A、C、B、D、G、FD.E、G、A、C、D、F、B7.该二叉树结点的中序遍历的序列为( )。
A. A、B、C、D、E、G、FB. E、A、G、C、F、B、DC. E、A、C、B、D、G、FE.B、D、C、A、F、G、E8.该二叉树的按层遍历的序列为( )。
A.E、G、F、A、C、D、B B. E、A、C、B、D、G、FC. E、A、G、C、F、B、DD. E、G、A、C、D、F、B9.下面关于图的存储的叙述中正确的是( )。
A.用邻接表法存储图,占用的存储空间大小只与图中边数有关,而与结点个数无关B.用邻接表法存储图,占用的存储空间大小与图中边数和结点个数都有关C. 用邻接矩阵法存储图,占用的存储空间大小与图中结点个数和边数都有关D.用邻接矩阵法存储图,占用的存储空间大小只与图中边数有关,而与结点个数无关10.设有关键码序列(q,g,m,z,a,n,p,x,h),下面哪一个序列是从上述序列出发建堆的结果?( )A. a,g,h,m,n,p,q,x,zB. a,g,m,h,q,n,p,x,zC. g,m,q,a,n,p,x,h,zD. h,g,m,p,a,n,q,x,z二、填空题(每空1分,共26分)1.数据的物理结构被分为___顺序__、_链表__、___索引___和__散列__四种。
数据结构题集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语言)模拟试卷(6)
洛雅德科技学院200 ~200 学年第学期期末试题——数据结构(C语言)说明:本试卷共五大题,试卷满分100分,考试时间120分钟。
一.单项选择题:共10小题、每题2分,满分20分;将答案填入题中的括号中。
1.在一个长度为n的顺序存储线性表中,删除第i个元素(1≤i≤n)时,需要从前向后依次前移个元素。
A、n-iB、n-i+1C、n-i-1D、i2.组成数据的基本单位是。
A、数据项B、数据类型C、数据元素D、数据变量3. 当利用大小为N的一维数组顺序存储一个栈时,假定用top=-1表示栈空,则向这个栈插入一个元素时,首先应执行语句修改top指针。
A.top++;B.top--;C.top=NULL ;D.top;4. 若让元素a,b,c依次进栈,则出栈次序不可能出现种情况。
A.cba B.bac C.cab D.acb5. 线性表采用链式存储时,其地址。
A.必须是连续的 B.部分地址必须是连续的C.一定是不连续的 D.连续与否均可以6. 线性表的链式存储有利于运算。
A.插入 B.读表元 C.查找 D.定位7. 在一个长度为n的线性表中插入第i个元素的操作中,i的取值范围是A.1≤i≤n B.0≤i≤n C.1≤i≤ n+1 D.1≤i≤n-18.如果要查找单链表中的第i个元素,应该从开始进行查找。
A.第i个结点 B.头结点 C.尾结点 D.任意一个结点9.当采用顺序存储方式存储队列时,可能出现存储空间剩余,而不允许继续入队的情况,称为。
A.溢出 B.假溢出 C.队列不能用顺序存储方式 D.数组存储空间过小10.一棵完全二叉树的结点按层次遍历从1开始编号,如果编号为m的结点有双亲,则双亲的编号为。
A.2×m B.m+1 C.m/2 D.m-1二.判断题:共10小题,每小题1分,满分10分;请将答案以“√”、“×”形式填入题后括号中。
1.线性表不能采用链式存储。
()2.在单链表中插入结点主要通过移动元素实现。
数据结构(C语言)模拟试卷(2)
洛雅德科技学院200 ~200 学年第学期期末试题——数据结构(C语言)本课程为闭卷考试,试卷共六道大题,试卷满分100分,考试时间120分钟。
一.选择题(10×2分):共10小题,请将答案填入题中的括号中,每小题只有一个正确答案,错选或不选均不给分。
1.如果树的结点有4个兄弟,而且B为A的双亲,则B的度为()A.3 B.4C.5 D.12.设有一个栈,元素的进栈次序为A,B,C,D,E,则下列()是不可能的出栈序列。
A.A,B,C,D,E B.B,C,D,E,AC.E,A,B,C,D D.E,D,C,B,A3.在所有排序方法中,关键字的比较次数与记录的初始排列无关的是()。
A.快速排序B.冒泡排序C.直接插入排序D.简单选择排序4.设一棵二叉树共有20个度为2的结点,则叶子结点共有()个。
A.40 B.19C.20 D.215.在具有N个单元的顺序存储循环队列中,假定front和rear分别为对头指针和对尾指针,则判断对满的条件为()。
A.front== rear B.(rear+1)%MAXSIZE==frontC.front-rear==1 D.rear%MAXSIZE==front6.设有1000个元素,用二分法查找时,最小比较次数为()A.0 B.1C.10 D.5007.一个元素进入队列的时间复杂度是()。
A.O(1) B.O(n)C.O(n2) D.O(log2n)8.一棵完全二叉树中根结点的编号为1,而且23号结点有左孩子但没有右孩子,则完全二叉树共有()个结点。
A.24 B.45C.46 D.479.如某数据结构的数据元素的集合为S={A,B,C,D,E,F,G},数据元素间的关系为R={<A,D>,<A,G>,<D,B>,<D,C>,<G,E>,<G,F>},则该数据结构是一种()。
A.线性结构B.树结构C.链表结构D.队列结构10.从一个长度为n的顺序表中删除第i个元素(1≤i≤n),需向前移动()个元素。
国家二级C语言(数据结构与运算)机试模拟试卷3(题后含答案及解析)
国家二级C语言(数据结构与运算)机试模拟试卷3(题后含答案及解析)题型有:1. 选择题选择题1.下列排序方法中,最坏情况下时间复杂度最小的是A.冒泡排序B.快速排序C.堆排序D.直接插入排序正确答案:C解析:根据上表可知选项C正确。
知识模块:数据结构与运算2.为了对有序表进行对分查找,则要求有序表A.只能顺序存储B.只能链式存储C.可以顺序存储也可以链式存储D.任何存储方式正确答案:A解析:有序表的对分查找条件是有序表为顺序存储。
顺序查找:①如果线性表为无序表(即表中元素的排序是无序的),则无论是顺序存储结构还是链式存储结构,都只能用顺序查找;②即使是有序线性表,如果采用链式存储结构,也只能用顺序查找。
分块查找(又称索引顺序查找):分块有序表结构分为两部分,①线性表本身采用顺序存储结构;②在建立一个索引表,在索引表中,对线性表的每个子表建立一个索引结点,每个结点包括两个域:一是数据域,用于存放对应子表中的最大元素值;二是指针域,用于指示对应子表的第一个元素在整个线性表中的序号。
显然索引表关于数据域是有序的。
知识模块:数据结构与运算3.设某二叉树的后序序列为CBA,中序序列为ABC,则该二叉树的前序序列为A.BCAB.CBAC.ABCD.CAB正确答案:C解析:二叉树的前序遍历顺序为首先访问根结点,再依次访问左结点和右结点。
中序遍历的顺序为首先访问左结点,然后依次访问根结点和右结点。
后序遍历首先遍历左子树,然后遍历右子树,最后访问根结点。
根据后序可以很快确定根结点,然后可以查看根在中序中位置,将中序分为左右两部分,左边和右边两颗树,在按照上述方式递推出确定左子树的根和右子树。
本题根据后序,可以确定A为根结点;根据B在中序中的位置,可以确定A没有左子树,BC为A的右子树,C为B的右子树。
本题的具体二叉树如下:因此,这棵二叉树的前序是ABC,选项C正确。
知识模块:数据结构与运算4.下列叙述中正确的是A.存储空间不连续的所有链表一定是非线性结构B.结点中有多个指针域的所有链表一定是非线性结构C.能顺序存储的数据结构一定是线性结构D.带链的栈与队列是线性结构正确答案:D解析:计算机中数据按照其数据逻辑结构,可以分为线性结构和非线性结构。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
模拟试题3 一.选择题 1.当初始序列已按健值有序时,用直接插入算法进行排序,需要比较的次数为( ) A.n-1 B.log2n C. 2log2n D.n2 冒泡排序 n2 选择排序 n2 插入排序 n2 堆排序 nlog n 归并排序 nlog2n 快速排序 n2 希尔排序 n2
2.以下时间复杂性不是O(n2)的排序方法是( ) A.直接插入排序 B.二路归并排序 C.冒泡排序 D.直接选择排序 3..对采用二分查找法进行查找运算的查找表,要求按( )方式进行存储。 A.顺序存储 B 链式存储 C.顺序存储且结点按关键字有序 D.链式存储且结点按关键字有序 4.设有序表的关键字序列为{1,4,6,10,18,35,42,53,67,71,78,84,92,99},当用二分查找法查找健值为84的结点时,经( )次比较后查找成功。 A.2 B. 3 C. 4 D. 12 5.静态查找表与动态查找表两者的根本差别在于( )……………………………………………. A.逻辑结构不同 B.存储实现不同 C.施加的操作不同 D.数据元素的类型不同 6.用顺序查找法对具有n个结点的线性表查找的时间复杂性量级为 A.O(n2) B. O(nlog2n) C. O(n) D.O(log2n) 7.设有6个结点的无向图,该图至少应有( )条边能确保是一个连通图。 A. 5 B. 6 C. 7 D 8 8.在无向图中,所有顶点的度数之和是所有边数的( )倍。 A.0.5 B.1 C.2 D.4 9.深度为6的二叉树最多有( )个结点. A.64 B.63 C.32 D.31 10.将含有83个结点的完全二叉树从根结点开始编号,根为1号,后面按从上到下、从左到右的顺序对结点编号,那么编号为41的双亲结点编号为 ( ) A.42 B.40 C.21 D.20 11.已知某二叉树的后序遍历序列是dabec,中序遍历序列是deabc,它的前序遍历序列是( ) A.acbed B.deabc C.decab D.cedba 12.设二叉树结点的先根序列、中根序列和后根序列中,所有叶子结点的先后顺序( ) A.都不相同 B.完全相同 C.先序和中序相同,而与后序不同 D.中序和后序相同,而与先序不同 13.如果以链表作为栈的存储结构,做退栈操作时( ) A.必须判别栈是否满 B.必须判别栈是否空 C.判别栈元素的类型 D.对栈不做任何操作 14.链栈与顺序栈相比,有一个比较明显的优点即( ) A.插入操作更方便 B. 通常不会出现栈满的情况 C.不会出现栈空的情况 D. 删除操作更方便 15.线性结构中的一个结点代表一个( ) A. 数据元素 B. 数据项 C. 数据 D. 数据结构 二.填空题 1.若待排序的序列中存在多个记录具有相同的键值,经过排序,这些记录的相对次序仍然保持不变,则称这种排序方法是________的,否则称为________的。 2.按照排序过程涉及的存储设备的不同,排序可分为________排序和________排序。 3.直接插入排序是稳定的,它的时间复杂性为________,空间复杂度为________。 4.对于n个记录的集合进行冒泡排序,其最坏情况下所需的时间复杂度是________。 5.二叉排序树是一种特殊的、增加了限制条件的二叉树,其限制条件是任一结点的键值________于其左孩子(及其子孙)的键值且________于其右孩子(及其子孙)的键值。 6.中根遍历一棵二叉排序树所得的结点访问序列是键值的________序列。 7.平衡二叉排序树上任一结点的平衡因子只可能是________、________或________。 8.采用散列技术时需要考虑的两个主要问题是:一、________?二、________? 9.一个具有n个顶点的完全无向图的边数为________。一个具有n个顶点的完全有向图的弧度数为________。 10.遍历图的基本方法有________优先搜索和________优先搜索两种。 11.在无向图中,如果从顶点v到顶点v’有路径,则称v和v’是_______的。如果对于图中的任意两个顶点vi,vj∈V,且vi和vj都是连通的,则称G为________。 12.二叉树第i(i>=1)层上至多有______个结点。 13.深度为k(k>=1)的二叉树至多有______个结点。 14.具有n个结点的二叉树中,一共有________个指针域,其中只有________个用来指向结点的左右孩子,其余的________个指针域为NULL。 15.有m个叶子结点的哈夫曼树,其结点总数为________。 16.需要压缩存储的矩阵可分为___________矩阵和___________矩阵两种。 17.队称为___________线性表。 18.从某种意义是说,数据、数据元素和数据项实际反映了数据组织的三个层次,数据可由若干个__________构成,数据元素可由若干个__________构成。 19.常见时间复杂性的量级有:常数阶O(___________)、对数阶O(________)线性阶O(___________)、平方阶O(___________)、和指数阶O(___________)。 20.线性结构的基本特征是若至少含有一个结点,则除起始结点没有直接______外,其他结点有且仅有一个直接______;除终端结点没有直接______外,其它结点有且仅有一个直接______.
三.名词解释题
1.排序 2.堆 3. ..查找长度 4.无向完全图 5.有向完全图 6. 二叉树 7. 满二叉树 8..栈 9..队列 10.链表
四.简答题
1. 什么是二叉排序树? 2. 什么是顺序表? 3. 什么叫稀疏矩阵? 4. 静态查找表与动态查找表的区别是什么? 5. 什么叫无向图?
五.解答题 1.判断下列两序列是否为堆?若不是,按照建堆的思想把它调整为堆,并用图表示建堆的过程。 (1)(3,10,12,22,36,18,28,40); (2)(5,8,11,15,23,20,32,7)。 2.已知数据序列为(12,5,9,20,6,31,24),对该数据序列进行排序,试写出插入排序和冒泡排序每趟的结果。 3.对长度为20的有序表进行二分查找,请画出它的一棵判定树,并求等概率情况下的平均查找长度。
六.算法设计题
1.找出数组A[1..n]中元素的最大值和次最大值(本小题以数组元素的比较为标准操作)。 2..在数组A[1..n]中查找值为K的元素,若找到则输出其位置i(1<=i<=n),否则输出0作为标志。 3.设有数组A[n],n>1,试设计一个算法,求数组A[n]的逆序。
模拟试题4 一、单项选择题 1.下面程序段的时间复杂度是( ) for(i=0;ifor(j=1;jA[i][j]=0; A.O(n) B.O(m+n+1) C.O(m+n) D.O(m*n) 2.在单链表中,指针p指向元素为x的结点,实现“删除x的后继”的语句是( ) A.p=p->next; B.p->next=p->next->next; C.p->next=p; D.p=p->next->next; 3.在头指针为head且表长大于1的单循环链表中,指针p指向表中某个结点,若p->next->next=head,则( ) A.p指向头结点 B.p指向尾结点 C.*p的直接后继是头结点 D.*P的直接后继是尾结点 4.判定“带头结点的链队列为空”的条件是( ) A. Q.front==NULL B. Q.rear==NULL C. Q.front==Q.rear D. Q.front!=Q.rear 5.设有两个串T和P,求P在T中首次出现的位置的串运算称作( ) A.联接 B.求子串 C.字符定位 D.子串定位 6.广义表A=(a,(b),(),(c,d,e))的长度为( ) A.4 B.5 C.6 D.7 7.一棵含18个结点的二叉树的高度至少为( ) A.3 B.4 C.5 D.6 8.已知二叉树的先序序列为ABDECF,中序序列为DBEAFC,则后序序列为( ) A.DEBAFC B.DEFBCA C.DEBCFA D.DEBFCA 9.无向图中一个顶点的度是指图中( ) A.通过该顶点的简单路径数 B.与该顶点相邻接的顶点数 C.通过该顶点的回路数 D.与该顶点连通的顶点数 10.在有向图中,所有顶点的入度之和是所有顶点出度之和的( )倍。 A.0.5 B. 1 C. 2 D.4 11.在下列排序方法中,平均时间复杂度为O(nlogn)且空间性能最好的是( ) A.快速排序 B.堆排序 C.归并排序 D.基数排序 12.已知一组关键字为{25,48,36,72,79,82,23,40,16,35},其中每相邻两个为有序子序列。对这些子序列进行一趟两两归并的结果是( ) A.{25,36,48,72,23,40,79,82,16,35} B.{25,36,48,72,16,23,40,79,82,35} C.{25,36,48,72,16,23,35,40,79,82} D.{16,23,25,35,36,40,48,72,79,82} 13.设有序表的关键字序列为{1,4,6,10,18,35,42,53,67,71,78,84,92,99},当用二分查找法查找健值为84的结点时,经( )次比较后查找成功。 A.2 B. 3 C. 4 D. 12 14.以下说法正确的是 ( )