数据结构答案 第章 绪论学习指导

数据结构答案 第章 绪论学习指导

ID:12502938

大小:109.00 KB

页数:6页

时间:2018-07-17

数据结构答案 第章 绪论学习指导_第1页
数据结构答案 第章 绪论学习指导_第2页
数据结构答案 第章 绪论学习指导_第3页
数据结构答案 第章 绪论学习指导_第4页
数据结构答案 第章 绪论学习指导_第5页
资源描述:

《数据结构答案 第章 绪论学习指导》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第1章绪论1.1知识点分析1.数据数据是信息的载体,是对客观事物的符号表示。数据是计算机化的现实世界的事物的抽象描述。凡是能被计算机识别、存取和加工处理的符号、字符、图形、图象、声音、视频信号等一切信息都可以称为数据。2.数据元素数据元素是对现实世界中某独立个体的数据描述,是数据的基本单位。数据元素也称为结点,通常由若干数据元素组成。3.数据项数据项是数据不可分割的、具有独立意义的最小数据单位,是对数据元素属性的描述。数据、数据元素、数据项反映了数据组织的三个层次,即数据可以由若干个数据元素组成,数据元素又有若干数据项组成。4.

2、数据对象数据对象是性质相同的数据元素的集合,是数据的一个子集。5.数据结构数据结构是相互之间存在的一种或多种特定关系的数据元素的集合。简言之,数据结构是指数据之间的关系,即数据的组织形式。数据结构包括以下三个方面:(1)数据的逻辑结构指数据元素之间的逻辑关系,即从逻辑关系上描述数据,它与数据的存储无关,是独立于计算机的。一个数据的逻辑结构G可以用二元组G=(D,R)来表示,其中D是数据元素的集合,R是D上所有数据元素之间关系的有限集合。线性结构是指数据元素之间存在“一对一”关系的逻辑结构,非线性结构是指数据元素之间存在“一对多”

3、或“多对多”关系的逻辑结构。(2)数据的存储结构数据元素及其关系在计算机存储器内的表示,称为数据的存储结构,也称为数据的物理结构。数据的存储结构是数据的逻辑结构用计算机语言的实现,它依赖于计算机语言。(3)数据的运算指对数据施加的操作。数据的运算是定义在数据的逻辑结构上的,而运算的实现则是在存储结构上进行的。6.算法的描述和分析数据的运算是通过算法来描述的,对于算法的说明可以使用不同的语言,对同一问题可以有不同的算法。首选选用的算法必须是正确的。其次,主要考虑执行算法所耗费的时间(即时间效率)和执行算法所耗费的存储空间(即空间效

4、率)。(1)时间复杂度通常把算法中所包含简单操作次数的多少叫做算法的时间复杂度。但是当一个算法比较复杂时,其时间复杂度的计算会变得相当困难。一般情况下,算法中原操作重复执行的次数是规模n的某个函数f(n),算法的时间复杂度T(n)的数量级可记作:T(n)=O(f(n))。算法的时间复杂度T(n)是该算法的时间消耗,一个算法的时间耗费就是该算法中所有语句的执行次数(频度)之和。当n→∞时(即当n相当大时),T(n)的数量级(阶),用大“O”记号表示。由于limT(n)/f(n)=C,C是不为0的常数,所以T(n)=O(f(n))。

5、其实,f(n)就是T(n)中最高阶的那一项,是算法中频度最大的语句频度。6一般情况下,对于循环语句只需要考虑循环体中语句的执行次数,而忽略该语句中循环头的部分。有时,循环体中语句的频度不仅与问题规模n有关,还与输入实例等其它因素有关,此时可以用最坏情况下的时间复杂度作为算法的时间复杂度。(2)空间复杂度一个程序的空间复杂度是指程序运行从开始到结束所需要的存储空间。类似于算法的时间复杂度,我们把算法所需存储空间的量度,记作:S(n)=O(f(n))。其中n为问题的规模。一个程序上机执行时,除了需要存储空间来存放本身所用的指令、常数

6、、变量和输入数据以外,还需要一些对数据进行操作的工作单元和实现算法所必需的辅助空间。在进行时间复杂度分析时,如果所占空间量依赖于特定的输入,一般都按最坏情况来分析。程序运行时所需要的存储空间包括以下两个部分:固定部分:主要包括程序代码、常量、变量、结构体变量等所占的空间。空间与所处理的数据大小和个数无关,或者说与问题事例的特征无关。可变部分:空间大小与算法在某次执行中处理的特定数据的大小和规模有关。1.2典型习题分析【例1】算法与程序的区别分析:算法与程序的既有区别,又有联系。其区别是:(1)算法必须满足有穷性,而程序则不一定满

7、足有穷性。例如,我们启动计算机必须使用操作系统,只要不关机或不遭受破坏,操作系统就永不终止。即使没有作业运行,它也一直处在一个等待循环之中。因此,操作系统是一个不终止的计算过程,但它不满足算法的定义。(2)程序中的指令必须用计算机可以接受的语言书写,而算法则无此限制。但是,当用一个计算机可以接受的语言来书写算法时,它就是程序。一般而言,算法比较抽象,而程序则比较具体。【例2】通常一个算法的时间复杂度是指()。A.算法的平均时间复杂度B.算法在最坏情况下的时间复杂度C.算法的期望运行时间D.算法在最好情况下的时间复杂度分析:如果没

8、有“平均”、“最好”、“最坏”的修饰语,时间复杂度就是指最坏的时间复杂度。最坏时间复杂度是算法的所有输入可能情况的执行时间的上界,所以应选B。【例3】当n从1变化到10时,比较n、2n、n2、n3、2n、n!、nn增长率的变化。解:表1-1给出当n从1变化到10

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。