2018年天津大学海洋科学与技术学院901数据结构与程序设计之数据结构考研仿真模拟五套题
● 摘要
一、填空题
1. 一个算法具有5个特性: _____、_____、_____、有零个或多个输入、有一个或多个输出。
【答案】有穷性;确定性;可行性
2. 在一棵m 阶B-树中,若在某结点中插入一个新关键字而引起该结点分裂,则此结点中原有的关键字的个数是_____; 若在某结点中删除一个关键字而导致结点合并,则该结点中原有的关键字的个数是_____。 【答案】
【解析】m 阶B-树除根结点和叶子结点外,结点中关键字个数最多是m -1,最少
3. 对n 个记录的表进行简单选择排序,所需进行的关键字间的比较次数为_____。
【答案】n (n-1) /2
【解析】第一次需要n -1次比较,第i 此需要n -i 此比较,所以共需要
4. 以下程序的功能是实现带附加头结点的单链表数据结点逆序连接,请填空完善之。
h 为附加头结点指针
(_____)
_____;
【答案】(1)p!=NULL //链表未到尾就一直进行
(2)q //将当前结点作为头结点后的第一元素结点插入
5. 对于一个具有n 个结点的单链表,在已知的结点半p 后插入一个新结点的时间. 复杂度为_____,在给定值为x 的结点后插入一个新结点的时间复杂度为_____。
【答案】O(1);O(n)
【解析】第一种情况只需直接修改指针的指向。第二种情况必须从头结点遍历找到x 的结点。
6. 高度为h 的堆中,最多有_____元素,最少有_____个元素。 【答案】
。
【解析】当这个堆构成的是满二叉树时,元素的个数最多,元素个数为。当最后一层只有一个元素时,此时堆的元素个数最少,元素个数为。
7. 设数组的基地址为2000,每个元素占2个存储单元,若以行序为主序顺序存储,则元素a[45,68]的存储地址为_____;若以列序为主序顺序存储,则元素a[45,68]的存储地址为_____。
【答案】9174;8788
【解析】设一个元素的行标为i ,列标为j 。若以行序为主存储顺序,则它的存储地址为2000+((i﹣l)*80+j ﹣
1) 2。若以列序为主存储顺序,则它的存储地址为2000+((j﹣l)*50+i ﹣l)*2。
8. 当广义表中的每个元素都是原子时,广义表便成了_____。
【答案】线性表
【解析】如果每个元素都是原子,则元素不可分。此时的元素是只有一对一的关系,所以广义表变成了线性表。
9. 已知t) ,LEN(t)+1))
:
【答案】 ;;ASSIGN(S,U) ;ASSIGN(V,SUBSTR(S,INDEX(S,,求REPLACE(S,V ,m) =_____。
10.在下面的程序段中,对X 的赋值语句的时间复杂度为_____ (表示为n 的函数) 。
【答案】1+(1+2) +(1+2+3) +…+(l+2+…+n) =n(n+1)(n+2)/6,即O(n)
【解析】当i =l 时,赋值语句就被执行了一次。当i =2时,赋值语句被执行了1+2次。当i =3时,赋值语句被执行了1+2+3次。...... 可以推出赋值语句总共被执行了1+(1+2) +(1+2+3) +…+(l+2+... +n) =n(n+1)(n+2)/6次。
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.在单链表L 中,指针P 所指结点有后继结点的条件是_____
【答案】P ﹣>next! =NULL
【解析】指针所指节点的指针域所指向的元素非空,说明该指针所指节点有后继结点。
13.从用户的观点看,文件的逻辑结构通常可以区分为两类:一类是如NdBASE 中数据库文件那样的文件组织结构,称为_____文件; 另一种是诸如用各种文字处理软件编辑成的文本文件,称为_____文件。从文件在存储器上的存放方式来看,文件的物理结构往往可区分为三类,即_____, _____和_____。B+树适用于组织_____的索引结构,m 阶B+树毎个结点至多有_____个儿子,除根结点外每个结点至少有_____个儿子,根结点至少有_____个儿子,有k 个儿子的结点必有_____个关键码。
【答案】数据库;文本;顺序组织;随机组织;链组织;随机组织;m ; ;2;k
14.对于双向链表,在两个结点之间插入一个新结点需修改的指针共_____个,单链表为_____个。
【答案】4;2
15.设广义表L =(( ),( )) ,则head(L)是_____tail(L)是_____L的长度是_____;深度是_____。
【答案】( );(( )) ;2;2
【解析】广义表的表头是表的第一个元素,表尾是除了第一个元素外其余的所有的元素构成的表;表的长度指表中元素的个数;表的深度指展开后括号的层数。
二、单项选择题
16.一个TCP 连接总是以1KB 的最大段发送TCP 段,发送方有足够多的数据要发送。当拥塞窗口为16KB 时发生了超时,如果接下来的4个RTT(往返时间) 时间内的TCP 段的传输都是成功的,那么当第4个RTT 时间内发送的所有TCP 段都得到肯定应答时,拥塞窗口大小是( )。
A.7KB
B.8KB
C.9KB
D.16KB
【答案】C
【解析】回顾TCP 流量控制和拥塞控制(慢启动) 的知识点,从第一个MSS 开始,每次发送成功,拥塞窗口值翻倍,四次以后,应该为16, 但是由于拥塞阈值变为16/2=8, 故三次成功后为8,以后为线性增长,故为8+1=9, 答案为C 。
17.将有关二叉树的概念推广到三叉树,则一棵有244个结点的完全三叉树的高度为( )。
A.4
B.5
相关内容
相关标签