编程之美 2.10 扩展问题题目如下:
如果需要找出N个数组中的第二大数,需要比较多少次呢?是否可以使用过类似的分治思想来降低比较的次数呢?
解法一
我们最容易想到的方法就是:我们数组进行排序,取倒数第二个数即为所求。但是比较次数是很高的,不可取。
解法二
用2个中间变量来保存最大值和第二大的值,遍历一次数组即可得到最大值和第二大的值。比较次数为:2*N...
分类:
其他好文 时间:
2015-07-02 19:32:58
阅读次数:
103
一排石子的游戏转载:编程之美-MIN(1)一排石头的游戏1. 原题1.1 题目N块石头排成一行,每块石头有各自固定的位置。两个玩家依次取石头,每个玩家每次可以取其中任意一块石头,或者相邻的两块石头,石头在游戏过程中不能移位(即编号不会改变),最后能将剩下的石头一次取光的玩家获胜。这个游戏有必胜策略吗...
分类:
其他好文 时间:
2015-06-29 22:10:08
阅读次数:
116
参考链接:【编程之美】双线程高效下载[编程之美]双线程高效下载编程之美--多线程高效下载的问题编程之美——双线程高效下载【编程之美】双线程高效下载
分类:
编程语言 时间:
2015-06-29 19:53:01
阅读次数:
118
转载:编程之美_1.5_快速找出机器故障题目:假设一个机器只存储一个标号为ID的记录,假设每份数据保存2个备份,这样就有2个机器存储了相同的数据。其中ID是小于10亿的整数问题1、在某个时间,如果得到一个数据文件ID的列表。是否能够快速的找到这个表中仅出现一次的ID?即快速找出出现故障的机器存储的数...
分类:
其他好文 时间:
2015-06-26 17:59:56
阅读次数:
92
编程之美的第一章的第15节,讲的是构造数独,一开始拿到这个问题的确没有思路, 不过看了书中的介绍之后, 发现原来这个的求解思路和N皇后问题是一致的, 但是不知道为啥,反正一开始确实没有想到这个回溯法,知道是用回溯法求解之后,问题就变得容易了很多。
这里我们不打算实现数独的构造,相反的,我们实现一个数独求解器,以后妈妈再也不用担心我的数独了。当然求解器的思路和构造数独的思路一样,都是回溯法搜索,这里...
分类:
编程语言 时间:
2015-06-25 12:22:01
阅读次数:
199
编程之美 2.9 斐波那契(Fibonacci)数列斐波那契的递归表达式如下
F(n)=F(n-1)+F(n-2) n>=2
F(1)=1
F(0)=0
书中提到了三中解决方法...
分类:
其他好文 时间:
2015-06-25 09:01:36
阅读次数:
107
关于软件工程概论这节课,一是挺有意思的,老师讲课慷慨激昂,非常有热情;二是节奏挺紧张的,老师用编程之美这本书里的习题来做课堂作业,提高我们自己动脑编程的思维和感觉;三是开始锻炼我们团队合作的精神和意识,这一点,在其他课程的分工方面的帮助显而易见。由于老师在暑假期间就让我们通读了课本,所以我们上课的时...
分类:
其他好文 时间:
2015-06-23 07:32:33
阅读次数:
95
该书的题目一部分来源于几位作业平时想出来的,一部分来源于平时的实践和讨论,无论是什么题目,都有着不同的算法,不同的算法有着不同的时间复杂度,可以进行不一样的优化,在这本书里,作者每一个题目都不止给出一个算法,并且把每一个算法的优劣都进行了一遍解说,给了我不一样的启迪。书中的很多题目都已经成为了业界讨...
分类:
其他好文 时间:
2015-06-22 22:00:37
阅读次数:
205
一个完美程序的编写不是一朝一夕就可以完成的,它包括大量的基础知识的学习,包括熟练编程语言,熟悉编程环境和编程工具,对数据结构和算法有清晰的认识等等,也需要有缜密的逻辑思维能力和良好的数理基础,在宏观上把握程序的流程。我们只有通过自己的调试,通过自己的修改代码,才能加深对技术的认知,我觉得有思考的东西...
分类:
其他好文 时间:
2015-06-22 21:57:19
阅读次数:
112
读完《编程之美》后,我觉得这并不是简简单单的一本有关于编程的书,本书强调的不仅仅是程序或者考题本身,而是思维。这就和小学时看到数学奥林匹克竞赛的题一样,重要的不是套路或者定式,而在于独立思考时被自己激活的无数脑细胞。对于程序,也是一样,思维,才是程序的精髓所在。正如作者所言,书中展现的题目和分析,犹...
分类:
其他好文 时间:
2015-06-22 21:54:39
阅读次数:
191