- 1、本文档共42页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构 基本概念: 数据(data):计算机加工处理的对象。 数据元素:组成数据成分数据,是数据的基本单位。 数据项:组成数据元素的最小不可再分单元。 数据的存储表示:是数据在计算机内的表示形式,是逻辑结构在计算机内的存储映象,是面向计算机的。 顺序存储 需要一块连续的存储空间,并把逻辑上相关的数据元素依次存储在该连续的存储区中,可以随机访问。 链接存储 不需要一块连续的存储空间,用结点存储元素,每个结点包括元素本身的数据信息及其它元素的地址信息,只能顺序访问。 数据结构最常见的运算 创建运算:创建一个数据结构; 清除运算:删除数据结构中的全部元素; 插入运算:在数据结构中插入一个新元素; 删除运算:将数据结构中的某个元素删除; 搜索运算:搜索满足一定条件的元素; 更新运算:修改某个指定元素的值; 访问运算:访问数据结构中某个元素; 遍历运算:依一定策略访问每个元素一遍 抽象:其实质是抽取共同的和本质的内容,忽略非本质的细节。 数据抽象:使程序设计者可以将数据元素间的逻辑关系和数据在计算机内的具体表示分别考虑。 过程抽象:使程序设计者将一个运算的定义与实现运算的具体方法分开考虑。抽象的好处主要在于降低了问题求解的难度。 封装:是指把数据和操纵数据的运算组合在一起的机制。使用者只能通过一组允许的运算访问其中的数据。 信息隐蔽:对使用者隐藏了数据结构以及程序的实现细节。 数据类型 是程序设计语言中的概念,它是数据抽象的一种方式。一个数据类型定义了一个值的集合以及作用于该值集的运算集合。 抽象数据类型(abstract data type ADT)是一个数据类型,其主要特征是该类型的对象及其运算的规范,与该类型对象的表示和运算的实现分离,实行封装和信息隐蔽,即所谓使用和实现分离。 逻辑结构和运算的定义组成了数据结构的规范( specification)。 数据的存储表示和运算算法的描述构成数据结构的实现(implementation)。 从规范和实现两方面来讨论数据结构的方式是抽象数据类型的观点。 一种数据结构被视为一个抽象数据类型。 数据结构的抽象层次 抽象层:讨论数据的逻辑结构及其运算定义, 实现层:讨论数据的存储表示以及运算的算法实现。 数据结构被看成是一个类属抽象数据类型(ADT),用格式化的自然语言来描述。 数据结构可以形式地用一个C++的抽象类模板描述,但是算法必须在一个派生类上实现。 templateclass T class SeqStack:public StackT { public: bool Push(T x)=0; …… private: int top; //top记录最后入栈的元素在s的下标 int maxTop; //最大栈顶指针 T *s; //s指向动态生成的一维数组,存放元素 }; 算法的时间复杂度 是程序运行从开始到结束所需的时间,以程序步的数量级来统计。 程序步 一个程序步是指在语法上或语义上有意义的程序段,该程序段的执行时间与问题实例的特征无关。 渐近时间复杂度:使用大O记号表示的算法的时间复杂度,简称为时间复杂度。 定义:(大O记号) 设f(n)和g(n) 是定义在正整数上的正函数,如果存在两个正常数 c 和n0 ,使得当 n? n0 时,有 f(n)? c g(n) 则记作 f(n)=O(g(n))。 最好、最坏和平均时间复杂度 例:在一个有n个元素的数组中查找一个指定元素,某个搜索算法从第一个元素开始,一次检查一个数组元素。 最好情况:如果待查元素恰好是第一个元素 最坏情况:如果待查元素是最后一个元素 平均情况:如果以等概率查找每个元素,这种情况下,算法需平均检索约n/2个元素。 算法的空间复杂度:一个算法的空间复杂度是指算法运行所需的存储量。 固定部分:这部分空间与问题实例的特征无关 可变部分:这部分空间大小与特定数据的大小和规模有关。 空间复杂度一般按最坏情况来分析。 输入:算法有零个或多个输入 输出:算法至少产生一个输出 确定性:算法的每一条指令都有确切的定义,没有二义性。 能行性:算法的每一条指令都足够基本,它们可以通过已实现的基本运算执行有限次来实现。 有穷性:算法必须总能在执行有限步后终止。 算法的五大特征: 1.5 算法分析的基本方法 算法的性能标准 正确性:算法的执行结果应当满足预先规定的功能和性能要求。 简明性:一个算法应当思路清晰、层次分明、简单明了、易读易懂。 健壮性:当输入不合法数据时,应能做适当处理,不至于引起严重后果
您可能关注的文档
- 28-整体法及隔离法联用、瞬时性问题-主视频.pptx
- RDMWeb后台用户使用手册零售经理&城市经.pptx
- 07-11自考银行会计学试题和答案.docx
- 2011年度3月中级口译笔试真题完整版(含答案).docx
- 2013-2015年北京市自然科学基金面上项目指南.docx
- 2015届北京市丰台区高三第二学期统一练习一文综地理试卷带解析.docx
- 2017年度北京外国语大学法语语言文学考研真题,考研经验,考研参考书.docx
- 2017年度中国房地产行业市场需求预测及投资战略规划分析.docx
- 2017年京津冀一体化背景下环保行业市场深度调研及投资战略咨询.docx
- CSRIH使用手册.docx
- 2025年省国有资本运营控股集团有限公司人员招聘笔试备考试题(含答案详解).docx
- 2023年揭阳市公务员考试行测试卷历年真题精选答案详解.docx
- 2023年金昌市公务员考试行测试卷历年真题有答案详解.docx
- 2023年焦作市公务员考试行测试卷历年真题有答案详解.docx
- 2024年保山市公务员考试行测试卷历年真题附答案详解(黄金题型).docx
- 2024年保定市公务员考试行测真题及一套参考答案详解.docx
- 2023年江西省公务员考试行测试卷历年真题带答案详解.docx
- 2023年揭阳市公务员考试行测试卷历年真题附答案详解(实用).docx
- 2023年焦作市公务员考试行测试卷历年真题完整参考答案详解.docx
- 2024年保定市公务员考试行测真题及参考答案详解.docx
最近下载
- 刑事审判参考2001年第7辑(总第18辑).pdf VIP
- 刑事审判参考2001年第4辑(总第15辑).pdf VIP
- GB/T 18998.5-2022工业用氯化聚氯乙烯(PVC-C)管道系统 第5部分:系统适用性.pdf
- 刑事审判参考2001年第8辑.总第19辑.pdf VIP
- 急诊危重症护理新进展题库答案-2025年华医网继续教育答案.docx VIP
- 《共圆中国梦》教学设计 统编版道德与法治九年级上册.pdf
- 新解读《DL_T 2765—2024输变电工程逻辑模型规范》最新解读.docx VIP
- 2025年锅炉水处理作业G3证理论考试笔试试题(400题)含答案.docx VIP
- 刑事审判参考2001年第9辑.总第20辑.pdf VIP
- 房地产开发重要节点及流程.pptx VIP
文档评论(0)