用户
 找回密码
 立即注册
搜索

[讨论] 要闭关写书了!发个目录给大家看看!

[复制链接]

21

主题

178

帖子

59

积分

注册会员

Rank: 2

积分
59
QQ
发表于 2006-6-24 14:13:00
要闭关写书了!发个目录给大家看看!
大家看看怎么样?前面是讲C++,后面讲数据结构与算法。有什么不妥的地方吗?括号中的英文又不准确的吗?欢迎提提意见!
Effective NOIP
全国信息学奥林匹克联赛实效教程

目录:

感谢
第0章 前言:本书的目标
第1章 感受C++的力量:真正程序员的语言
1.1 C++简史
1.2 高效的C++
1.3 不仅是面向对象 //基于过程、基于对象、面向对象、泛型编程
1.4 强大至极点的C++标准库(Standard Library)
第2章 实效NOIP初探以及本书纵览
2.1 做一个注重实效的程序员(Pragmatic Programmer)
2.2 NOIP对你的要求
2.3 实效NOIP初探
2.4 本书内容纵览
2.5 如何学习本书
第3章 你能获取和应当获取的资源
3.1 C++程序员的必读书目
3.2 竞赛辅导书目
3.3 网络资源推介
第4章 C++基础:基于过程(Precedure-Based)和基于对象(Object-Based)
4.1 基础中的基础
  4.1.1 Hello, C++! Hello, NOIP!
  4.1.2 变量(valiant)的定义、声明(seclaration)与初始化(initallization)
  4.1.3 内置类型(vuilt-in types)初探
  4.1.4 操作符(operator)与表达式(expression)
  4.1.5 命名空间(namespace)与using声明(declaration)
  4.1.6 简单输入(input)/输出(output)
  4.1.7 文件的读取(read)与写入(write)
  4.1.8 C与C++风格的注释
4.2 语句(statement)与控制流程(control flow)
  4.2.1 简单语句(simple statement)和复合语句(compound statement)
  4.2.2 条件语句(condition statement):if-else和switch
  4.2.3 循环语句(loop statement):while和for
  4.2.4 循环的控制语句:break和continue
4.3 数组(array)和字符串(string)
  4.3.1 数组:一“队”对象
  4.3.2 字符串:一段文字
4.4函数(function)与过程抽象(procedure abstraction)
  4.4.1 函数的概念与简单示例
  4.4.2 形参(parameter)与实参(argument)
  4.4.3 return关键字
  4.4.4 变量的作用域(scope)
  4.4.5 将数组传递(pass)给函数
  4.4.6 函数的重载(overload)
  4.4.7 隐式(implicit)类型转换与二义性(ambiguity)
  4.4.8 函数的调用(call)与递归(recursion)
4.5 类(class)与对象(object)
  4.5.1 类的定义(definition)、接口(interface)与实现(implement)
  4.5.2 类与对象的辨析
  4.5.3 存取函数(access function)还是数据成员(data member)
  4.5.4 对象的创建(create)与销毁(destroy):构造函数(constructor)与析构函数(destructor)  \\特例:带一个参数的构造函数,explicit关键字
  4.5.4 对象的赋值(assign)、传递(pass)和返回(return)
  4.5.5 拷贝构造函数(copy constructor)
  4.5.6 this关键字
  4.5.7 两种特殊的类型:结构(struct)与共用体(union)
4.6 更多关键字(keyword)和操作符
  4.6.1 const关键字:不仅用来定义常量(constant)
  4.6.2 static关键字:静态类(static class)和静态对象(static object)
  4.6.3 register,inline关键字:优化程序执行
  4.6.4 enum关键字:使用枚举提高程序清晰度
  4.6.5 typedef关键字:命名类型的别名
  4.6.6 多重赋值和复合赋值(compound assignment)
  4.6.7 按位(bitwise)操作符:按位与(AND)“&”、按位或(OR)“|”、按位非(NOT)“~”、右移(shift right)“>>”、左移(shift left)“<<”
  4.6.8 逗号“,”操作符
4.7 引用(reference)与指针(pointer)
  4.7.1 引用:本质是变量的别名
  4.7.2 指针与有关操作符:解引用(dereference)“*”、取址(address-of)“&”、箭头(arrow)“->”
  4.7.3 函数的优化(optimize):传递或返回引用和指针 //何时不应返回引用或指针
  4.7.4 另一种指针:函数指针(function pointer)
4.8 操作符重载(operator overload)与友元(friend)
  4.8.1 操作符重载的本质和可以重载的操作符
  4.8.2 重载赋值操作符(assignment operator)
  4.8.3 重载算术操作符(arithmetic operator)
  4.8.4 重载自增(increment)“++”、自减(decrement)“--”操作符
  4.8.5 重载下标(subcript)“[]”、函数调用(function call)“()”操作符
  4.8.6 重载new及delete操作符
  4.8.7 重载流操作符“<<”“>>”及友元
4.8 小结与练习
第5章 C++进阶:面向对象(object-oriented)和泛型编程(generic programming)
5.1 动态内存分配:new与delete,堆栈(stack)与堆(heap)
5.2 继承(inheritance)与多态(polymorphism):OOP的灵魂
  5.2.1 继承与基类访问控制:public、private、protected关键字
  5.2.2 构造函数、析构函数与继承
  5.2.3 多层结构(hierarchy)和多重继承(multiple inherence)
  5.2.4 指针与继承、虚函数(virtual function)与多态性
  5.2.5 纯虚函数(pure virtual function)与抽象类(abstract class)
  5.2.6 组合(composition)还是继承?“有一个(have-a)”还是“是一个(is-a)”或者“用...实现(is-implemented-in-terms-of)”?
5.3 模板函数(template function)和模板类(template class)
  5.3.1 模板函数
  5.3.2 模板类
5.4 typeid()操作符和类型转换(cast)
5.5 实用库函数和内置类
  5.5.1 字符串操作
  5.5.2 I/O操作
  5.5.3 其它实用库函数
  5.5.4 静态stream类;cout、cin详解
  5.5.5 一种智能指针(smart pointer):auto_ptr
  5.5.6 Pair类型与make_pair()函数
  5.5.7 numeric_limits类:封装数值限制
5.6 小结与练习
第6章 标准模板库(STL)
6.1 泛型(generic)与STL的基本概念  //STL的一条原则,凡是能被当作XX使用的都是XX。
6.2 容器(container)与容器适配器(container adapter)
6.3 迭代器(iterator)与迭代器适配器(iterator adapter):不仅是泛型指针
6.4 泛型算法(generic algorithm)与函数对象(function objedct)
6.5 数字类:复数(complex)和向量(valarray)
6.6 与STL相关的实用库函数
6.7 小结与练习
第7章 惊呼!线性数据结构(Sequence Data Structure)如此简单
6.1 线性数据结构的概念
  6.1.1 链表(Linked List)
  6.1.2 队列(Queue)和栈(Stack)
6.2 用STL实现线性数据结构
6.3 小结与练习
第8章 树(Tree)
6.1 树的基本概念
6.2 二叉树(Binary Tree)
  6.2.1 二叉树的定义与存储结构
  6.2.2 二叉树的三种遍历(Search)
  6.2.3 二叉排序树(Binary Sort Tree)
  6.2.4 最优二叉树(Huffman Tree)
  6.2.5 用二叉树表示多叉树(Multiple Tree)或森林(Forest)
6.3 小结与练习
第9章 图(graph)
6.1 图的基本概念与存储结构
6.2 图的两种遍历
6.3 图的最小生成树(Minimum Spanning Tree)
6.4 最短路径(Shortest Path)与连通性(Connectivity)
  6.4.1 Dijakstra算法
  6.4.2 Floyd算法
  6.4.3 连通性与最大连通子图(Maximum Connected Subgraph)
6.5 图的拓扑排序(Topological Sort)与关键路径(Critical Path)
6.6 图论模型的转化
6.7 小结与练习
第10章 数据结构的小结与练习
//每节一个例题
第11章 算法(Algorithm)的基本概念
11.1 什么是算法
11.2 运行时间与算法复杂度(Complexity)分析
11.3 算法的优化初探
第12章 无需学会的重要算法:排序(Sort)
12.1 简单排序算法:冒泡排序(Bubble Sort)和插入排序(Insertion Sort)
12.2 快速排序(Quick Sort)
12.3 归并排序(Merge Sort)
12.4 堆排序(Heap Sort)
12.5 STL中的排序算法
12.6 顺序统计算法与中位数的应用
12.7 小结与练习
第13章 高精度运算(High-Precision Calculation)和数论(Number Theory)有关算法
13.1 十进制整数高精度运算
13.2 扩大进制数的高精度运算
13.3 基于质因子的高精度运算
13.4 实数高精度运算
13.5 最大公约数与最小公倍数
13.6 模线性方程与方程组
13.7 素数与因式分解
13.8 小结与练习
第14章 搜素法(Search)
14.1 穷举法(Exhaustion):本质是不重复、不遗漏
14.2 回溯法(Backtracking):一步步进行试探
14.3 广度优先搜索(Width First Search):不断扩展搜索树的层次
14.4 分支定界法(Branch and Bound):在搜索中剪枝
14.5 A*算法:利用估价函数(Evaluation Function)剪枝
14.6 搜索法的优化
14.7 小结与练习
第15章 构造(Structuring)法
15.1 对应策略(Corresponding)
15.2 模拟策略(Modelling)
15.3 分治策略(Divide-and-Conquer)
15.4 递推法(Iteration)
15.5 贪心法(The Greedy Approach)
15.6 构造法的优化
15.7 小结与练习
第16章 动态规划(Dynamic Programming)
16.1 动态规划的基本概念
16.2 动态规划的适用范围
16.3 阶段与状态(State)
16.4 决策与策略
16.5 双重动态规划
16.6 多进程的最优化策略
16.7 动态规划的优化
16.8 动态规划思想的推广
16.9 小结与练习
第17章 设计模式在竞赛中的应用
17.1 单体(Singleton)与静态类
17.2 智能指针(Smart Pointer)的设计与实现
17.3 用迭代器(Iterator)抽象遍历算法
//Command,Composition,Factory,Visitor,Strategy,Decoretor
第18章 实效之路
18.1 实效程序员之路
18.2 实效C++之路
18.3 实效NOIP之路
附录A:C++标准库简明列表
附录B:竞赛中可能用不到的C++特性
B.1 goto语句
B.2 volatile与mutable关键字
B.2 重载类型转换操作符:隐式和显式
B.3 模板的显式重载
B.4 异常处理
B.5 空间配置器(allocators)
B.6 asm关键字
B.7 C风格的I/O与相关实用库函数
附录C:竞赛中可能用到的数学知识
C.1 逻辑推理
C.2 初等数论
C.3 组合数学
C.4 线性代数
C.5 解方程和方程组
附录D:大纲中未要求的数据结构与算法
D.1 内存池(Memory Pool)
D.2 博弈树(Game Tree)
D.3 线段树(Interval Tree)和Trie
D.3 树状数组(Tree Array)和并查集(Union-Find Sets)
D.4 网络流(Network Flows)
D.5 二部图(Bipartite Graph)的最大匹配(Maximum Matching)
D.6 欧拉图(Euler graph)和汉密尔顿图(Hamilton graph)
D.7 红-黑树(R-B tree)
D.8 哈希表(Hash Table)
附录E:本书光盘使用说明

光盘内容:
1.本书电子版
2.C++编译器
3.历年试题解题报告及C++示例程序
4.其它资源链接


[ 本帖最后由 梦回唐朝pro 于 2006-6-24 14:16 编辑 ]
使用道具 举报 回复
发表于 2006-6-24 14:25:00
希望能多加点力气在算法部分,前面的语法 老谭的书已经够经典了。
使用道具 举报 回复 支持 反对
发表于 2006-6-24 14:27:00
C的没怎么学过,VB的好像见过

支持你写
使用道具 举报 回复 支持 反对
发表于 2006-6-24 14:29:00
原帖由 open-fans 于 2006-6-24 14:25 发表
希望能多加点力气在算法部分,前面的语法 老谭的书已经够经典了。
那是那是,我只不过是想让参加信息学竞赛的同学不再多买书罢了。然而我并不认为谭好强的书多么经典,我最喜欢的C++入门书是Essential C++,个人认为谭好强的书根本没法比……
使用道具 举报 回复 支持 反对
发表于 2006-6-24 15:13:00
我参加计算机奥林匹克的时候用的语言是Pascal,书写好了出版了, 给我看看 顺便签个名哦 呵呵
使用道具 举报 回复 支持 反对
发表于 2006-6-24 15:42:00
前面是讲C++,后面讲数据结构与算法

这方面的经典教材太多了..楼主想写什么啊?写竞赛培训/
使用道具 举报 回复 支持 反对
发表于 2006-6-24 16:12:00
好像重点不够。好像什么都有涉及,但精度要等出来才知道
使用道具 举报 回复 支持 反对
发表于 2006-6-24 19:07:00
原帖由 梦回唐朝pro 于 2006-6-24 15:13 发表
我参加计算机奥林匹克的时候用的语言是Pascal,书写好了出版了, 给我看看 顺便签个名哦 呵呵
好啊!不过你要掏书钱啊……要不就等出版了在你的区里置顶一个月。



[ 本帖最后由 dd_engi 于 2006-6-24 19:13 编辑 ]
使用道具 举报 回复 支持 反对
发表于 2006-6-24 19:09:00
原帖由 随风飘逝 于 2006-6-24 15:42 发表
前面是讲C++,后面讲数据结构与算法

这方面的经典教材太多了..楼主想写什么啊?写竞赛培训/
正是竞赛培训!虽然这方面的经典教材多,但是问题是没有一本用C++语言降解的竞赛教材!我正是要填补这个空白!
使用道具 举报 回复 支持 反对
发表于 2006-6-24 19:19:00
大约什么时候能写完,我正需要这类的书
使用道具 举报 回复 支持 反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则