【像程序员一样思考】 读书笔记

通过梳理条件理清思路。

从最强约束条件入手。

如果没有意识到所有可以采取的动作,很可能无法解决问题。列举所有可能的操作,测试这些操作的每种组合,知道发现可行方案。

通过简化问题寻找解决办法。

通过抽象问题,与以往项目进行类比寻找解决办法。

一、制定计划

“我总是发现计划没什么用处,但计划仍是必不可少的”—艾森豪威尔

二、重新陈述问题

更形式化的陈述问题是一种非常出色的技巧,可以让我们拥有对问题更好的洞察力。

三、划分问题

四、从自己所知开始

五、削减问题

六、寻找类比

七、进行试验

八、调整状态、避免陷入挫折感

时间: 2024-10-15 00:43:55

【像程序员一样思考】 读书笔记的相关文章

《程序员密码学》读书笔记

这本书很不错,不过目前市面上已经找不到了,我也是机缘巧合之下才拿到这本书,花了一周多读完了这本书.如书本题目所示,作为程序员读读这本书挺好的.注:个人笔记,做的很随意,而且笔记时间久远,未加修饰就传上来了,主要目的是作为备忘. 1,DES被攻破的方法:差分密码分析,而AES可以抵抗这种攻击~ 2,分组密码等同于伪随机置换(PRP ):伪随机置换就是由算法创建的一种对符号的重新排列,一个安全的PRP目标是:对于仅知道部分置换是不足以以一个有效的概率来确定置换的其他部分. 3,散列函数等同于伪随机函

软考程序员新手易错笔记

1.●标准化对象一般可分为两大类:一类是标准化的具体对象,即需要制定标准的具体事物:另一类是  (4)  ,即各种具体对象的总和所构成的整体,通过它可以研究各种具体对象的共同属性.本质和普遍规律. (4) A.标准化抽象对象    B.标准化总体对象    C.标准化虚拟对象    D.标准化面向对象 [解析]:标准化对象一般可分为两类:一类是标准化的具体对象:另一类是标准化的总体对象. 2.●用二进制加法器对二-十进制编码的十进制数求和,当和大于1010时,  (5)  . (5) A.不需要

Java程序员的JavaScript学习笔记 (目录)

终于完结了,历时半个月. 内容包括: JavaScript面向对象特性分析,JavaScript高手必经之路. jQuery源码级解析. jQuery EasyUI源码级解析. Java程序员的JavaScript学习笔记(1——理念) Java程序员的JavaScript学习笔记(2——属性复制和继承) Java程序员的JavaScript学习笔记(3——this/call/apply) Java程序员的JavaScript学习笔记(4——this/闭包/getter/setter) Java

黑马程序员--java基础学习笔记5

黑马程序员--java基础学习笔记6 一.笔记内容概述: 数组-第二种定义格式.数组-常见操作-遍历-最值-选择排序-冒泡排序-排序位置置换代码提取.数组-排序的性能问题.数组-常见功能-查找-折半查找.进制转换-查表法-整合. 二.常用内容介绍: 1.数组初始化的三种方式: int[] arr = new int[3]; int[] arr = new int[]{1,2,3}; int[] arr = {1,2,3}; 2.查表法: 如果数据中出现了对应关系,而且对应关系的一方是有序的数字编

Java程序员的JavaScript学习笔记(14——扩展jQuery UI)

计划按如下顺序完成这篇笔记: Java程序员的JavaScript学习笔记(1--理念) Java程序员的JavaScript学习笔记(2--属性复制和继承) Java程序员的JavaScript学习笔记(3--this/call/apply) Java程序员的JavaScript学习笔记(4--this/闭包/getter/setter) Java程序员的JavaScript学习笔记(5--prototype) Java程序员的JavaScript学习笔记(6--面向对象模拟) Java程序员

Java程序员的JavaScript学习笔记(汇总目录)

终于完结了,历时半个月. 内容包括: JavaScript面向对象特性分析,JavaScript高手必经之路. jQuery源码级解析. jQuery EasyUI源码级解析. Java程序员的JavaScript学习笔记(1--理念) Java程序员的JavaScript学习笔记(2--属性复制和继承) Java程序员的JavaScript学习笔记(3--this/call/apply) Java程序员的JavaScript学习笔记(4--this/闭包/getter/setter) Java

《像一个程序员一样思考》读后感

这学期,我阅读了由斯堡尔(V.Anton Spraul)写的<像程序员一样思考>这本书.事实上由于时间不是很充裕,我只认真的阅读了第一章,后面的章节我大致的浏览了一下.但是,仅仅通过第一章,我觉得这本书已经让我学到了很多的东西.因为这章中的很多东西我之前都没有认真的思考过.从整体上来看,我觉得这本书其实可以被看做是一本高级程序设计语言的教材.不过相比于我们所用的教材,这本书给了我很不一样的感觉,我想对这本书和我们的教材做一个对比. 我觉得这本书最大的特点是更加注重对于思想方法的培养,就像这本书

程序员编程技术学习笔记——字符串包含

程序员编程技术学习笔记--字符串包含 1.题目描述 给定两个分别由字母组成的字符串A和字符串B,字符串B的长度比字符串A短.请问,如何最快地判断字符串B中所有字母是否都在字符串A里?为了简单起见,我们规定输入的字符串只包含大写英文字母,请实现函数boolStringContains(string &A, string &B) 比如,如果是下面两个字符串: String 1:ABCD String 2:BAD 答案是true,即String2里的字母在String1里也都有,或者说Strin

程序员的自我修养笔记

1,为什么内存需要分段和分页机制? 早起的计算机中,程序都是直接运行在物理内存上的.这样做有几个问题: 1)地址空间不隔离,计算机的安全性和稳定性没有办法保证,由于所有的程序都可以访问物理内存,恶意的程序可以很容易修改其他程序的内容,达到破坏的目的. 2)内存使用效率低,当前执行的程序(列入进程A)必须被整个装载到内存中执行,如果需要执行另一个程序时,发现内存空间不足,则需要将进程A的数据整体换出到磁盘. 3)程序运行的地址不确定 为了解决上述的三个问题,引入了虚拟地址.分段和分页的概念. 有了

《像程序员一样思考》

引言 <像程序员一样思考>是一本训练程序员编程思想的指导书.本书以向个经典难题开篇,提出一些编程中常用的思想方法,如重述.类比.划分.消减等.同时也提供一些具体的技巧,如利用数组.指针动态内存.类解决问题.着重提出了大递归的思想,以及善假于外物的思路.本书注重程序员自信心的培养,提倡利用现有方法解决未知问题的同时,也鼓励探索式自主学习新技术. 三个经典难题 狐狸.鹅和玉米过河问题:用重形式化的方式重述问题,更好地洞察问题.以程序化方式列出所有的操作,从而发现“被隐藏的”的可能操作,将这些方法操