王朝百科
分享
 
 
 

程序算法与技巧精选

王朝百科·作者佚名  2010-06-21  
宽屏版  字体: |||超大  

程序算法与技巧精选

作者:郭继展 郭勇 苏辉

ISBN:978-7-111-23816-4

出版社:机械工业出版社

出版日期:2008-5

页码:323 页

定价:36.00元

内容提要计算机科学是算法的科学。进行程序设计不仅需要掌握常用的算法、技术和方法,还要敢于创新、构思巧妙的算法和探索编程中的诸多技巧。

算法和技巧都需要学习、借鉴和交流。本书分17章,139个例题。书中介绍的算法和技巧涉及到随机数函数理论,基础数论,新意幻方,提高程序运行速度和精度,特定数据排序,穷举、递推、递归和迭代等诸多方面。这些算法和技巧大多是作者历年从事教学、软件开发、学术研究和学习的成果总结。

本书内容不涉及计算机专业课程的诸多概念、理论,读者之需要学过c语言,有算法、结构化程序设计和逻辑表达式的概念,并有独立上机编制30条左右语句小程序的经验,就能够掌握书中的程序设计思想、算法和技巧,并能举一反三,推广应用,是自己的编程水平上一个台阶。

本书可作为大专院校师生和计算机编程人员或自学人员参考。

编辑推荐巧算π值10000位

哥德巴赫猜想的筛法验证

统计法排序——百万整整只需1秒

计算机辅助数学证明——3个数学黑洞

辅助解智力测验题——12只球中挑坏球

应用程序增加智能——显示解题过程和精确解

内容选读第1章算法——程序的灵魂

1.1计算机科学是算法的科学

1.什么是算法

算法是对特定问题求解步骤的一种描述,包含操作的有限规则和操作的有限序列。

通俗一点讲,算法就是一个解决问题的公式(数学手册上的公式都是经典算法)、规则、思路、方法和步骤。算法可以用自然语言描述,也可以用流程图描述,但最终要用计算机语言编程,上机实现。

有些问题算法是简单的,手算人人都会,但编程上机实现却很难(本书将对这一问题做较多的讨论)。例如求100位数的四则运算,求线性方程组的精确解等。一个成功的算法,应该有良好的速度、精度和清晰度。

人没有算法,计算机也无能为力。算法错了,计算机将误入歧途。20世纪初的数学家希尔伯特提出了23个问题。一个世纪过去了,有的问题还没有解决,就是因为数学大师们仍找不到一个合适的算法。从这一点讲,计算机的理论基础是数学。

2.好的算法具备的属性

(1)确定性。算法应当满足具体问题的需求,正确反映问题对输入、输出和加工处理等方面的要求。第一条指令必须有确定的含义和作用,对于相同的输入必须得出相同的执行结果。

(2)有限性。算法中每条指令的执行次数是有限的,执行时间也是有限的。算法执行有限步后必然结束,不能要求无休止地执行下去。如近似计算,当达到要求的精度或要求的计算数时,即可停止。

……

目录出版说明

前言

第1章算法——程序的灵魂

1.1计算机科学是算法的科学

1.2算法是有多样性

1.3奇妙算法是智慧的结晶

1.4穷举法——编程的瑰宝

第2章随机数函数——计算机模拟的基石

2.1高质量的均匀分布的随机函数

2.2八种常用的随机数函数

第3章数组——设计算法的重要手段

3.1百灯判熄——数组元素变号代替开关

3.2打印杨辉三角形——数组元素相加胜过组合

3.3新战士的年龄——数组嵌套妙比数字

3.4巧排螺旋数阵——数组下标灵活表旋向

3.5小孩子围圈分糖块——数组下标灵活表旋向

3.6猜数四问——一维数组列方阵

第4章整数问题——问题简明算法有难易

4.1徒工工资数——数有特点算法有创新

4.2古稀数——循序渐进连环验证

4.3巧算国王分财物——由部分推知全体

4.4六位的翻两番数——多个未知数巧合作一个

4.6孙子问题——真谛原本在“求一”

4.7完全数——全赖欧氏定理领航

4.7亲和数——因子试算只到平方根

4.8自守数——两位连推到十位

第5章平方数问题——算法多从数的平方入手

5.1一数三平方数——数组元素预算平方

5.2卡普列加数——推导公式简化编程

5.3勾股数组——觅公式算法直接得解

5.4巧妙验证四个平方数和的定理——一用筛法(数组作筛)

5.5十数字组四个平方数——巧用回退

5.6金蝉平方数——“脱壳”组数

5.7连解佩尔方程——测试细节不容忽视

第6章素数问题——让古老算法结新果

6.1筛一亿内的素数——二用筛法

6.2哥德巴赫猜想验证——三用筛法

6.3求费尔马“二平方”素数——“滚雪球”式地得到所使用的素数

6.4回文式素数——依然含有诸多猜想

6.5双向环形素数——循环移位组数判断

6.6趣谈莫林素数——突显计算机、网络的魅力

第7章用算法提高程序的运行速度

7.1求百万内回文式素数——优化求解顺序提高速度300倍

7.2百鸡问题——减少循环重数提高速度5000倍

7.3求自幂数——用数组预作乘法提高速度100倍

7.4组合平方数——条件化为位运算表示提高速度100000倍

……

第8章用算法提高程序的运算精度

第9章特定数据排序——设计特效算法

第10章取用计算机的几种编码

第11章递推、递归和迭代——三种基本算法

第12章逻辑推理——设计符合计算机的简捷算法

第13章使应用程序增加智能——显示解题过程和精确解

第14章幻方新意新解——提出问题力求解决问题

第15章计算机辅助解智力测验题

第16章计算机辅助数学证明

第17章必须警惕计算机犯错误

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
如何用java替换看不见的字符比如零宽空格​十六进制U+200B
 干货   2023-09-10
网页字号不能单数吗,网页字体大小为什么一般都是偶数
 干货   2023-09-06
java.lang.ArrayIndexOutOfBoundsException: 4096
 干货   2023-09-06
Noto Sans CJK SC字体下载地址
 干货   2023-08-30
window.navigator和navigator的区别是什么?
 干货   2023-08-23
js获取referer、useragent、浏览器语言
 干货   2023-08-23
oscache遇到404时会不会缓存?
 干货   2023-08-23
linux下用rm -rf *删除大量文件太慢怎么解决?
 干货   2023-08-08
刀郎新歌破世界纪录!
 娱乐   2023-08-01
js实现放大缩小页面
 干货   2023-07-31
生成式人工智能服务管理暂行办法
 百态   2023-07-31
英语学习:过去完成时The Past Perfect Tense举例说明
 干货   2023-07-31
Mysql常用sql命令语句整理
 干货   2023-07-30
科学家复活了46000年前的虫子
 探索   2023-07-29
英语学习:过去进行时The Past Continuous Tense举例说明
 干货   2023-07-28
meta name="applicable-device"告知页面适合哪种终端设备:PC端、移动端还是自适应
 干货   2023-07-28
只用css如何实现打字机特效?
 百态   2023-07-15
css怎么实现上下滚动
 干货   2023-06-28
canvas怎么画一个三角形?
 干货   2023-06-28
canvas怎么画一个椭圆形?
 干货   2023-06-28
canvas怎么画一个圆形?
 干货   2023-06-28
canvas怎么画一个正方形?
 干货   2023-06-28
中国河南省郑州市金水区蜘蛛爬虫ip大全
 干货   2023-06-22
javascript简易动态时间代码
 干货   2023-06-20
感谢员工的付出和激励的话怎么说?
 干货   2023-06-18
 
>>返回首页<<
 
 
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有