2017年北方民族大学计算机系统结构832C语言程序设计与数据结构之数据结构考研题库
● 摘要
一、填空题
1. 在双向循环链表中,向P 所指的结点之后插入指针f 所指的结点,其操作是_____、_____、_____、_____。
【答案】
2. 如某二叉树有20个叶结点,有30个结点仅有一个孩子,则该二叉树的总结点数为_____。
【答案】69
【解析】二叉树叶结点数为20, 则度为2的结点数为19, 所以总的结点数为20+19+30=69。
3. 数据结构是研讨数据的_____和_____以及它们之间的相互关系,并对与这种结构定义相应的_____,设计出相应的_____。
;算法 【答案】逻辑结构;物理结构;操作(运算)
4. 设数组储,则元素为_____。
【答案】9174;8788
【解析】设一个元素的行标为i ,列标为j 。若以行序为主存储顺序,
则它的存储地址为
若以列序为主存储顺序,则它的存储地址为
5. 己知有序表为(12,18,24,35,47,50,62,83,90,115,134)当用二分法查找90时,需_____次查找成功,查找47时_____成功,查找100时,需_____次才能确定不成功。
【答案】2;4;3
【解析】二分法查找元素次数列表
查
找100是找到115就停止了。
6. 表达式
【答案】
的基地址为2000,每个元素占2个存储单元,若以行序为主序顺序存
的存储地址为_____;若以列序为主序顺序存储,则元素
的存储地址
的后缀表达式是_____。
7. 设有一个10阶对称矩阵A 采用压缩存储方式(以行为主序存储:
【答案】33
【解析】设存储的元素的行标为i ,列标为j 。若的地址为将代入得33。
8. 试利用下列栈和串的基本操作完成下述填空题。 则
initstack (S ) 置S 为空找; push (S , X ) 元素X 入找; pop (S ) 出栈操作; gettop (S ) 返回栈顶元素; sempty (S ) 判找空函数;
置串 判串 返回联接
empty (st ) 判串空函数
为空串;
是否相等的函数;
之后的串;
length (st ) 返回串st 的长度;
则
的地址为
,)则 的地址为_____。
若
sub (S , i , 1) 返回S 中第i 个字符;
{若给定的表达式的前缀式pre 正确,本过程求得和它相应的表达式exp 并返回true , 否则exp 为空串,并返回false 。已知原表达式中不包含括弧,opset 为运算符的集合。)
注意:毎个空格只填一个语句。 【答案】(1)
栈S 初始化为空栈
(2)(3)(4)(5)(6)(7)exp (8)(9)exp (10)(11
)(12)
串exp 初始化为空串 判取出字符是否是操作符
如ch 是运算符,则入操作符栈s 判栈8是否为空
若读出ch 是操作数且栈为空,则按出错处理
若ch 是操作数且栈非空,则形成部分中缀表达式
取栈顶操作符 操作符取出后,出栈
将pre 的最后一个字符(操作数)加入到中缀式exp 的最后
9. 空格串是指_____,其长度等于_____。
【答案】由空格字符(
10.设广义表
则
值32)所组成的字符串;空格个数
是_____tail(L )是_____;L 的长度是_____;深度是_____。
;;2;2 【答案】( )(( ))
【解析】广义表的表头是表的第一个元素,表尾是除了第一个元素外其余的所有的元素构成的表;表的长度指表中元素的个数;表的深度指展开后括号的层数。
二、判断题
11.用向量和单链表表示的有序表均可使用折半查找方法来提高查找速度。( )
【答案】×
【解析】单链表不能使用折半查找方法。折半查找主要用于数据元素有序且存储方式为顺序存储的表。
12.完全二叉树肯定是平衡二叉树。( )
【答案】×
【解析】从平衡因子定义看,完全二叉树任一结点的平衡因子的绝对值确实是小于等于1。但是,平衡二叉树本质上是二叉排序树,完全二叉树不一定是排序树。故不能说完全二叉树是平衡二叉树。
13.在索引顺序表中,实现分块查找,在等概率查找情况下,其平均查找长度不仅与表中元素个数有关,而且与每块中元素个数有关。( )
【答案】√
【解析】在进行分块查找时,首先查找元素在哪一块,然后在确定的块中查找元素,因此,在索引顺序表中,进行分块查找的平均查找长度不仅与表中元素的个数有关,而且与每块中的元