当前位置:问答库>考研试题

2018年天津大学管理与经济学部901数据结构与程序设计之数据结构考研核心题库

  摘要

目录

2018年天津大学管理与经济学部901数据结构与程序设计之数据结构考研核心题库(一) ... 2 2018年天津大学管理与经济学部901数据结构与程序设计之数据结构考研核心题库(二) . 14 2018年天津大学管理与经济学部901数据结构与程序设计之数据结构考研核心题库(三) . 28 2018年天津大学管理与经济学部901数据结构与程序设计之数据结构考研核心题库(四) . 40 2018年天津大学管理与经济学部901数据结构与程序设计之数据结构考研核心题库(五) . 53

一、填空题

1. 串是一种特殊的线性表,_____;其特殊性表现在_____;串的两种最基本的存储方式是_____、两个串相等的充分必要条件是_____。

【答案】其数据元素都是字符;顺序存储;链式存储;串的长度相等且两串中对应位置的字符也相等

2. 设数组数组中任一元素A[i,j]均占内存48个二进制位,从首地址2000开始连续存放在主内存里,主内存字长为16位,那么

(1)存放该数组至少需要的单元数是_____;

(2)存放数组的第8列的所有元素至少需要的单元数_____;

(3)数组按列存储时,元素A[5,8]的起始地址是_____。

【答案】270;27;2204

【解析】数组的元素个数为9*10=90,因为每个元素占内存48个二进制位,即6个字节。故总需要90*6=540个字节,因为主内存字长为16位,即2个字节,所以至少需要540/2=270个单元数。第8列有9个元素,共占9*6=54个字节,因此至少需要54/2=27个单元数。由题知,每个元素占3个单元。按列存储时,A[5,8]的起始地址为2000+[(8﹣1)*9+(5﹣0)]*3=2204。

3. 一棵有11个结点的满二叉树有_____个度为1的结点、有_____个分支(非终端) 结点和_____个叶子,该满二叉树的深度为_____。 【答案】或

【解析】满二叉树没有度为1的结点,度为0的结点等于度为2的结点个数+1。

4. 循环队列的引入,目的是为了克服_____。

【答案】假溢出时大量移动数据元素

【解析】用数组实现队列时,如果不移动,随着数据的不断读写,会出现假满队列的情况。即尾数组已满但头数组还是空的。循环队列也是一种数组,引入循环队列,有效克服假溢出大量移动数据元素的问题。

5. 每一棵树都能唯一地转换为它所对应的二叉树。若已知一棵二叉树的前序序列是BEFCGDH ,中序序列是FEBGCHD ,则它的后序序列是_____。设上述二叉树是由某棵树转换而成,则该树的前序序列是_____

【答案】FEGHDCB ;BEF

【解析】树的前序序列对应二叉树的前序序列,该二叉树转换成森林时含三棵树,其第一棵树的前序是BEF 。

6. 从用户的观点看,文件的逻辑结构通常可以区分为两类:一类是如NdBASE 中数据库文件那样的文件组织结构,称为_____文件; 另一种是诸如用各种文字处理软件编辑成的文本文件,称为_____文件。从文件在存储器上的存放方式来看,文件的物理结构往往可区分为三类,即_____, _____和_____。B+树适用于组织_____的索引结构,m 阶B+树毎个结点至多有_____个儿子,除根结点外每个结点至少有_____个儿子,根结点至少有_____个儿子,有k 个儿子的结点必有_____个关键码。

【答案】数据库;文本;顺序组织;随机组织;链组织;随机组织;m ; ;2;k

7. 在一个具有n 个单元的顺序栈中,假定以地址高端(即下标为n 的单元) 作为栈底,以top 作为栈顶指针,则当向栈中压入一个元素时,top 的变化是top =_____。

【答案】top ﹣1

【解析】由于栈底在地址高端,栈中压入一个元素时,栈顶向地址底端移动一个单位,所以top ﹣1。

8. 根据线性表的链式存储结构中每一个结点包含的指针个数,将线性链表分成_____和_____;而又根据指针的连接方式,链表又可分成_____和_____。

【答案】单链表;双链表;(动态) 链表;静态链表

【解析】线性表的链式存储结构根据每个结点包含的指针个数分为单链表和双链表,单链表只包含一个指针,指向后续元素,双链表包括两个指针,指向前一个元素和后续元素。根据指针的连接方式,链表可分为动态链表和静态链表。静态链表的指针指向下一个元素的编号,动态链表的指针指向下一个元素的物理位置。

9. 在哈希函数中,p 值最好取_____。

【答案】小于等于表长的最大素数或不包含小于20的质因子的合数

【解析】在使用除留余数法时,对除数P 的选择很重要。若P 选的不好,容易产生同义词。一般情况下,可以选P 为质数或不包含小于20的质因素的合数。

10.如果按关键码值递增的顺序依次将关键码值插入到二叉排序树中,则对这样的二叉排序树检索时,平均比较次数为_____。 【答案】

【解析】如果关键码是排好序的,构建二叉排序树就会形成一个单支树,它的查找效率和顺序查找效率一样为。

11.关键码序列(Q,H ,C ,Y ,Q ,A ,M ,S ,R ,D ,F ,X) ,要按照关键码值递增的次序进行排序,若采用初始步长为4的希尔排序法,则一趟扫描的结果是_____; 若采用以第一个元素为分界元素的快速排序法,则扫描一趟的结果是_____。

【答案】(Q,A ,C ,S ,Q ,D ,F ,X ,R ,H ,M ,Y) ; (F,H ,C ,D ,a ,A ,M ,Q ,R ,S ,Y ,X)

【解析】希尔排序的基本思想是:先将整个待排记录序列分割成为若干子序列分别进行直接插入排序,待整个序列中的记录“基本有序”时,再对全体记录进行一次直接插入排序。

快速排序(quick sort) 的基本思想是,通过一趟排序将待排记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。

12.设为哈夫曼树的叶结点数目,则该哈夫曼树共有_____个结点。 【答案】

【解析】哈夫曼树只有度为0和2的节点。

13.当广义表中的每个元素都是原子时,广义表便成了_____。

【答案】线性表

【解析】如果每个元素都是原子,则元素不可分。此时的元素是只有一对一的关系,所以广义表变成了线性表。

14.检索是为了在文件中寻找满足一定条件的记录而设置的操作。检索可以按_____检索。也可以按_____检索;按_____检索又可以有 检索和_____检索。

【答案】关键字;记录号;记录号;顺序;直接

15.克鲁斯卡尔算法的时间复杂度为_____,它对_____图较为适合。 【答案】

;边稀疏

二、单项选择题

16.设计一个判别表达式中左、右括号是否配对出现的算法,采用( )数据结构最佳。

A. 线性表的顺序存储结构

B. 队列

C. 线性表的链式存储结构

D. 栈

【答案】D