像程序员一样思考
- 资料大王PDF
-
0 次阅读
-
0 次下载
-
2024-10-23 23:07:19
微信
赏
支付宝
文档简介:
目录
版权信息
作者简介
译者简介
版权声明
内容提要
致谢
前言
本书内容简介
对本书的赞誉
第1章 解决问题的策略
1.1 经典难题
1.1.1 狐狸、鹅和玉米
1.1.2 瓷砖滑块问题
1.1.3 数独
1.1.4 Quarrasi锁
1.2 基本的问题解决技巧
1.2.1 总是要制订计划
1.2.2 重新陈述问题
1.2.3 划分问题
1.2.4 从自己所知的开始
1.2.5 削减问题
1.2.6 寻找类比
1.2.7 试验
1.2.8 避免陷入挫折感
1.3 习题
第2章 纯粹的难题
2.1 本章所使用的C++简述
2.2 输出图案
2.3 输入处理
2.4 追踪状态
2.5 结论
2.6 习题
第3章 用数组解决问题
3.1 数组基础知识概述
3.2 用数组解决问题
问题:寻找众数
3.3 固定数据的数组
3.4 非标量数组
3.5 多维数组
3.6 决定什么时候使用数组
3.7 习题
第4章 用指针和动态内存解决问题
4.1 指针基础知识回顾
4.2 指针的优点
4.2.1 运行时确定长度的数据结构
4.2.2 可改变长度的数据结构
4.2.3 内存共享
4.3 什么时候使用指针
4.4 内存细节
4.4.1 堆栈和堆
4.4.2 内存的大小
4.4.3 生命期
4.5 解决指针问题
4.5.1 可变长度的字符串
4.5.2 链表
4.6 结论和未来的步骤
4.7 习题
第5章 用类解决问题
5.1 类的基础知识回顾
5.2 使用类的目的
5.2.1 封装
5.2.2 代码的复用
5.2.3 问题的细分
5.2.4 信息隐藏
5.2.5 可读性
5.2.6 表达能力
5.3 创建一个简单的类
5.3.1 问题:班级花名册
5.3.2 基本的类框架
5.3.3 支持方法
5.4 具有动态数据的类
5.5 需要避免的错误
5.5.1 假类
5.5.2 单功能
5.6 习题
第6章 用递归解决问题
6.1 递归基础知识回顾
6.2 头递归和尾递归
6.3 大递归思路
6.4 常见的错误
6.4.1 过多的参数
6.4.2 全局变量
6.5 把递归应用于动态数据结构
6.5.1 递归和链表
6.5.2 递归和二叉树
6.6 包装器函数
6.7 什么时候选择递归
递归的对比
6.8 习题
第7章 通过代码复用解决问题
7.1 良好的复用和不良的复用
7.2 组件基础知识回顾
7.3 创建组件的基础知识
7.3.1 探索式学习
7.3.2 根据需要学习
7.4 选择组件类型
7.5 习题
第8章 培养程序员的思维
8.1 创建自己的总体计划
8.1.1 扬长避短
8.1.2 制订总体计划
8.2 处理任何问题
8.2.1 问题:绞型者作弊程序
8.2.2 寻找作弊方法
8......
评论
发表评论