- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
参考书目 Donald E. Knuth. 计算机程序设计艺术(第3版). 苏运霖译. 北京:国防工业出版社, 2007. (第一卷 基本算法;第二卷半数值算法;第三卷 排序与查找) 许卓群等. 数据结构与算法. 北京: 高等教育出版社, 2004. 严蔚敏,?吴伟民.?数据结构(C语言版) .?北京:?清华大学出版社,?2007. 第一章 绪 论 例: 有向无环图是描述工程或系统进行过程的有效工具。一是用于考查工程能否顺利进行,二是用于估算工程完成所需的最短时间,这就是拓扑排序和关键路径问题。 1956年,美国杜邦公司提出关键路径法,并于1957年首先用于1000万美元化工厂建设,工期比原计划缩短了4个月。杜邦公司在采用关键路径法的一年中,节省了100万美元。 Dijkstra算法在物流配送问题中的应用 树结构在数据挖掘中的应用 散列技术在数据加密中的应用 查找技术在数据库中的应用 倒排文件、查找算法在搜索引擎中的应用 倒排文件是大规模信息检索系统常用的一种索引组织技术 。在Web检索环境下 ,搜索引擎索引数据量和用户量都不断增加 ,从而使得优化倒排文件的组织、改进检索算法 ,不断提高系统检索效率成为一个被关注的研究课题 。 个人图书数据 1. 顺序存储结构 方法:数据元素连续地存放在存储空间中,使逻辑上相邻的数据元素存放在物理上相邻的存储单元中。元素的逻辑关系(前驱/后继关系)用物理地址的相邻关系表示。 优点:(基于下标的)随机检索高效; 缺点:插入、删除等维护操作低效; 空间利用率低,会出现“存储碎片”的情况。 2. 链接存储结构 方法:数据元素任意地存放在存储单元中,逻辑上相邻地结点不必物理上相邻。数据元素间的逻辑关系采用指针的方式表示。 优点:插入、删除等维护操作高效; 空间利用率高,可有效处理“存储碎片”的情况。 缺点:(基于下标或关键字)检索操作低效。 3、索引存储结构 方法:数据元素任意地存放在存储单元中,逻辑上相邻地结点不必物理上相邻。采用顺序存储的方法存储一个索引表,表中的每i项存放指向存储区域中第i个数据元素的指针。 优点:是顺序存储和链接存储的结合体,具有两者的优点,对基于下标的随机检索、插入、删除等操作均相对高效。 4、散列存储结构 方法:数据元素任意地存放在存储单元中,逻辑上相邻地结点不必物理上相邻。采用“散列表”方法存储一个索引表,表中的每项存放相应数据元素的首地址。 优点:对基于关键字的随机检索、插入、删除等操作均相对高效; 5、组合存储结构 将以上4种基本存储结构灵活地组合使用,实现复杂逻辑结构的存储。如图结构的可用顺序结构+链接结构实现。 要根据问题的特点有针对性的选择合适的存储结构。 1967年,克努斯指出:“计算机科学是有关算法的学问”,并指出“对所有的计算机程序设计来说,算法的概念总是最基本的”。数据结构与算法紧密相关。算法无疑也是本书的重要内容。 1.4.3. 算法的特性 (1) 有限性:一条指令都只能执行有限次,整个算法在有限 时间内结束 (2) 确定性:算法中的每条指令都必须清楚,没有二义性 (3) 输入: 具有0个或多个由外界提供的量 (4) 输出: 产生1个或多个结果 (5) 可行性:每条指令都十分基本,原则上可由人仅用笔和 纸在有限的时间内也能完成 注意:算法和计算过程是有区别的,后者不需要满足有限性。 1.4.4 算法的评价准则 正确性 时间复杂性 空间复杂性 可读性 坚固性(健壮性) 还应该具有灵活性、可重用性和自适应性。 1.正确性 “正确性”的含义可分为四个层次: ① 算法不含语法错误; ② 算法对于几组输入数据能够得出满足规格说明要 求的结果; ③ 算法对于精心选择的典型、苛刻而带有刁难性的 几组数据能够得出满足规格说明要求的结果; ④ 算法对一切合法的输入数据都能产生满足规格说 明要求的结果。 2.时间复杂性 度量算法时间效率的标准: (1)能反应算法所采用的方法的时间效率; (2)与算法描述语言及设计风格无关; (3)与算法的许多细节无关; (4)足够精确和具有一般性。 基本运算(关键操作) 算法中起主要作用且费时最多的操作。 时间复杂性 一个算法的时间复杂性是指该算法的基本运算次数。 3.空间复杂性 算法在运行过程中所占用的存储空间的大小被定义为算法的空间复杂性。主要包括: 算法
文档评论(0)