随笔分类 - 思维和学习能力
思维、算法和学习能力才是核心竞争力
摘要:一 本书主线 阅读一本书应该是一个主动的过程,本书的实质在于强调主动阅读,并详细地给出了指导意见。用一句话概括本书的主旨的话,应该是 读任何书都应该带着问题阅读并能对阅读中看到的观点进行评价,这才能算得上前文说的主动阅读。二 本书脉络 本书主要围着两大主题进行组织,第一:按照阅读的四大层次进行介绍;...
阅读全文
摘要:2014年第一个月读的书是《罗辑思维》,很偶然的机会看到罗振宇的这个节目,感觉题材没那么新颖,但是内容还是可以的。互联网上需要不同的声音,不管你认不认同,百花齐放才是真正的互联网,这也是互联网的特质,任何人无论多草根都有发言的权力。我们每个人要根据自己的世界观,知识范围去选择性的吸收观点。至少不可否认的两点是,罗是个有梦想并且正在行动的读书人,二,尊重客观事实,有些观点还挺新颖,就像他自己常说的,他只是个搬书匠,虽然我不认同他或者他推荐书的一些观点,但是却很欣赏他的精神,特别是《罗辑思维》全书都专门把一些不同观点列出来,这点很赞。 本书思维导图如下: 就像书中最后一章说的,知识只有抱团,观点.
阅读全文
摘要:先发出第四章的总结是因为发现自己对数论更感兴趣些,所以选择了这章先读。本章难度不小,我这次只看了前6小节后面3个小节暂时不看,以后回过头来在看了。 4.1 整除性 本章最重要的定理便是扩展欧几里得,后面多次用到。 4.2 质数 这章让我充分认识到质数的重要性,以及它作为数论基石的原因。 4.3 质数举例 此节重点当然是质数的无穷性以如何获得质数了。 4.4 阶乘因子 4.5 互质 本节后面讨论了Stern-Brocot树,这里没列出。 4.6 同余 本章讨论了数论的主要的性质,虽然不能概括全部,但是也能起到一定了解作用,以后涉及到数论的时候也不会怕,至少知道怎么查了...
阅读全文
摘要:找完工后一直在想看什么书,仔细想想发现工作后可能不是很有时间来看一些很基础的数学类书籍了,所以就选中了具体数学,其实这本书好早就买了,只是没时间看罢了。以后会写一系列总结这本书上知识点以及一些想法的博文,当做备份吧。首先是第一章和第二章。 第一章 Recurrent Problem 这章讲了3个非常有意思的题目,分别是汉诺塔、平面切分以及约瑟夫环。作者试图通过这些问题的求解过程,来讲解解决问题的一些策略:从简单的例子入手,总结规律;类比思维;数学归纳法思想。特别是对约瑟夫环问题的求解,其给出了非常巧妙的二进制循环移位求解法,同时将其扩展成n进制。作者不仅仅用归纳解题,还常常讲解演绎的思...
阅读全文
摘要:最近一直在找工,博客都没怎么更新了,觉得也该总结和思考些东西了,于是便有了这篇文章。谈到面试题,其实它有很多种,有偏技术的(腾讯,淘宝问得多);有偏算法,逻辑和数学的(微软,谷歌,百度,阿里云等问得多)。我喜欢后者,最近也做了很多这方面的题目,围观了很多关注算法和面试题的博客,比如(july童鞋)。对于很多精妙的题目,常常在想这些出题的童鞋是怎么想到的,因为这些题目确实能够很深入的考察出一个面试者的逻辑,算法和思维功底。本文章主要是总结自己在做这些面试题和了解相应解法的过程中思考的一些东西,感觉这些东西在很多题目中都出现过,非常值得抽象出来专门理解。 一 双指针遍历 所谓双指针,是利用...
阅读全文
摘要:由于准备找工,最近也用零星的时间做了一些面试题,这道题属于偏难的那种了,之所以说它偏难,主要是因为按常规思维不容易得到最优解,更重要的是,此题的转化不容易想到。做过编程之美的同学都能了解到,很多题目都需要一种“转化”的思想,把问题转化为另一种已知的熟悉的问题去求解,这种思路在《如何解题》也是被提到了很多次,不过实施起来真的不容易。 一 题目描述: 有一个整数数组,请求出两两之差绝对值最小的值,只要求出最小值即可,不要求求出是哪两个数。 二 常规思路: 求解此题的寻常思路是什么?观察题目我注意到后面强调不要求求出两个数,那么最最简单的O(n^2)的算法显然做了很多无用功。嗯,好,既然...
阅读全文
摘要:今晚看到算法引论关于二分搜索的相关问题,想起了当年看编程珠玑的“无处不在的二分搜索”那章,记得作者说过能完全写对二分搜索的程序员寥寥无几,当时自己也写了下,确实不容易写,主要的难点在于写对,大致的框架可能大家都非常熟悉,但是里面的下标怎么确定是正确的呢?不对的下标很有可能造成死循环。不过,算法引...
阅读全文
摘要:最近由于想锻炼小型程序编写能力,所以打算做完USACO,当然这个是比较水的题目,但对于业余ACM爱好 者的我来说还是有一定难度的,拿来练手和学习还是很不错的。 Mother’s Milk是一个搜索的题目,总的来说难度不大,但是我在一开始的时候并没有那么轻易的看出状 态的转移方式,在状态转移那里卡了很久,一直在想怎么模拟这个倒水的过程?其实我是陷入题目的误 区,明知道是到搜索题目,就应该以搜索的...
阅读全文
摘要:寒假抽空看了下编程珠玑,最大的感受便是编程也是一门艺术,期间也引导我思考了一些问题,回学校后打算做一个总结,主要是根据编程珠玑后面的Algorithm附录总结了一下这本书里面的经典算法。1 辗转相减求最大公约数思想:最大公约数能整除i和j,则其一定也能整除i-j(if i>j)int gcd(int i, int j) { while(i != j) { if(i > j) i-=j; else j-=i; } return i; }2 快速求取x的n次方思想:充分利用了已经计算出来的数据防止重复计算来减少了算法运行时间function exp(x,n) //pre n>=0
阅读全文
摘要:问题起源于编程珠玑Column 12中的题目10,其描述如下: How could you select one of n objects at random, where you see the objects sequentially but you do not know the value of n beforehand? For concreteness, how would you read a text file, and select and print one random line, when you don’t know the number of lines in...
阅读全文
摘要:这两天看到编程珠玑第二章,关于习题2.3中说到杂耍算法执行gcd(i,n)次后即可停止,这里我想了很久为什么?书中提到的Swap Sections解决了我的疑惑,在明白为什么的时候真的 “啊哈”了一下,原来这样,感觉证明非常巧妙,不敢独享,所以复述如下。problem:rotate a one-dimensional vector of n elements left by i positions. For instance, with n=8 and i=3, the vector abcdefgh is rotated to defghabc.这个问题可以有三个巧妙的算法来解决(关于这三个
阅读全文
摘要:前段时间做了一个小型的连连看游戏,基本功能都实现了,做完后对里面的用到的算法印象深刻,特分享出自己的思维过程,我尽量还原自己的想法,由于我算法能力不强可能更倾向于普通大众的水平,所以可能很多人都会有启发:). 简单的连连看游戏基本界面如上图,这个问题来源于编程之美的1.14题,它要求我们设计出这样一个连连看游戏,考察的是里面最最基本的算法知识,当然,算法有了,写出这样一个游戏来本身不是很困难的事情。 先来了解下连连看的规则: 1 用户可以把两个相同的图用线连到一起,如果连线拐的弯不超过两个(可以等于)则表示可以消去。 2 当界面上所有的图片都消去后,则游戏胜利。 3 游戏的过程中可能
阅读全文
摘要:以前做过类似字符串的题目,当时觉得字符串也能用递归来做非常神奇,后来思考了下,觉得只要抓住字符串是由一个个字符组成的,从第一个字符到最后一个字符每一个都可以作为一次递归,把index作为参数传进去就行,以这种思想为指导才把此题解了出来。 对于每个字符只有两种情况,设当前字符串指针为x, 目标字符串指针为y: GetString(x,y)= GetString(x+1,y), 不取当前字符 ...
阅读全文
摘要:最近在复习算法,做了一下编程之美上面关于二叉树的三道题,感觉顺便就把二叉树总结下算了,于是就有了这篇文章,这些算法有些是自己思考出来的,比如重建二叉树,有些是以前的知识还有些是看了网上其它大牛总结而成,现在贴出来分享,希望大家指正。感觉算法的学习重要的不是算法本身而是算法背后的思想,就是一些本质上的东西,或者说思考的过程,这些才是真正重要的。对于二叉树来说,最重要的是它的递归特性,这是由它的定义决...
阅读全文