- 1、本文档共83页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构第1章讲 绪论.ppt
计算机学院信管系 ; * ; * ; * ; * ;;;;1.1 数据结构的研究内容
1.2 基本概念和术语
1.3 抽象数据类型的表示与实现
1.4 算法与算法分析
;电子计算机的主要用途:
?早期:
主要用于数值计算
?后来:
处理逐渐扩大到非数值计算领域,能处理多种复杂的具有一定结构关系的数据;书目自动检索系统;人机对奕问题; 人机对弈阿尔法棋4比1击败李世石,这个事件非常轰动,全球有10多亿人次在观看比赛。这样一次对弈,会让所有人得到洗礼。这是个启蒙运动,受伤的是一些专业选手,但会激励两群人:第一是程序员,第二是IT创业人士。我们相信机器智能可以到来,未来的世界已经不仅是讲“互联网+”,而是到了我们与机器为舞、为伴的世界。这是李世石和AlphaGo对弈里可以看到的未来。;;求解非数值计算的问题:
设计出合适的数据结构及相应的算法
即:首先要考虑对相关的各种信息如何表示、组织和存储?
数据结构的研究内容为:
研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和操作。
;数据结构课程的形成和发展:
形成阶段:
60年代初期,“数据结构”有关的内容散见于操作系统、编译原理和表处理语言等课程。1968年,“数据结构”被列入美国一些大学计算机科学系的教学计划。
发展阶段:
数据结构的概念不断扩充,包括了网络、集合代数论、关系等“离散数学结构”的内容。
70年代后期,我国高校陆续开设该课程。
;《数据结构》所处的地位:
;北京林业大学信息学院;;1、数据(data)—所有能输入到计算机中去的描述客观事物的符号
数值数据:整数、浮点数等,主要用于工程和科学计算。
非数值数据:字母,表格,程序,符号,图形,树、图
、网页 、节点等。
2、数据元素(data element)—数据的基本单位,也称结点(node)或记录(record)
3、数据项(data item)—有独立含义的数据最小单位,也称域(field)
;整数数据对象
N = { 0, ?1, ?2, … }
学生数据对象
学生记录的集合;5、数据结构(Data Structure)是相互之间存在一种或多??特定关系的数据元素的集合。;数据结构的两个层次:
逻辑结构---
数据元素间抽象化的相互关系,与数据的存储无关,独立于计算机,它是从具体问题抽象出来的数学模型。
存储结构(物理结构)----
数据元素及其关系在计算机存储器中的存储方式。;划分方法一
(1)线性结构----
有且仅有一个开始和一个终端结点,并且所有结点都最多只有一个直接前趋和一个后继。
例如:线性表、栈、队列、串
(2)非线性结构----
一个结点可能有多个直接前趋和直接后继。
例如:树、图
;;存储结构分为:
顺序存储结构——借助元素在存储器中的相对位置来表示
数据元素间的逻辑关系
链式存储结构——借助指示元素存储地址的指针表示数据
元素间的逻辑关系
索引存储
便于查找
散列存储
;元素n;1536;逻辑结构和存储结构都相同, 但运算不同, 则数据结构不同. 例如, 栈与队列
对于一种数据结构, 常见的运算
插入
删除
修改
查找
排序;;定义:在一种程序设计语言中,变量所具有的数据种类 ;(ADT: Abstract Data Types);抽象数据类型可以用以下的三元组来表示:
ADT = (D,S,P)
数据对象 D上的关系集 D上的操作集 ;例如,抽象数据类型复数的定义:;基本操作:; GetImag( C, ImagPart )
初始条件:复数已存在。
操作结果:用ImagPart返回复数Z的虚部值。;抽象数据类型;复习c/c++语言的内容:
c/c++程序的结构组成与不同1、结构体2、定义类型3、指针类型及操作4、动态空间的分配和删除5、函数调用及参数传递(引用类型)
6、文件预处理(include)7、c++中的引用类型及输入 、输出
8、多文件的程序结构;标准C++
#include iostream
using namespace std;
int add(int x,int y) {return x+y
您可能关注的文档
最近下载
- tb 10106-2023《铁路工程地基处理技术规程》(OCR).pdf
- 教资国考复习初中历史必备知识点.pdf
- 3万吨亚磷酸、2万吨三乙胺项目可行性研究报告写作模板-备案审批.doc
- 《大气污染控制工程》课程教学大纲.pdf VIP
- 拜城县老虎台铁矿开采设计方案.doc
- A2数字教育资源获取与评价作业1-主题说明. 高中语文《沁园春.长沙》. 教师自主选择一个教学主题,描述其主要内容、教学对象、教学环境等。.docx
- 农村防灾减灾知识.pptx
- 浙江省生物多样性调查技术导则.pdf VIP
- 2023-2024学年度冀教版五年级上册小学数学期末考试卷 .pdf VIP
- 大气污染控制工程课件.pptx VIP
文档评论(0)