- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
P11
数据结构与算法
一、算法
算法的概念、解决实际问题时准确而完整的描述,也可以理解为一系列解决问题的指令的集合。
算法的四个特点 可行性、执行后能够得到满意的结果。说明这个算法是可行的,
确定性、每一步都必须有明确的定义,不允许有模能两可的解释和多义性
有穷性、在有限的时间内完成,即算法执行有限的步骤后终止
拥有足够的情报、充分调查,获得足够的(信息)情报
算法的两种基本要素 数据对象的运算和操作
算法的控制结构
算法的设计方法 列举法、来解决“是否存在”或“有多少种可能”
归纳法、通过特殊情况(一般性的结论来
递推法、从已知的初始条件(中间结果或最后结果
递归法、对问题层层分解,当解决了那些最简单的问题后,再沿层层分解的逆序过程,导出最后的结果来
减半递推技术、对问题分而治之
回溯法、即“试探”的方法。即找出一个解决问题的线索,然后沿着这个线索试探,若试探成功,就得到了问题的解,若试探失败,就逐步回退,回到正确的位置再向下试探
算法的复杂度 时间复杂度:算法所需要的计算工作量
空间复杂度、执行算法所需要的内存空间
衡量一个算法的技术指标就是时间复杂度和空间复杂度。一个好的算法就是要求时间复杂度和空间复杂度越小越好。
二、数据结构
1、概念:指相互有关联的数据元素的集合。逻辑结构
存储结构
运算的集合
2、逻辑结构:它反映数据元素之间的逻辑结构,它用前后件的关系来表示,根据前后件关系的复杂程度分 线性结构 如、B=(a,b,c,d)
D={a,b,c,d},R={{a,b},{b,c},{c,d}}
非线性结构 如、
具体用B=(D,R)来表示
3、存储结构、逻辑结构在计算机存储空间的映射。 顺序存储
链式存储
索引存储
散列存储
4、线性结构、a满足的条件 a第一个结点无前驱,最后一个结点无后继
b除a外的每一个结点有且仅有一个前驱和一个后继.
b对一个线性结构操作后,仍旧是一个线性结构
c优点、查找比较方便,通过计算地址可以直接找到它
Address(a(i)=address(a1)+(i-1)*k
k:每个元素所占存储单元的字节数
d缺点、插入和删除结点时要移动大量的元素,要知道最优和最坏的情况
e一般采用顺序存储结构,逻辑上相邻的结点在存储结构中也是相邻的。
两个特例 栈
队列
栈、 只有一个出入口
特点、先进后出。
对栈操作的过程 入栈(push)、出栈(pop)和读栈顶元素
队列、一个出口,一个入口
特点、先进先出
循环队列对满与对空的条件 对满、s=1,且front=real
对空、s=0,且front=real=m
m:队列的大小
5、线性链表、链表结点的组成 数据域、存放当前结点的数据信息
您可能关注的文档
最近下载
- 中国高尔夫差点系统会员入会申请书.doc
- 江苏国泰(002091)公司2023年财务分析研究报告.doc
- 2024执业药师继续教育药物分析(3)参考答案.docx
- DB11T 383-2023 建筑工程施工现场安全资料管理规程.docx
- 总体国家安全观授课.pptx VIP
- 一种聚4-甲基-1-戊烯中空纤维膜的制备方法.pdf VIP
- DB11T 1832.2-2023 建筑工程施工工艺规程 第2部分:防水工程.docx
- 普外科麻醉科运用PDCA循环提高患者术后自控镇痛有效率QCC品管圈成果汇报书.docx
- 海信BCD-203FH电冰箱使用说明书.pdf
- 哈工大尹海洁社会统计学(第2版)课后习题答案.docx
文档评论(0)