数据结构错题答案汇总

王道学习

第一章 绪论

1.1

3.A

数据的逻辑结构是从面向实际问题的角度出发的,只采用抽象表达方式,独立于存储结构,数据的存储方式有多种不同的选择;而数据的存储结构是逻辑结构在计算机上的映射,它不能独立于逻辑结构而存在。数据结构包括三个要素,缺一不可。

解:应该注意到,数据的运算也是数据结构的一个重要方面。

对于两种不同的数据结构,它们的逻辑结构和物理结构完全有可能相同。比如二叉树和二叉排序树,二叉排序树可以采用二叉树的逻辑表示和存储方式,前者通常用于表示层次关系,而后者通常用于排序和查找。虽然它们的运算都有建立树、插入结点、/删除结点和查找结点等功能,但对于二叉树和二叉排序树,这些运算的定义是不同的,以查找结点为例,二叉树的时间复杂度为O(n)而二叉排序树的时间复杂度为O(logn)。

解:线性表既可以用顺序存储方式实现,又可以用链式存储方式实现。在顺序存储方式下,在线性表中插入和删除元素,平均要移动近一半的元素,时间复杂度为O(n);而在链式存储方式下.插入和删除的时间复杂度都是O(1)。

1.2



第10题主要是判断递归的次数。当n=1时,没有递归;当n=2时,递归了1次;当n=4时,递归了2次。所以选C。


第16题可以采用举例的方法,当n=2时,sum++运行1次;当n=4时,sum++运行3次;当n=8时,sum++运行7次。所以选B

第二章 线性表

2.1

答案:B

线性表定义的要求为:相同数据类型、有限序列。选项C的元素个数是无穷个,错误;选项A集合中的元素没有前后驱关系,错误;选项D属于存储结构

2.2

第三章 栈、队列和数组

3.1

3.2

第8题可以考虑特殊情况:当队列中只剩下一个元素,考虑此情况就知道答案了。

第10题可以考虑特殊情况:当队列中只剩下一个元素。


第14题考考虑删除的方便性:如果队头在链尾和链中,出队时需要遍历链表;

第21题:rear有两种情况,第一种是rear指向当前的队尾元素;第二种是rear指向队尾元素的下一个位置。

3.3




3.4


第四章 串

4.2


第五章 树与二叉树

5.1

第07是D

第10题:

分析边和结点之间的关系:

对于一棵树而言,除了根结点,每一个结点都对应了一条边(链接其双亲结点)。那么,结点数比边多1就意味着有1个根结点,1个根结点就代表了一棵树。

25结点-15边=10根结点=10树

5.2



5.3





5.4


5.5




第六章 图

6.1




6.3



相关推荐
祖力5520 分钟前
快速学会数据结构中的链式队列与循环队列
linux·c语言·数据结构·算法
布莱克6052 小时前
理解B+树:原理、特性与应用场景
数据结构·数据库·mysql
晚风叙码3 小时前
C++哈希表实现:开放定址法和链地址法 (哈希桶)
数据结构·c++·哈希算法·散列表
imaol13 小时前
哈希表--数据结构
数据结构·散列表
Herbert_hwt18 小时前
C语言零基础入门:循环控制与数据类型详解
c语言·数据结构·算法
晚风醉蝶19 小时前
1-6-插入排序-InsertionSort
java·数据结构·排序算法
Tyler_TXZ19 小时前
C++C语言之——二叉树
c语言·开发语言·数据结构·c++·二叉树
有点。19 小时前
C++二叉树二(练习题)
数据结构·c++·算法·图论
LuminousCPP20 小时前
栈和队列专题(一):LeetCode 20. 有效的括号
数据结构·经验分享·笔记·leetcode·手写栈
白狐_7981 天前
408 数据结构|线索二叉树两题详解:先序线索化后的空链域 + 中序前驱/后继判断
c语言·数据结构·链表