像程序员一样思考 记录

看书,了解一些未知的东西和思想
加入一个优秀的团队,成为其中的一份子
财务自由
创建一个管道,不停的赚钱
接一些有兴趣的项目
无休无止的码农工作

农夫  狐狸   鹅  玉米

分析: 三样物品,只可以讲狐狸、玉米留在一块,所以第一步只能运鹅
农夫     
1  把鹅 运过去
2  把狐狸 运过去,把鹅领过来
3  把玉米运过去
4 把鹅运过去  

8滑块问题   串列技巧  问题细分
数独游戏:搜索那些可能出现的值最少的空格,在最理想的情况,就是只剩下一个空格。


123456789
234567891
345678912
456789123
567891234
678912345
789123456
891234567
912345678
错的

如果问题的某个部分具有很强的约束条件,很可能应该从这一部分开始着手。

插入排序 打牌游戏,下一张牌呗插入到前面升序的牌中。
众数(Mode)统计学名词,在统计分布上具有明显集中趋势点的数值.  柱状图
中位数是位于中间的值,数据集中有一半的数大于这个值,另一半的数小于这个值。

固定数组 标点符号解码  营业执照门槛和价格
非标量数组: 结构和对象   最大学生成绩和名字

解决问题的一些规则
1 总是要制定计划,确定的推断出不确定的,中期目标可衡量,增加信心,减少挫折感
2 重新陈述问题
3 划分问题
4 从自己所知的开始。当我们用自己所掌握的技巧对一个问题进行研究时,可以更好地理解这个问题本身以及它的最终目标。
5 削减问题
6 寻找类比
7 试验
8 避免陷入挫折感

使用指针情况: 1 无法准确地估计数据的数量时  2 需要一个能够在程序执行时增长和收缩的数据结构时  3 程序中需要传递大型对象或其他数据块时。
堆: 碎片化。 例如:销毁了B变量,它所留下的空隙只有在以后所请求的内存小于或等于B时才能被分配。或者等到A或C被销毁之后。
内存泄漏  幽灵指针 重复销毁
链接字符串或字符。  方法:字符串末尾用0表示结束符。 0在ascii中表示null
函数空壳 示例调用 便于测试。
链表:学生纪录链表,在头部添加新纪录 和求平均值   链表为空时,求平均值要注意被除数问题,为空直接返回0.

类: 封装把相关的东西包装在一起。封装允许我们更方便地复用以前问题的代码。类可以将问题细分
C++对C的主要扩展并不是语言的功能,而是使源代码更容易为程序员所阅读。
递归解决问题: 一般方法 会泄漏信息。如统计不同等级的职工的总客户收益。  递归沟通少,还保密。
大递归思路:他们所关注的是结果而不是过程。
代码复用:

原文地址:https://www.cnblogs.com/dqxu/p/4794569.html