一种特殊的图。答案:正确
f3数据结构中只研究了二叉树,对一般树没有给出解决问题的算法。答案:错误4在单向链表中,在X指向的结点后插入结点,对应的方法与X是否是头指针无关。答案:错误5有人采用Haffma
树进行编码后,由于每个符号的代码长度不等,当接收方收到编码后的内容后,不能转换为原来的正文。该说法是否正确?答案:正确6一棵度为2的树是一棵二叉树。答案:错误7数组是一种复杂的数据结构,数组元素之间的关系既不是线性的,也不是树形的。答案:错误8对于不同的使用者,一个表结构既可以是栈,也可以是队列,也可以是线性表。答案:正确9两个栈共享一片连续内存空间时,为提高内存利用率,减少溢出机会,应把两个栈的栈底分别设在这片内存空间的两端。答案:正确10最优二叉搜索树一定是平衡的二叉搜索树。答案:错误
填空题
1.某线性表采用顺序存储结构,每个元素占据4个存储单元,首地址为100,
则下标为11(第12个)的元素的存储地址为
。
答案:144
2在函数中对引用型形式参数的修改就是对相应
的修改,而对
型
形式参数的修改只局限在该函数的内部,不会反映到对应的实际参数上。
答案:实际参数的值;传值
f3将一个
阶对称矩阵的上三角部分或下三角部分压缩存放于一个一维数组
中,则一维数组需要存储
个矩阵元素。
答案:
12
简答题1请回答关于链接存储的优缺点。答案:优点:1插入和删除比较灵活,不需要大量移动结点。
2动态分配空间比较灵活,不需要预先申请最大的连续空间。
2检索必须沿链进行,不能随机存取。2请写一个递归算法来计算并返回链表的长度,并在程序中做出相应的文字说明。答案:i
tle
gthLi
kListllist计算单链表list的长度
IfllistNULLretur
retur
1le
gthllistli
k3给出栈的最常用的5种操作,并说明它们的功能。答案:1voidpush(STx)将元素x插入栈ST的顶端2voidpop(ST)从栈ST顶端删除一个元素3DataTypetop(ST)读栈ST顶端的元素4i
tisEmpty(ST)判断栈ST是否为空栈5pStackcreatEmptyStack创建一个空栈
f第2章线性表
一、判断题
1线性关系的逻辑结构与存储结构总是一致的。解:错。单链表的逻辑结构与存储结构有可能是不一致的,有可能两个相邻结点的存储地址并不是相邻的。2每种数据结构都包括插入、删除和查找这三种基本运算。解:错。散列结构无插入与删除运算;栈没有查找,查找须配有另一个栈。3线性表中的每个结点最多只有一个前驱和一个后r