- 1、本文档共51页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构 第1章-新1
引 言
数据结构的概念及其研究的问题,是本章中重要的概念,它们贯穿整本书。除了数据结构研究的三个方面,我们对每种数据结构都会给出应用的实例。
要学会描述数据结构和算法,分析算法的时、空复杂度。;内容提要
1.给出数据结构的概念
2.介绍数据抽象和抽象数据类型
3.说明数据结构和算法描述的方法
4.介绍算法和算法分析的基本方法;1.1 算法和数据结构;1.1 算法和数据结构;;;,;;1. 数据:计算机加工处理的对象
2.数据元素:是组成数据的基本单位,在计算机程序中通常作为一个整体来处理。
数据元素由若干数据项组成。
3.数据项是不可再分割的。;表1.1 学生情况表;数据结构的由来
数据结构主要是为研究和解决如何使用计算机组织和处理这些非数值问题而产生的理论、技术和方法。它已成为计算机学科研究的基本课题之一。
;什么是数据结构
定义1----
数据元素之间的相互关系称为结构,带有结构的数据元素的集合称为数据结构。
定义2----
按某种逻辑关系组织起来的一批数据(或称带结构的数据元素的集合)应用计算机语言并按一定的存储表示 方式把它们存储在计算机的存储器中,并在其上定义了一个运算的集合。
; 数据结构包括三个方面
逻辑结构:数据元素间的逻辑关系;
存储结构:数据在计算机内的表示形式;
运算:在数据上执行的操作。;数据结构举例 ;1.2.2 数据的逻辑结构;4种基本的逻辑结构;
;; 顺序存储
顺序(或称连续)表示方法需要一块连续的存储空间,并把逻辑上相关的数据元素一次存储在该连续的存储区中。; 链式存储
;;1.2.4 数据结构的运算; 静态数据结构和动态数据结构
如果一个数据结构一旦创建,其结构不发生改变,则称为静态数据结构,否则成为动态数据结构。; 小结
数据结构是一门研究程序设计问题中计算机的操作对象(数据)以及它们之间的关系和运算的学科。;1.3 数据抽象和抽象数据类型 ; 1. C 语言的数据类型
(1)基本类型:字符、整型 ……
(2)构造类型:数组、结构和联合
(3)指针类型:指针;抽象数据类型(Abstract Data Type, ADT)是一个数据类型,其主要特征是该类型的对象及其操作的规范,与该类型对象的表示和操作的实现分离,实行封装和信息隐蔽,即使用和实现分离。;
规范指明“做什么”,
实现解决“怎样做”。
规范是实现的准则和依据
;一个数据结构包含两个层次:
(1)数据结构的规范(抽象层):
逻辑结构和运算的定义组成了数据结构的规范
(2)数据结构的实现(实现层):
存储结构和运算算法实现构成了数据结构的实现;1.4 描述数据结构和算法;本书是怎样描述每种数据结构?
;
(1)用格式化的自然语言来描述数据结构的规范。
(2)用一个C++的抽象模板类描述数据结构的规范。;数据结构描述举例---堆栈;ADT 1.1 栈抽象数据类型
ADT Stack
{ Data: (描述逻辑结构)
0个或多个元素的线性序列(a0,a1,? ,an-1),
遵循LIFO原则。
Operations: (描述运算的定义)
Create():创建一个空栈。
Destroy():撤消一个栈。
Push(x):元素x插入栈顶。
Pop():删除栈顶元素。
Top(x):在x中返回栈顶元素。
} ;程序 1.1 栈的C++模板抽象类
templateclass T
class Stack
{ public:
virtual void Push(T x)=0;
virtual void Pop()=0;
virtual T Top(T x)const=0;
…
};
除了构造函数,其余成员函数都是纯虚函数。顺序栈类SeqStack是类Stack在顺序存储表示下的一种实现,它是从抽象类Stack派生出来的,它可以实例化。;templateclass T
bool SeqStackT::Push(T x)
{
if(IsFull())
{ coutOverflowendl;
return false;
}
s[++top]=x;
return true;
};1.5 算法分析的基本方法;1.什么是算法
一个算法(algorithm)是对特定问题的求解步骤的一种描述,它是指令的有限序列;此外,算法具有下列五个特征:
(1)输入 算法有零个或多个输入。
(2)输出
您可能关注的文档
- 建设工程施工总包与技术要求说明(类似于技术性补充协议).doc
- 工程材料试题和答案合集.doc
- 当代英国高等院校学前教育专业实习特点与其启示.pdf
- 工程硕士专业文献翻译和综述.doc
- 开关电源变压器磁心气隙量公式辨析计算.pdf
- 工程硕士英语格式和标点.ppt
- 当前美国教师资格评价标准研究现状与意义.pdf
- 工程硕士神经网络理论和应用课程5.ppt
- 序言与第1,2节.ppt
- 工程竣工备案有关规定和目录.doc
- 中国国家标准 GB/T 45154-2024老龄化社会 年龄包容性劳动力通用要求与指南.pdf
- 《GB/T 45154-2024老龄化社会 年龄包容性劳动力通用要求与指南》.pdf
- 中国国家标准 GB/T 7019-2024纤维水泥制品试验方法.pdf
- GB/T 7019-2024纤维水泥制品试验方法.pdf
- GB/T 45150-2024老龄化社会 认知症包容性社群框架.pdf
- 中国国家标准 GB/T 25320.4-2024电力系统管理及其信息交换 数据和通信安全 第4部分:包含MMS的协议集及其附件.pdf
- 中国国家标准 GB/T 45150-2024老龄化社会 认知症包容性社群框架.pdf
- 《GB/T 25320.4-2024电力系统管理及其信息交换 数据和通信安全 第4部分:包含MMS的协议集及其附件》.pdf
- 《GB/Z 44938.1-2024机械电气安全 第1部分:用于保护人员安全的传感器》.pdf
- 中国国家标准 GB/T 21551.3-2024家用和类似用途电器的抗菌、除菌、净化功能 第3部分:空气净化器的特殊要求.pdf
最近下载
- JJF(闽) 1125-2022 土工布测厚仪校准规范.docx
- (已压缩)DeepSeek从入门到精通(20250204).pdf
- 高中化学思维导图_海水资源的开发利用.pdf VIP
- TGDAEM3-2022生态环境监测实验室器皿清洗技术规范.pdf
- 河南省2024年中考数学试卷(含答案).docx VIP
- 人教版数学四年级下册第2单元综合检测卷(含答案).doc VIP
- 全国教育科学规划课题申报书:61.《国家安全全民教育体系构建研究》 .pdf
- 中南大学2021-2022学年第1学期《高等数学(上)》期末考试试卷(B卷)及标准答案.pdf
- 2024年湖南石油化工职业技术学院单招职业技能测试题库及一套完整答案.docx VIP
- 全国与各省份地图(PPT模板可编辑颜色).ppt VIP
文档评论(0)