- 1、本文档共37页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构C语言描述耿国华主编教案
西安文理学院精品课
《数据结构》
教 案
计算机科学系
韩利凯
《数据结构》
第一章 绪论
[教学目标]
掌握数据结构的定义、内容、方法、描述、评价。
[重点、难点]
数据结构的研究范围,研究采用的方法,算法规则描述的工具,对算法作性能评价。
[教学方法]
用多媒体课件( ppt )以及与生活实例相结合等方法讲授,这样便于描述相关概念及学生记笔记,加深他们的印象,使基础知识掌握地比较牢固。
[学习要点]
1. 熟悉各名词、术语的含义,掌握基本概念,特别是数据的逻辑结构和存储结构之间的关系。分清哪些是逻辑结构的性质,哪些是存储结构的性质。
2. 了解抽象数据类型的定义、表示和实现方法。
3.理解算法五个要素的确切含义:①动态有穷性(能执行结束);②确定性(对于相同的输入执行相同的路径);③有输入;④有输出;⑤可行性(用以描述算法的操作都是足够基本的)。
4.掌握计算语句频度和估算算法时间复杂度的方法。
1.1? 什么是数据结构(定义)
首先介绍数据结构的相关名词。
1.??????? 数据(Data)
数据是描述客观事物的数值、字符以及能输入机器且能被处理的各种符号集合。。
?2.??????? 数据元素(Data Element)
数据元素是组成数据的基本单位 ,是数据集合的个体,在计算机中通常作为一个整体进行考虑和处理。例如:学生登记表是数据,每一个学生的记录就是一个数据元素。
3.???????? 数据对象(Data Object)
数据对象是性质相同的数据元素的集合,是数据的一个子集。
4.???????? 数据结构(DATA Structure)
??? 数据结构是指相互之间存在一种或多种特定关系的数据元素集合,是带有结构的数据元素的集合,它指的是数据元素之间的相互关系,即数据的组织形式。
5.??????? 数据类型(Data Type)
数据类型是一组性质相同的值集合以及定义在这个值集合上的一组操作的总称。
6.??????? 数据抽象与抽象数据类型
1) 数据的抽象
高级语言中提供整型、实型、字符、记录、文件、指针等多种数据类型,可以利用这些类型构造出象栈、队列、树、图等复杂的抽象数据类型。
2)抽象数据类型(Abstract Data Type)
抽象数据类型(简称ADT)是指基于一类逻辑关系的数据类型以及定义在这个类型之上的一组操作。
抽象数据类型是近年来计算机科学中提出的最重要的概念之一,它集中体现了程序设计中一些最基本的原则:分解、抽象和信息隐藏。
一个抽象数据类型确定了一个模型,但将模型的实现细节隐藏起来;它定义了一组运算,但将运算的实现过程隐藏起来。
用抽象数据类型的概念来指导问题求解的过程,可以用图1.4来表示:
数学模型 ? 抽象数据模型 ? 数据结构 非形式算法 ? 伪语言程序 ? 可执行程序
????????????????????????图1.4 求解过程
数据结构是基础,抽象数据类型是中枢。
1.2? 数据结构的内容
?数据结构的内容可归纳为三个部分。逻辑结构、存储结构、运算集合。
数据结构是一门主要研究怎样合理地组织数据、建立合适的数据结构、提高计算机执行程序所用的时空效率的学科。
1.3? 算法
1.? 算法(Algorithm)定义
算法是规则的有限集合,是为解决特定问题而规定的一系列操作。
?2.算法的特性?
⑴ 有限性? 有限步骤之内正常结束,不能形成无穷循环。
⑵ 确定性? 算法中的每一个步骤必须有确定含义,无二义性得以实现。
⑶ 输? 入? 有多个或0个输入
⑷ 输? 出? 至少有一个或多个输出。
⑸ 可行性 原则上能精确进行,操作可通过已实现基本运算执行有限次而完成。
在算法的五大特性中,最基本的是有限性、确定性、可行性。
?3.算法设计的要求
一般应该具有以下几个基本特征:
1) 算法的正确性 2)可读性 3)健壮性 4)高效率和低存储量
1.4? 算法描述的工具
1.算法、语言、程序的关系
先分析数据结构中算法、语言、程序的关系:
⑴ 算法:描述了数据对象的元素之间的关系(包括数据逻辑关系、存贮关系描述)。
⑵ 描述算法的工具:(自然语言、框图或高级程序设计语言)
⑶ 程序是算法在计算机中的实现(与所用计算机及所用语言有关)
?2.设计实现算法过程步骤:
????????? 找出与求解有关的数据元素之间的关系(建立结构关系)
????????? 确定在某一数据对象上所施加运算
????????? 考虑数据元素的存储表示
????????? 选择描述算法的语言
????????? 设计实现求解的算法,并用程序语言加以描述。
3.类描述算法的语言选择
采用了标准C语言作为算法描述的工具。
1.5? 对算法作
文档评论(0)