新書推薦:
《
卡特里娜(“同一颗星球”丛书)
》
售價:HK$
87.4
《
伟大民族:从路易十五到拿破仑的法国史(方尖碑)
》
售價:HK$
188.2
《
古今“书画同源”论辨——中国书法与中国绘画的关系问题兼中国画笔墨研究
》
售價:HK$
132.2
《
《日本文学史序说》讲演录
》
售價:HK$
72.8
《
无尽的海洋:美国海事探险与大众文化(1815—1860)
》
售價:HK$
99.7
《
治盗之道:清代盗律的古今之辨
》
售價:HK$
122.1
《
甲骨文丛书·剑桥世界暴力史(第一卷):史前和古代世界(套装全2册)
》
售價:HK$
210.6
《
甲骨文丛书·中华早期帝国:秦汉史的重估
》
售價:HK$
300.2
|
編輯推薦: |
本书内容全面,特色突出,注重基本算法和基本技能,培养和提高程序设计应用开发能力,利于学生领悟编程的真谛。全书内容主要包括程序与算法、程序设计语言、数据结构、查找与排序、穷举法、递归法、分治法、动态规划法、贪心法、回溯法以及附录。 本书适合作为高等院校的计算机相关专业的教材或教学参考书,也可供从事计算机应用开发的各类技术人员应用参考,或用作全国计算机等级考试、软件技术资格与水平考试的培训资料。
|
內容簡介: |
本书内容全面,特色突出,注重基本算法和基本技能,培养和提高程序设计应用开发能力,利于学生领悟编程的真谛。全书内容主要包括程序与算法、程序设计语言、数据结构、查找与排序、穷举法、递归法、分治法、动态规划法、贪心法、回溯法以及附录。
本书适合作为高等院校计算机相关专业的教材或教学参考书,也可供从事计算机应用开发的各类技术人员应用参考,或用作全国计算机等级考试、软件技术资格与水平考试的培训资料。
|
目錄:
|
目录
第1章程序与算法11.1计算机基础知识11.1.1硬件11.1.2软件21.2程序设计31.2.1程序设计内容31.2.2程序设计过程31.3算法31.3.1五个属性51.3.2三个层次51.4算法复杂性61.4.1空间复杂度61.4.2时间复杂度71.4.3算法评价标准71.4.4算法效率81.5算法表示方式101.5.1程序流程图101.5.2NS图101.5.3伪语言111.6习题11第2章程序设计语言132.1程序设计语言演变历史132.1.1机器语言132.1.2汇编语言132.1.3面向过程设计语言132.1.4面向对象程序设计语言142.1.5智能化语言142.2结构化程序设计142.2.1自顶向下142.2.2逐步细化142.2.3模块化设计152.2.4结构化编码152.3三种基本结构152.3.1顺序结构162.3.2选择结构162.3.3循环结构172.4高级程序设计语言的基本结构182.4.1面向过程程序设计语言182.4.2面向对象程序设计语言192.5代码书写规则202.5.1缩进202.5.2逻辑行与物理行202.5.3注释212.5.4编码习惯212.6程序调试222.6.1调试策略232.6.2三种调试工具232.7选择语言的标准252.7.1项目应用领域252.7.2算法复杂度252.7.3数据结构复杂性252.7.4开发人员水平262.8习题26第3章数据结构273.1概述273.2线性表273.2.1相关概念273.2.2线性表存储283.3栈323.3.1相关概念323.3.2栈的存储323.4队列343.4.1概念343.4.2队列存储343.5树393.5.1相关概念393.5.2二叉树的性质403.5.3二叉树存储413.5.4二叉树遍历423.5.5二叉树创建463.6图463.6.1相关概念463.6.2图的存储473.6.3图的遍历523.6.4最小生成树553.6.5最短路径573.7习题61第4章查找与排序634.1查找634.1.1顺序查找634.1.2折半查找634.1.3分块查找654.2排序664.2.1插入类674.2.2交换类704.2.3选择类724.2.4归并类784.3排序法总结794.3.1时间性能794.3.2空间性能794.3.3稳定性能794.4习题80第5章穷举法825.1概述825.2例题825.2.1杨辉三角形825.2.2螺旋数阵845.2.3百钱买百鸡845.2.4啤酒和饮料865.3有意思的数875.3.1素数875.3.2孪生素数885.3.3回文素数895.3.4水仙花数905.3.5北斗七星数915.3.6完全数925.3.7倒序数935.4习题93第6章递归法946.1概述946.1.1简介946.1.2内存组织方式956.1.3递归适用场合956.2基本递归966.2.1相关概念966.2.2基本递归运行原理976.3尾递归986.3.1相关概念986.3.2尾递归运行原理986.4相似术语解析996.4.1递归与循环996.4.2迭代和递推996.4.3迭代与遍历1006.4.4递归和递推1006.5例题1036.5.1最大公约数1036.5.2最近公共子结点1056.5.3汉诺塔问题1066.5.4平面划分1076.5.5切面条1096.5.6全排列问题1106.5.7整数划分问题1126.6习题113第7章分治法1147.1概述1147.2从求数组最值谈起1147.3算法框架1207.4查找与排序中的分治法1227.4.1二分查找算法1227.4.2快速排序算法1237.5乘法中的分治法1267.5.1大整数乘法1267.5.2Strassen矩阵乘法1287.6棋盘覆盖问题1327.7习题135第8章动态规划法1368.1概述1368.2矩阵连乘积问题1368.3字符串相似度问题1448.3.1最长公共子序列问题1448.3.2编辑距离问题1498.4数字三角形问题1518.501背包问题1528.6习题154第9章贪心法1569.1概述1569.2活动安排问题1579.3贪心算法和动态规划算法关系1599.4最优装载问题1619.5最优分解问题1639.6单源最短路径问题1649.7习题168第10章回溯法17010.1概述17010.2从01背包问题看回溯法的算法框架17010.3装载问题17510.4批处理作业调度问题17710.5n皇后问题17910.6最小重量机器设计问题18110.7工作分配问题18210.8习题183附录各类软件竞赛184A.1计算机认证考试184A.2全国计算机等级考试184A.3计算机技术与软件专业技术资格水平考试185A.4ACM国际大学生程序设计竞赛185A.5蓝桥杯185A.6全国Java程序设计大赛186参考文献187
|
內容試閱:
|
前言
程序与算法作为程序设计语言学习的核心内容,本书的作者多年从事程序设计语言如VB、C、C、Python等和算法教学,发现学生在语法的学习上花费太多的精力,往往还不能领会到编写程序的真谛所在。因此,本书不讨论程序设计语言的语法细节,注重基本算法、基本理论、基本技能的教学,在内容的选取上力图精简,主要培养学生掌握程序设计的基本方法及提高其应用开发能力的思想。
本书共分10章,主要内容包括程序与算法、程序设计语言、数据结构、查找与排序、穷举法、递归法、分治法、动态规划法、贪心法、回溯法以及附录。
本书由周元哲、刘伟、邓万宇编写,其中,刘伟编写分治法、动态规划法、贪心法、回溯法章节,邓万宇编写数据结构、查找与排序章节,其余章节由周元哲编写,全书由周元哲负责本书大纲拟订与统稿工作。
学习计算机程序设计的最好方法是实践。本书采用Python、VB.NET和C等高级程序设计语言进行讲解,所有程序都在Visual C 6.0下调试运行通过。建议读者上机编写、运行和调试本书所给的例程。
西安邮电大学计算机学院的王玉清、孟伟君老师对本书的编写给予了大力的支持并提出了指导性意见,陈琳、郝羽等提出了很多宝贵的意见。清华大学出版社的张民老师对本教材的写作大纲、写作风格等提出了很多宝贵的意见。衷心感谢上述各位的支持和帮助。本书在写作过程中参阅了大量中外文的专著、教材、论文、报告及网上的资料,由于篇幅所限,未能一一列出。在此,向各位作者表示敬意和衷心的感谢。
本书可作为高等院校各专业学生学习程序设计和软件竞赛的教材或教学参考书,也可作为程序员和社会读者的自学辅助用书。由于作者水平有限,时间紧迫,本书难免有不足之处,我们诚恳期待读者的批评与指正,以使本书日臻完善。我们的电子信箱是zhouyuanzhe@163.com。
作者
2016年2月
|
|