具体描述
这本书收集了约60道算法和程序设计题目,这些题目大部分在近年的笔试、面试中出现过,或者是被微软员工热烈讨论过。作者试图从书中各种有趣的问题出发,引导读者发现问题,分析问题,解决问题,寻找更优的解法。本书的内容分为下面几个部分:
(1)游戏之乐:从游戏和其他有趣问题出发,化繁为简,分析总结。
(2)数字之魅:编程的过程实际上就是和数字及字符打交道的过程。这一部分收集了一些好玩的对数字进行处理的题目。
(3)结构之法:汇集了常见的对字符串、链表、队列,以及树等进行操作的题目。
(4)数学之趣:列举了一些不需要写具体程序的数学问题,锻炼读者的抽象思维能力。
书中绝大部分题目都提供了详细的解说。 每道题目后面还有一至两道扩展问题,供读者进一步钻研。
书中还讲述了面试的各种小故事,告诉读者微软需要什么样的技术人才,重视什么样的能力,如何甄别人才。回答读者关于IT业面试,招聘,职业发展的疑问。这本书的很多题目会出现在IT 行业的各种笔试、面试中,但这本书更深层的意义在于引导读者思考,和读者共享思考之乐,编程之美。
作者简介
目录信息
1.1 让CPU占用率曲线听你指挥
1.2 中国象棋将帅问题
1.3 一摞烙饼的排序
1.4 买书问题
1.5 快速找出故障机器
1.6 饮料供货
1.7 光影切割问题
1.8 小飞的电梯调度算法
1.9 高效率地安排见面会
1.10 双线程高效下载
1.11 NIM(1)一排石头的游戏
1.12 NIM(2)“拈”游戏分析
1.13 NIM(3)两堆石头的游戏
1.14 连连看游戏设计
1.15 构造数独
1.16 24点游戏
1.17 俄罗斯方块游戏
1.18 挖雷游戏
第2章 数字之魅--数字中的技巧
2.1 求二进制数中1的个数
2.2 不要被阶乘吓倒
2.3 寻找发帖“水王”
2.4 1的数目
2.5 寻找最大的K个数
2.6 精确表达浮点数
2.7 最大公约数问题
2.8 找符合条件的整数
2.9 斐波那契(Fibonacci)数列
2.10 寻找数组中的最大值和最小值
2.11 寻找最近点对
2.12 快速寻找满足条件的两个数
2.13 子数组的最大乘积
2.14 求数组的子数组之和的最大值
2.15 子数组之和的最大值(二维)
2.16 求数组中最长递增子序列
2.17 数组循环移位
2.18 数组分割
2.19 区间重合判断
2.20 程序理解和时间分析
2.21 只考加法的面试题
第3章 结构之法--字符串及链表的探索
3.1 字符串移位包含的问题
3.2 电话号码对应英语单词
3.3 计算字符串的相似度
3.4 从无头单链表中删除节点
3.5 最短摘要的生成
3.6 编程判断两个链表是否相交
3.7 队列中取最大值操作问题
3.8 求二叉树中节点的最大距离
3.9 重建二叉树
3.10 分层遍历二叉树
3.11 程序改错
第4章 数学之趣--数学游戏的乐趣
4.1 金刚坐飞机问题
4.2 瓷砖覆盖地板
4.3 买票找零
4.4 点是否在三角形内
4.5 磁带文件存放优化
4.6 桶中取黑白球
4.7 蚂蚁爬杆
4.8 三角形测试用例
4.9 数独知多少
4.10 数字哑谜和回文
4.11 挖雷游戏的概率
· · · · · · (收起)
读后感
这本书第一版的内容介绍不是现在这个样子,但是为了配合图书宣传,对文案进行了修改才印成铅字。原稿如下: 自计算机与软件出现以来,在近半个世纪里,软件开发所能衍生出的无限创意,深深吸引着全世界的青年。在二进制的世界里,这帮年轻的程序员充分发挥自己的热情和想像力...
(1)81页,第一行程序:“return (n != (long)floor(y - x) * a)”,其中的“n”应为“x”; (2)130页,第1段最后一行:“算法的时间复杂度为O(N*LOGN + N)”。最好再加上半句:“即:O(N*LOGN)”。 (3)230页,图之后解题思路第一步,最后一句“并更新Seq数组”。——这个...
花了一晚上看完了《编程之美--微软技术面试心得》,里面要么是些智力题,要么是些稀里古怪的问题,都值得我们思考,题目描述也很有意思。解答也很精彩,一般都会给出好几个方法,极力荐之!! 还有个感觉就是搞acm的在这方面绝对是有优势的,只要能有面试机会,像里面的面试题...
(1)81页,第一行程序:“return (n != (long)floor(y - x) * a)”,其中的“n”应为“x”; (2)130页,第1段最后一行:“算法的时间复杂度为O(N*LOGN + N)”。最好再加上半句:“即:O(N*LOGN)”。 (3)230页,图之后解题思路第一步,最后一句“并更新Seq数组”。——这个...
《编程之美》是一本由微软亚洲研究院多位工程师合著、博文视点出品的一本专门介绍有关微软面试的图书,一本非常有趣的书。 一如优秀的软件产品到UI,《编程之美》给读者带来的是很棒的阅读体验:几乎每页都有言简意赅的示例代码和一目了然的配图,没有长篇累牍的文字拷问读者...
用户评价
我是一个对计算机科学的底层原理和算法设计非常着迷的学生,一直以来都在寻找能够深入剖析这些内容的书籍。《编程之美》这个书名,让我觉得它可能会触及到我一直以来所探求的那些编程中的“硬核”知识。我之前读过一些关于算法的书,但很多时候都只是停留在理论层面,对于如何将这些理论转化为实际高效的解决方案,总觉得还有些隔阂。我希望这本书能够提供一些非常具体、有说服力的例子,来展示那些经典的算法和数据结构是如何被巧妙地运用在解决实际问题的过程中的。而且,我也想知道,在这本书的作者眼中,“编程之美”到底体现在哪些方面?是代码的简洁性?是逻辑的严谨性?还是解决问题的效率?我迫切地想通过这本书,了解那些“别人家的代码”为什么能写得那么漂亮,那么富有“灵魂”。
这本书的封面设计就有一种独特的质感,那种低调却又充满力量的设计风格,瞬间就吸引了我。我是一名已经工作了几年的程序员,虽然日常工作中接触到的都是一些相对固定的业务逻辑和技术栈,但我总感觉自己缺少了那么一点“点石成金”的能力,总是感觉在某些时候,代码的运行效率或者解决问题的思路不够优雅。我常常在想,那些大神们是如何在看似复杂的场景下,挥洒自如地写出简洁高效的代码的?这本书的书名,《编程之美》,就给我一种暗示,它可能不仅仅是传授一些“怎么做”,更在于揭示“为什么这么做”背后的逻辑和美学。我期待它能提供一些我从未设想过的解决问题的角度,或者是一些在现有技术框架下,可以进一步优化的思路。或许,它会让我对“代码即艺术”这句话有更深的理解。我也希望书中能有一些案例分析,能够让我对照着自己的实际工作,找到可以改进的地方,让我的编程生涯不仅仅是完成任务,更能是一种自我提升和创造的过程。
拿到《编程之美》这本书,我第一感觉就是它似乎不像市面上那些泛泛而谈的编程入门书籍。它的名字本身就透着一股子不寻常,仿佛在宣告它要触及的是编程的本质,是那些隐藏在代码之下的精妙设计和深刻哲理。我最近在学习一些新的编程语言和框架,虽然已经掌握了基本的语法和API,但总感觉在理解层面还不够透彻,尤其是在处理一些性能瓶颈或者复杂算法时,总是感觉力不从心。我非常希望这本书能够给我带来一些“醍醐灌顶”的启发,能够让我站在一个更高的维度去审视代码,去理解那些被广泛采用的编程范式和设计模式。我尤其期待书中能有一些关于“工程思维”的探讨,因为我知道,好的编程不仅仅是写出能运行的代码,更重要的是写出易于维护、可扩展、高性能的代码,而这背后需要的是一种宏观的思考和规划。如果这本书能在这方面有所建树,那对我来说就非常有价值了。
我对编程的热爱,更多地源于对解决问题和创造事物的渴望。编程对我来说,不仅仅是敲击键盘,更是一种思维的锻炼和能力的体现。而《编程之美》这本书,从名字上就给我一种耳目一新的感觉,它似乎预示着这本书将带我超越简单的语法学习,去探索编程背后更深层次的智慧。我一直对那些能够用精妙算法解决复杂问题的案例感到由衷的钦佩,也希望自己能拥有这样的能力。这本书能否为我打开一扇新的窗户,让我看到编程的更多可能性?比如,它是否会介绍一些能够大幅提升开发效率的工具或者方法论?又或者,它是否会揭示一些能够让代码运行得更快的“秘籍”?我更希望它能帮助我培养一种“巧思”,让我能够从不同的角度去思考问题,设计出更具艺术性和实用性的解决方案,让我的编程之路更加顺畅和充满乐趣。
刚拿到《编程之美》,这本书厚实得有点压手,拿到手的时候就感觉沉甸甸的,这让我对里面的内容充满了期待。我一直觉得编程的世界就像一座宝藏,里面藏着无数令人惊叹的智慧和技巧,而这本书的名字恰恰击中了我的心坎——“编程之美”,这是一种怎样的美学追求,又是一种怎样的境界呢?我迫不及待地翻开了第一页,想一探究竟。书中的排版设计也很舒服,字体大小适中,行间距也恰到好处,读起来不会感到疲惫。而且,它的内容介绍里提到了许多我之前只是听说过,但从未深入了解过的编程领域,比如一些算法的巧妙应用、一些经典问题的趣味解析,甚至还有一些关于编程思想的升华。我尤其对书中那些“道”与“术”相结合的内容很感兴趣,毕竟,光有“术”是远远不够的,理解背后的“道”才能让编程真正变得有生命力。我希望这本书能带领我领略到编程的逻辑之美、效率之美,甚至是艺术之美,让我在代码的世界里找到属于自己的那份独特感受。
没看完校招就结束了……
没看完校招就结束了……
现如今面试笔试和这本书的内容息息相关,不得不重新品味一番。自己的算法功底还是较欠缺,急不得,急不得。
无法评分
现如今面试笔试和这本书的内容息息相关,不得不重新品味一番。自己的算法功底还是较欠缺,急不得,急不得。