- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《算法与数据结构》(C语言)讲义讲述
《算法与数据结构》(C语言)讲义
计算机科学系 陈雄峰
一、课程目标
l、课程性质
《算法与数据结构》是计算机软件和计算机应用专业的核心课程。在众多的计算机系统软件和应用软件中都要用到各种数据结构。因此,仅掌握几种计算机语言是难以应付众多复杂的课题。要想有效地使用计算机,就必须学习数据结构的有关知识。《算法与数据结构》课程不仅为《数据库系统》、《操作系统》、《软件工程》等后继课程提供必要的基础知识,而且是实践技能训练的一个重要的教学环节。
2、教学方法:课堂讲授和实验上机结合为主
3、课程学习目标和基本要求
(1)通过学习学生要掌握基本数据结构的组成及其实现方法。学会分析研究计算机加工的数据对象的特性,以便选择适当的数据结构和存储结构及相应的算法,并初步掌握抽象数据类型的设计及其相关算法的时间分析和空间分析技巧。
(2)通过学习,强化学生运用基本数据结构进行复杂程序设计的训练过程。通过闭实验和开实验,体会计算机方法学的理论、抽象和设计这三个过程,提高利用计算机解决实际问题的实践技能。
4、课程学时72学时,其中授课56学时,闭/开实验(上机)16学时
5、课程类型:必修课
6、先修课程:C程序设计,离散数学
二、课程内容
1、绪论(4学时)
知识点:数据与数据类型、数据结构、抽象数据类型、算法复杂性分析
重点:数据类型、数据结构
难点:抽象数据类型
本章介绍了数据结构这门学科诞生的背景、发展历史以及在计算机科学中所处的地位,重点介绍了数据结构有关的概念和术语,读者学习本章后应能掌握数据、数据元素、逻辑结构、存储结构、数据处理、数据结构、算法设计等基本概念,并了解如何评价一个算法的好坏。
1.1 什么是数据结构:
知识-》信息(现实世界)—》数据(计算机)
解决问题的过程:物理模型—》数学模型(描述非数值计算需用数据结构)--》算法—》程序—结果(运行)例:线性结构、树、图
1.2基本概念和术语
数据(Data)
数据元素(Data Element)
数据项(Data Item)
多个数据项-》数据元素-记录-》文件(大量记录)
数据对象(Data Object)
数据结构(Data Structure) 是相互之间存在一种或多种特定关系的数据元素的集合。数据元素都不是孤立存在的,而是在它们之间存在着某种关系,这种数据元素相互之间的关系称为结构(Structure)。通常有下列四类基本结构:
集合 结构中的数据元素之间除了同属于一个集合的关系外,别无其它关系;数据元素各不相同
线性结构 结构中的数据元素之间存在一个对一个关系;
树形结构 结构中的数据元素之间存在一个对多个的关系;
图形结构或网状结构 结构中的数据元素之间存在多个对多个的关系。
A
Data-Structure=(D,S) (1-1)
其中:D是数据元素的有限集,S 是D上关系的有限集。下面举两个简单例子说明之。
1-4 在计算机科学中,复数可取如下定义:复数是一种数据结构
例1-5课题小组设计一个数据结构。假设每个小组由一位教师、一至三名研究生及一至六名本科生组成,小组成员之间的关系是:教师指导研究生,而由每位研究生指导一至两名本科生。则可以如下定义数据结构:
B、逻辑结构。结构定义中的关系描述的是数据元素之间的逻辑关系,因此又称为数据的逻辑结构。
C、物理结构,又称存储结构。数据结构在计算机中的表示(又称映象)称为数据的物理结构,又称存储结构。它包括数据元素的表示和关系的表示。位(bit),元素(Element)或结点(Node),数据域(Data Field)。数据元素之间的关系在计算机中有两种不同的表示方法:顺序映象和非顺序映象,并由此得到两种不同的存储结构:顺序映象结构和链式存储结构。顺序映象的特点是借助元素在存储中的相对位置来表示数据元素之间的逻辑关系。非顺序映象的特点是借助指示元素存储的指针(Pointer)表示数据元素之间的逻辑关系。如:Z1=3.0-2.3i和z2=-0.7+4.8i,虚部的存贮地址
图1。6复数存储结构示意图
D、数据结构分类:
(1)逻辑结构:
.线性结构
线性表
栈和队列
串
数组/广义表
非线性结构
树及二叉树
图
文件
(2)物理结构(存储结构)
顺序存储结构
非顺序存储结构:链式存储结构、散列表式(索引)存储结构
(5)数据类型(Data Type):程序设计语言中变量可取的数据种类;表示数据对象的特性,隐含取值范围和操作。
(6)抽象数据类型(Abstract Data Type 简称ADT)是指一个数学模型以及定义在该模型上的一组操作。抽象数据类型 的定义仅取决于它的一组逻辑特性,而与其在计算机内部如何表示和现
文档评论(0)