数据结构_陈明_习题答案概要1.docx

  1. 1、本文档共40页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构_陈明_习题答案概要1

习题一答案1.填空题(1)????? 数据元素的有限集合,k上关系的有限集合(2)????? 顺序存储(连续),链式存储(不连续)(3)????? 有穷性,确定性,可行性,输入,输出(4)????? 时间复杂度,空间复杂度3.简述下列术语(1)????? 数据——是信息的载体,它是描述客观事物的数、字符以及所有能输入到计算机中被计算机程序识别、加工处理的信息的集合。(2)????? 数据元素——是数据的基本单位,是对一个客观实体的数据描述。一个数据元素可以由一个或若干个数据项组成。数据元素也被称为结点或记录。(3)????? 数据对象——具有相同性质的数据元素的集合就是一个数据对象,它是数据的一个子集。(4)????? 数据结构——数据结构就是数据之间的相互关系(即数据的组织形式)及在这些数据上定义的数据运算方法的集合。(5)????? 存储结构——数据的存储结构是数据的逻辑结构在计算机内部的表示或实现,又称为数据的物理结构,它包括数据元素的表示和关系的表示。(6)????? 数据类型——是具有相同性质的计算机数据的集合及定义在这个数据集合上的一组操作的总称。5.常用的存储表示方法有哪几种?(1)????? 顺序存储方法——该方法是将逻辑上相邻的结点存储在物理位置上也相邻的存储单元里,结点之间的逻辑关系由存储单元的邻接关系来表示(也就是说,只存储结点的值,不存储结点之间的关系),这种存储表示称为顺序存储结构。(2)????? 链式存储方法——链式存储方法不要求逻辑上相邻的结点在物理位置上亦相邻,结点间的关系由附加的指针来表示,指针指向结点的邻接结点,这样将所有结点串联在一起,称为链式存储结构。(3)????? 索引存储方法——索引存储是在存储结点信息的同时,再建立一个附加的索引表,然后利用索引表中索引项的值来确定结点的实际存储单元地址。(4)????? 散列存储方法——散列存储的基本思想是根据结点的关键字直接计算出结点的存储地址。7.举例说明一下数据结构和算法的关系。通过公式:程序=数据结构+算法我们可以比较直观地看出二者的关系,即数据结构(包个完整的程序括逻辑结构和存储结构)的设计和算法的编写是程序设计的两个关键步骤,一就是由一套合理的数据结构和建立在该结构上的算法构成的。具体的说:在进行程序设计之前我们首先要为待处理的数据设计一个合理的逻辑结构,进而为之设计一种适合的存储结构,因为光有逻辑结构是不够的,只有存储结构才是与计算机语言直接相关的!有了这一套前期准备,我们才能在这个基础上设计算法,用一种计算机语言去处理这些数据,最终达到程序设计的目的。当然,随着逻辑结构和存储结构的不同,我们设计的算法也会有所差别,这在以后的学习中会体会到。下面通过一个简单的例子说明这种关系。假设我们要设计一个两个n阶方阵相乘的程序:已知两个n阶方阵A和B,我们要计算它们的乘积,得到一个新的n阶方阵C。那么在设计这个程序之前首先想到得就是设计一种逻辑结构表示方阵,这里我们用二维数组表示它们,因为二维数组最能直观地表示这种结构;有了逻辑结构了自然还要为之设计一种存储结构,这里我们选择顺序存储方法,因为C语言对这种存储结构给予了很好的支持,例如定义一个n阶实型的二维数组A只要用float A[n][n];这条语句就可以了,C语言在内存种为之分配了一个n*n长度的顺序存储空间(注意:C语言默认二维数组是按行优先存储的),是不是很方便?有了这些准备,我们就可以设计算法进行计算了,其算法如下:void matrixmult ( float A[n][n], float B[n][n], float C[n][n] ){int i , j , k ;float x ;for ( i=0; in; i++ ){for ( j=0; jn; j++ ){x=0;for ( k=0; kn; k++ ){x+=A[i][k]*B[k][j];}C[i][j]=x;}}}通过上面这个例子我们简单的阐述了数据结构与算法的关系,更深入的内涵还要读者在以后的学习中自己慢慢地体会。9.设有数据逻辑结构为B=(K,R),K={k1,k2,……,k9} r={k1,k3,k3,k8,k2,k3,k2,k4,k2,k5,k3,k9,k5,k6,k8,k9,k9,k7 , k4,k7,k4,k6} 画出这个逻辑结构的图示,并确定相对于r哪些结点是开始结点,哪些结点是终端结点?通过以后的学习我们会知道这是一个有向图,图中共有9个结点,其中开始结点有2个,分别为K1和K2;终端结点有2个,分别为K6和K7。逻辑结构图表示如下:11.何谓算法?试详述算法设计的目的和算法必须满足的条件。算法是对特定问题求解步骤的一种描述,实际上是指令的有限序列,其中每一条指令表示一个或多个操作。我们知道,

文档评论(0)

yaocen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档