第1章 绪论
1.简述下列概念:数据、数据元素、数据项、数据对象、数据结构、逻辑结构、存储结构、抽象数据类型。
答案:
数据:是客观事物的符号表示,指所有能输入到计算机中并被计算机程序处理的符号的总称。如数学计算中用到的整数和实数,文本编辑所用到的字符串,多媒体程序处理的图形、图像、声音、动画等通过特殊编码定义后的数据。
数据元素:是数据的基本单位,在计算机中通常作为一个整体进行考虑和处理。在有些情况下,数据元素也称为元素、结点、记录等。数据元素用于完整地描述一个对象,如一个学生记录,树中棋盘的一个格局(状态)、图中的一个顶点等。
数据项:是组成数据元素的、有独立含义的、不可分割的最小单位。例如,学生基本信息表中的学号、姓名、性别等都是数据项。
数据对象:是性质相同的数据元素的集合,是数据的一个子集。例如:整数数据对象是集合N={0,±1,±2,…},字母字符数据对象是集合C={‘A’,‘B’,…,‘Z’, ‘a’,‘b’,…,‘z’},学生基本信息表也可是一个数据对象。
数据结构:是相互之间存在一种或多种特定关系的数据元素的集合。换句话说,数据结构是带“结构”的数据元素的集合,“结构”就是指数据元素之间存在的关系。
逻辑结构:从逻辑关系上描述数据,它与数据的存储无关,是独立于计算机的。因此,数据的逻辑结构可以看作是从具体问题抽象出来的数学模型。
存储结构:数据对象在计算机中的存储表示,也称为物理结构。
抽象数据类型:由用户定义的,表示应用问题的数学模型,以及定义在这个模型上的一组操作的总称。具体包括三部分:数据对象、数据对象上关系的集合和对数据对象的基本操作的集合。
2.试举一个数据结构的例子,叙述其逻辑结构和存储结构两方面的含义和相互关系。
答案:
例如有一张学生基本信息表,包括学生的学号、姓名、性别、籍贯、专业等。每个学生基本信息记录对应一个数据元素,学生记录按顺序号排列,形成了学生基本信息记录的线性序列。对于整个表来说,只有一个开始结点(它的前面无记录)和一个终端结点(它的后面无记录),其他的结点则各有一个也只有一个直接前趋和直接后继。学生记录之间的这种关系就确定了学生表的逻辑结构,即线性结构。
这些学生记录在计算机中的存储表示就是存储结构。如果用连续的存储单元(如用数组表示)来存放这些记录,则称为顺序存储结构;如果存储单元不连续,而是随机存放各个记录,然后用指针进行链接,则称为链式存储结构。
即相同的逻辑结构,可以对应不同的存储结构。
3.简述逻辑结构的四种基本关系并画出它们的关系图。
答案:
(1)集合结构
数据元素之间除了“属于同一集合”的关系外,别无其他关系。例如,确定一名学生是否为班级成员,只需将班级看做一个集合结构。
(2)线性结构
数据元素之间存在一对一的关系。例如,将学生信息数据按照其入学报到的时间先后顺序进行排列,将组成一个线性结构。
(3)树结构
数据元素之间存在一对多的关系。例如,在班级的管理体系中,班长管理多个组长,每位组长管理多名组员,从而构成树形结构。
(4)图结构或网状结构
数据元素之间存在多对多的关系。例如,多位同学之间的朋友关系,任何两位同学都可以是朋友,从而构成图形结构或网状结构。
其中树结构和图结构都属于非线性结构。

4.存储结构由哪两种基本的存储方法实现?
答案:
(1)顺序存储结构
顺序存储结构是借助元素在存储器中的相对位置来表示数据元素之间的逻辑关系,通常借助程序设计语言的数组类型来描述。
(2)链式存储结构
顺序存储结构要求所有的元素依次存放在一片连续的存储空间中,而链式存储结构,无需占用一整块存储空间。但为了表示结点之间的关系,需要给每个结点附加指针字段,用于存放后继元素的存储地址。所以链式存储结构通常借助于程序设计语言的指针类型来描述。
5.选择题
(1)在数据结构中,从逻辑上可以把数据结构分成( )。
A.动态结构和静态结构 B.紧凑结构和非紧凑结构
C.线性结构和非线性结构 D.内部结构和外部结构
答案:C
(2)与数据元素本身的形式、内容、相对位置、个数无关的是数据的( )。
A.存储结构 B.存储实现
C.逻辑结构 D.运算实现
答案:C
(3)通常要求同一逻辑结构中的所有数据元素具有相同的特性,这意味着( )。
A.数据具有同一特点
B.不仅数据元素所包含的数据项的个数要相同,而且对应数据项的类型要一致
C.每个数据元素都一样
D.数据元素所包含的数据项的个数要相等
答案:B
(4)以下说法正确的是( )。
A.数据元素是数据的最小单位
B.数据项是数据的基本单位
C.数据结构是带有结构的各数据项的集合
D.一些表面上很不相同的数据可以有相同的逻辑结构
答案:D
解释:数据元素是数据的基本单位,数据项是数据的最小单位,数据结构是带有结构的各数据元素的集合。
(5)算法的时间复杂度取决于( )。
A.问题的规模 B.待处理数据的初态
C.计算机的配置 D.A和B
答案:D
解释:算法的时间复杂度不仅与问题的规模有关,还与问题的其他因素有关。如某些排序的算法,其执行时间与待排序记录的初始状态有关。为此,有时会对算法有最好、最坏以及平均时间复杂度的评价。
(6)以下数据结构中,( )是非线性数据结构
A.树 B.字符串 C.队列 D.栈
答案:A
6.试分析下面各程序段的时间复杂度。
(1)x=90; y=100; 
while(y>0)
if(x>100)
{x=x-10;y–;}
else x++;
答案:O(1)
解释:程序的执行次数为常数阶。
(2)for (i=0; i<n; i++)
for (j=0; j<m; j++)
a[i][j]=0;
答案:O(mn)
解释:语句a[i][j]=0;的执行次数为m
n。
(3)s=0;
for i=0; i<n; i++)
for(j=0; j<n; j++)
s+=B[i][j];
sum=s;
答案:O(n2)
解释:语句s+=B[i][j];的执行次数为n2。
(4)i=1;
while(i<=n)
i=i3;
答案:O(log3n)
解释:语句i=i
3;的执行次数为 log3n。
(5)x=0;
for(i=1; i<n; i++)
for (j=1; j<=n-i; j++)
x++;
答案:O(n2)
解释:语句x++;的执行次数为n-1+n-2+……+1= n(n-1)/2。
(6)x=n; //n>1
y=0;
while(x≥(y+1)* (y+1))
y++;
答案:O()
解释:语句y++;的执行次数为 。

数据结构 作业答案 第1章 绪论相关推荐

  1. 《数据结构》 李春葆 第一章-绪论

    <数据结构> 李春葆 第一章-绪论 1 什么是数据结构 1.1 数据结构的定义 1.2 逻辑结构 1.2.1 逻辑结构的表示 1 什么是数据结构 数据元素以及数据元素之间的关系,数据元素= ...

  2. c语言作业答案第四章,C语言程序的设计课件源程序及习题的答案第4章.ppt

    C语言程序的设计课件源程序及习题的答案第4章 第4章循环结构的流程及应用 学习目标 ? 使用循环处理需要反复执行的操作. ? 循环结构的流程图. ? 循环与条件的综合应用. 学一学 while语句的一 ...

  3. linux课后作业答案第六章,第六章作业及答案

    <第六章作业及答案>由会员分享,可在线阅读,更多相关<第六章作业及答案(4页珍藏版)>请在人人文库网上搜索. 1.第六章作业一.选择题1.若不考虑结点的数据信息的组合情况,具有 ...

  4. linux课后作业答案第六章,操作系统 第六章作业习题解答

    第六章作业习题解答 3.某操作系统的磁盘文件空间共有500块,若用字长为32位的位示图管理盘空间,试问: (1)位示图需多少个字? (2)第i字第j位对应的块号是多少? (3)并给出申请/归还一块的工 ...

  5. 一个计算机系统常用的流水线形式有,计算机系统结构作业答案第三章(张晨曦)...

    3.1 -3.3为术语解释等解答题. 3.4 设一条指令的执行过程分为取指令,分析指令和执行指令3个阶段,每个阶段所需时间分别为ΔT, ΔT, 2ΔT,分别求出下列各种情况下,连续执行N条指令所需的时 ...

  6. 语音信号处理(赵力)作业答案第4章——语音增强

    什么是语音增强抗噪声技术?利用语音增强解决噪声污染的问题,主要是从哪个角度来提高语音处理系统的抗噪声能力的? 答:语音增强是解决噪声污染的有效方法,其目标就是在接收端尽可能从带噪语音信号中提取纯净的语 ...

  7. 大一大学计算机课后答案,南昌大学计算机作业答案(大一)

    我对过的,放心复制粘贴吧··· 南昌大学计算机作业答案(大一) 第一章 计算机基础知识 单选题: 1-100 BCDCB CBCAC BDDBD DBADA DABCA ABDDD CCCCD AAD ...

  8. c语言第八次作业答案,C语言第八次作业答案.ppt

    C语言第八次作业答案.ppt 第九章 文件,9.1 文件概述 9.2 文件的打开和关闭 9.3 文本文件的输入和输出 9.4 二进制文件的输入和输出 9.5 其他文件库函数 定位函数 出错监测函数,9 ...

  9. 【MOOC】华中科技大学操作系统慕课答案-单元作业+第1~2章开放性思考题

    单元作业答案如果没大问题的话,多半是直接摘抄自PPT. 文章目录 第一章 操作系统概述 单元作业(1) 开放性思考题 第二章 操作系统逻辑结构 单元作业 开放性思考题 第三章 操作系统用户界面 单元作 ...

最新文章

  1. [uboot]Issue list
  2. Android Studio 填坑指南
  3. Android系统匿名共享内存Ashmem(Anonymous Shared Memory)在进程间共享的原理分析
  4. Datepicker
  5. 语音识别软件哪个好?好用的语音识别软件盘点
  6. Linux入门自学笔记
  7. web 实现分页打印功能
  8. python 期货策略_Python版商品期货跨期对冲策略
  9. HTTPS那些事(二)SSL证书
  10. html图片的自动轮播js,js实现轮播图效果 纯js实现图片自动切换
  11. TF2.0 subclass存储及读取模型
  12. Sign In with Apple - 使用苹果账号登录你的应用
  13. 二维码怎么制作?手把手教你制作生成
  14. CISSP-AIO-快速提示内容梳理
  15. WiFi手机可以连接,电脑上也能连接,可以微信聊天,但是不能浏览器上网怎么解决?
  16. 面部识别:猴脸识别如何分辨真假 “美猴王”?
  17. Python批量获取高校基本信息
  18. 准备买下ZooX的亚马逊,能否念好自动驾驶的生意经?
  19. dos命令使用默认浏览器打开网址
  20. 回收站的文件数据误清空了怎么恢复

热门文章

  1. java程序如何生成客户端_java webservice生成客户端代码并调用
  2. C#实战项目~智能图书管理系统
  3. File类与IO流知识总结(三):缓冲流、转换流、序列化流
  4. 模块与模块之间通信设计-组件设计思想
  5. CSDN1024勋章获得方法
  6. C#项目实战——【实例】企业人事管理系统(一):1、系统分析;2、系统设计;3、系统运行环境;
  7. 关键词指数是什么意思?
  8. Android类微信(二)
  9. Python学习笔记 —— 独步天下推导式语法糖
  10. Python_OpenCV调用摄像头完成人脸识别