电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

算法数据结构程序

3页
  • 卖家[上传人]:自***
  • 文档编号:80711902
  • 上传时间:2019-02-19
  • 文档格式:DOC
  • 文档大小:58.80KB
  • / 3 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、算法 + 数据结构 = 程序-评数据结构、算法与应用-C+语言描述记得Pascal之父、结构化程序设计的先驱Niklaus Wirth最著名的一本书,书名叫作算法 + 数据结构 = 程序,算法与数据结构之于程序设计的重要性不言自明。那么,什么是算法?什么是数据结构?什么又是程序呢?我们先从阐明大家最为熟悉的程序的概念入手。程序是计算机指令的某种组合,控制计算机的工作流程,完成一定的逻辑功能,以实现某种任务;再来看什么是算法,算法是程序的逻辑抽象,是解决某类客观问题的数学过程;最后我们来看一看数据结构又是什么呢?在这里,数据结构具有两个层面上的涵义-逻辑结构和物理结构:客观事物自身所具有的结构特点,我们将其称之为逻辑结构。如家族谱系是一个天然的树型逻辑结构。而逻辑结构在计算机中的具体实现则称之为物理结构。如树型逻辑结构是用指针表示还是使用数组实现。仔细体会一下,就会发现算法与数据结构间的紧密性。用一个较为贴切的例子来形容,若把数据结构喻为建筑工程中的建筑设计图,那么算法就是工程中的施工流程图。数据结构与算法呈相互依托的关系,恰当的确立了问题的结构,问题的解决才能根据确立的层次结构选择合适

      2、的解决方法。因此任何讲解数据结构的书都不可能撇开算法,单单介绍数据结构,反之亦然。下面,我们就来看看IEEE 97Booth教育奖获得者Sartaj Sahni是如何处理数据结构、算法和程序他们三者之间的关系的吧!一般来说,计算机专业著作有两种基本写作方式:一种是教材,一种是百科全书。本书是按照大学教材的结构来写的,然而令人惊讶的是本书的内容是如此的丰富,以至于同样可以将它看作是一本关于数据结构与算法的大全。显然,这本书并不适合初学,将它作为数据结构进阶学习的第二本书是恰当的。这本书最为显著的特点是特别注重应用,我们很快就会看到这一点。首先,我们来看一看数据结构、算法与应用-C+语言描述这本书的组织结构。书由三个部分组成:预备知识、数据结构和算法设计。第一部分 预备知识 回顾了具备面向对象特性的C+语言的重要特征。因为不是在介绍C+语言,这里的回顾和前提引入直接切入到了C+中许多重要而又易被忽略以至于显得较为模糊的概念。参数传递、函数返回、模板、递归还有操作符重载等等,如若在以前学习C+时,对其理解不是十分深入的话,你是否清楚在什么样的情形下函数返回引用更为合适呢?随后探讨程序时空复杂

      3、性的分析、测量与渐进符号(、),为后面的算法分析内容建立基础。较为特别的是,作者提早在第一部分就讲述了程序设计中的一些基本设计方法:简单的排序与搜索算法、多项式求值和矩阵运算。这样做是要冒风险的(对基础差一些的读者来说就会觉得难度较大),不过作者深厚的写作功力使其显得自然而又恰如其分。第二部分 数据结构 是本书的主体,阐述线性表、数组、矩阵、堆栈、队列、跳跃表、散列、二叉树、优先队列、竞赛树、搜索树还有图。与一般的数据结构书不同,这里采用了四种不同的数据描述方法:公式化描述、链接描述、间接寻址和模拟指针。随着学习的深入,你很快就可以发现相同的逻辑结构,其物理结构的实现竟是如此的不同。而不同的物理结构又各自存在着自己的优缺点,这是由不同的物理结构的自身特点所决定的。例如:使用数组实现的线性表可直接存取元素,然而元素插入与删除的效率却特别低;而若线性表采用链表描述,则正好与顺序表的优缺点相反。若欲博采众长,就必须设计或是选择更为复杂的数据结构,这又为算法设计带来了更多的麻烦。而且,整体结构和具体实现会显得不是那么清晰与自然,甚至会变得非常的难于理解。学习数据结构的诀要就在于掌握基本的数据结

      4、构,在解决现实问题时选择合适的结构或设计更为恰当的模型,然后根据确立的结构特性编写出算法。我们前面提到的关于本书最为独特的地方就在于它特别强调应用。这一特色,就表现在这第二部分中。书中给出了大量来自不同领域的应用:布线路由、元件折叠、电路板排列、LZW压缩编码、迷宫问题、工厂仿真、货箱装船、LPT调度、货郎担问题 这些具体问题的实现不仅使学习充满了乐趣,而且所选择出来的典型实例对于我们解决现实问题具有很强的指导作用。同时,这些经典实例的实现能够大幅度提高我们阅读和编写复杂的大型程序的能力。我们的程序设计能力和算法思维能力的提高,正是建立在对基本数据结构和算法原理的理解以及阅读中、大型程序源代码的基础上的。本书的第三部分侧重于计算机算法的分析与实现。书中提供了五种基本的算法设计方法:贪婪算法、分而治之算法、动态规划、回溯和分支定界。由于这里已经是书末,读者的基础知识已经相当的充实,故而本部分也是本书最难的地方。算法的定义采用了正式的数学定义,有算法引论或组合数学基础的读者会更容易理解一些。正如文前所述,这里更强调的是问题的解决过程,合适的算法将可能会使解决问题的复杂度降低几个数量级。如顺

      5、序搜索与折半搜索、冒泡排序与快速排序性能上的差异足以决定解决问题的可能性。在这里,作者同样强调如何选择合适的算法设计方法,建立起针对特定的实际应用的解决方法。找伪币、找零钱、分金块、迷宫老鼠、棋盘覆盖等丰富而生动的事例中蕴含着深刻的算法思想,同样的问题利用不同的算法设计方法通过不同途径得到解。正如前面所述,算法的确定依赖于数据结构的选择,数据结构的选择制约于算法设计的复杂程度-算法 + 数据结构 = 程序。数据结构与算法方面的好书很多,我在这里没有作一一介绍,而是着重推荐了一些经典著作:计算机编程艺术The Art of Computer Programming(Volume I III) (第1卷 基本算法、第2卷 半数值算法、第3卷 排序与查找) 国防工业出版社 数据结构的开拓者D.E.Knuth高德纳编著的计算机科学发展史上的不朽之作。第1卷 基本算法 介绍计算机程序设计的基本算法,包括基本的编程概念和技术以及信息结构-机内信息的表示、数据元及其处理的结构关系;第2卷 半数值算法 介绍随机数和算术,提供了计算机编程和数值分析之间的丰富接口;第3卷 排序与查找 介绍排序和查找的最权威的经典技术,扩充了第1卷的数据结构,以处理大小型数据库及内外部存储。本书偏重分析技术,采用汇编语言描述算法,是一本本学科最经典最权威的百科全书,适合于从事数据结构与算法研究的专家阅读。算法 + 数据结构 = 程序科学出版社 Pascal之父Niklaus Wirth著 一本简洁、清晰具有深刻内涵的小册子。介绍了许多巧妙的程序设计技术,书中还完成了一个简单的程序设计语言的实现,真不愧为世界级的编译器设计专家。这本书的难度也很大,将它作为数据结构高级读物更好一些。数据结构与算法 美A.V.阿霍,美J.E.霍普克罗夫特著 看看作者名字就知道这本书的水平了,不过这本书现在很难找到了。数据结构与算法苏运霖著 中南工业大学出版社 作为计算机编程艺术的中文译者,苏运霖先生的这一本专著亦采用百科全书式写法,内容相当艰深,对数学功底要求特别高。数据结构与算法分析(C+版、JAVA版) Shaffer著 电子工业出版社 讲解清晰易懂、内容丰富,适于自学。

      《算法数据结构程序》由会员自***分享,可在线阅读,更多相关《算法数据结构程序》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2 2022年小学体育教师学期工作总结 2022年家长会心得体会集合15篇
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.