数据结构与算法分析(C++语言版)张琨版 课后答案———第一章

数据结构与算法分析(C++语言版)张琨版 课后答案———第一章

  • 一、选择
  • 二、 填空
  • 三、简答
  • 四、计算

一、选择

1.A , B
2.B
答: 选项C指的是有穷性,长度有限不是算法的基本特性。
3.B
4.D
5.A
6.A
7.C
8.B
9.D
答:(n)=O();(n)=O();(n)=O();(n)=O()
10.A

二、 填空

1.逻辑关系
2.树形结构 图状结构或网状结构
3.链式存储结构
4.没有 1 没有 1
5.前驱 1 后继 任意多个
6.任意多个
7.有穷性、确定性、可行性(与次序无关)
8.确定性
9.顺序存储结构
10.时间复杂度
判断:
1.错
2.错
3.错
4.错
5.错
6.错
7.错
8.错
9.错
10.对

三、简答

####1 .答:逻辑结构与存储结构的关系:逻辑结构与计算机无关,存储结构是数据元素之间的逻辑关系在计算机中的表示。存储结构不仅将逻辑结构中所有数据元素存储到计算机内存中,还要在内存中存储各数据元素间的逻辑关系。通常情况下,一种逻辑结构可以有多种存储结构。
数据结构与数据类型的关系:数据结构是相互之间存在一种或多种特定关系的数据元素的集合,一般包括3个方面的内容:数据的逻辑结构、存储结构和数据的运算。而数据类型是一个值得集合和定义在这个值集上的一组运算的总称。
2.答:在数据结构中这种例子很多,如顺序表和字符串,栈和队列等。下面以二叉树和二叉排序树进行说明。
二叉树的定义:有限节点集合,这个集合或者是空,或者由一个根节点和两棵互不相交的称为左子树和右子树的二叉树组成。
二叉排序树的定义:二叉排序树或者是空疏,或者满足性质:
(1)若左子树非空,则右子树上所有记录的值均小于根记录的值。
(2)若右子树非空,则右子树上所有记录的值均大于根记录的值。
(3)左右子树本身又各是一棵二叉排序树。
两者逻辑和存储方式相同,但对于二叉树和二叉排序树运算定义是不同的,查找节点是,二叉树需要对节点遍历,时间复杂度为O(n)。而二叉排序树的时间复杂度为O(h)(h为树的高度)。
3.通常从两方面考虑:第一是算法所需的存储空间量;第二是算法所需的时间。对算法所需的时间又涉及以下3点:
(1)程序运行时所需输入的数据总量;
(2)计算机执行每条指令所需的时间;
(3)程序中指令重复执行的次数。
4.在这里插入图片描述
5.答:一个问题的求解可以用ADT(抽象数据类型)来描述,它包含数据的逻辑结构和抽象运算。一个逻辑结构可以对应多种存储结构,每种存储结构之上可以设计多种实现抽象运算的算法,通过时间复杂度和空间复杂度分析得到最佳算法。

四、计算

数据结构与算法分析(C++语言版)张琨版 课后答案———第一章_第1张图片
数据结构与算法分析(C++语言版)张琨版 课后答案———第一章_第2张图片
数据结构与算法分析(C++语言版)张琨版 课后答案———第一章_第3张图片

你可能感兴趣的:(数据结构答案)