- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
TIME \@ yyyy年M月d日 2020年5月14日
2021年自考02142数据结构导论串讲笔记
第一张 概论
1.1 引言
两项基础任务: 数据表示, 数据处理
软件系统生存期:软件计划,需求分析,软件设计,软件编码,软件测试,软件维护
由一个逻辑结构和一组基础运算组成整体是实际问题一个数学模型,这种数学模型建立,选择和实现是数据结构关键问题。
机外表示------逻辑结构------存放结构
处理要求-----基础运算和运算-------算法
1.2 数据,逻辑结构和运算
数据:通常能够被计算机存放,加工对象通称为数据
数据元素:是数据基础单位,在程序中作为一个整体加以考虑和处理。 又称元素,顶点,结点,统计。
数据项:数据项组成数据元素,但通常不含有完整确定实际意义,或不被当做一个整体对待。 又称字段或域,是数据不可分割最小标示单位。
1.2.2 数据逻辑结构
逻辑关系:是指数据元素之间关联方法,又称“邻接关系”
逻辑结构:数据元素之间逻辑关系整体称为逻辑结构。即数据组织形式。
四种基础逻辑结构:
1 集合:任何两个结点间没有逻辑关系,组织形式松散
2 线性结构:结点按逻辑关系依次排列成一条“锁链”
3 树形结构:含有分支,层次特征,形态像自然界中树
4. 图状结构:各个结点按逻辑关系相互缠绕,任何两个结点全部能够邻接。
注意点:
逻辑结构和数据元素本身形式,内容无关。
逻辑结构和数据元素相对位置无关
逻辑结构和所含结点个数无关。
运算:运算是指在任何逻辑结构上施加操作,即对逻辑结构加工。
加工型运算:改变了原逻辑结构“值”,如结点个数,结点内容等。
引用型运算:不改变原逻辑结构个数和值,只从中提取一些信息作为运算结果。
引用:查找,读取
加工:插入,删除,更新
同一逻辑结构S上两个运算A和B, A实现需要或能够利用B,而B实现不需要利用A,则称A能够归约为B。
假如X是S上部分运算集合,Y是X一个子集,使得X中每一运算全部能够规约为Y中一个或多个运算,而Y中任何运算不可规约为别运算,则称Y中运算(相对于X)为基础运算。
将逻辑结构S和在S上基础运算集X整体(S,X)称为一个数据结构。 数据结构包含逻辑结构和处理方法。
1.3 存放实现和运算实现
因为逻辑结构是设计人员依据解题需要选定数据组织形式,所以存放实现建立机内表示应遵照选定逻辑结构。其次,因为逻辑结构不包含结点内容即数据元素本身表示,所以存放实现另一关键内容是建立数据元素机内表示。按上述思绪建立数据机内表示称为数据存放结构。
存放结构包含三部分:
存放结点,每个存放结点存放一个数据元素。
数据元素之间关联方法表示,也就是逻辑结构机内表示。
附加设施,如方便运算实现而设置“哑结点”等。
四种基础存放方法:
次序存放方法:每个存放结点只含一个数据元素。全部存放结点相继存放在一个连续存放区里。用存放结点间位置关系表述数据元素之间逻辑关系。
链式存放方法:每个存放结点不仅含有一个数据元素,还包含一组指针。每个指针指向一个和本结点有逻辑关系结点,即用附加指针表示逻辑关系。
索引存放方法:每个存放结点只含一个数据元素,全部存放结点连续存放。另外增设一个索引表,索引指示各存放结点存放位置或位置区间端点。
散列存放方法:每个结点含一个数据元素,各个结点均匀分布在存放区里,用散列函数指示各结点存放位置或位置区间端点。
1.3.2 运算实现
运算只描述处理功效,不包含处理步骤和方法;运算实现关键是处理步骤要求,即算法设计。
算法:算法要求了求解给定问题所需全部处理步骤及其实施次序,使得给定类型任何问题能在有限时间内被机械求解。
算法分类:
1:运行终止程序可实施部分:又称为程序
2: 伪语言算法:不能够直接在计算机上运行,但轻易编写和阅读。
3:非形式算法:用自然语言,同时可能还使用了程序设计语言或伪语言描述算法。
1.4 算法分析
算法质量评价指标:
正确性:能够正确实现处理要求
易读性:易于阅读和了解,便于调试,修改和扩充
健壮性:当环境发生改变,算法能够合适做出反应或处理,不会产生不需要运行结果
高效率:达成所需要时空性能。
怎样确定一个算法时空性能,称为算法分析
一个算法时空性能是指该算法时间性能和空间性能,前者是算法包含计算量,后者是算法需要存放量。
算法在给定输入下计算量:
依据该问题特点选择一个或多个操作作为“标准操作”。
确定每个算法在给定输入下共实施了多少次标准操作,并将此次数要求为该算法在给定输入下计算量。
若无特殊说明,将默认以赋值语句作为标准操作。
最坏情况时间复杂性:算法在全部输入下计算
文档评论(0)