本书精选了大量知名企业的程序员笔试、面试题,重点突出、解答翔实。全书共分为四部分,各部分如下:第一部分是程序设计基础及数据结构基础,讨论C/C++基础知识以及数据结构基础知识;第二部分是计算机网络基础,讨论网络模型、套接字编程基本操作、IPv4与IPv6、子网划分、网络常用测试工具等;第三部分是操作系统基础,讨论进程与线程的基本知识、进程间通信与进程同步、内存管理的相关知识等;第四部分是其他计算机相关基础,讨论数据库基础知识、设计模式的相关知识、数学基础、逻辑知识与综合知识等。 作者简介: 王道论坛(www.cskaoyan.com)组织名校高分选手,编写了4本单科辅导书。单科书是基于王道之前作品的二代作品,不论是编排方式,还是内容质量都较前一版本的王道书有了较大的提升。这套书也参考了同类优秀的教材和辅导书,更是结合了高分选手们自己的复习经验。无论是对考点的讲解,还是习题的选择和解析,都结合了他们对专业课复习的独特见解。 目录: 前言 第1篇程序设计基础及数据结构基础 第1章数组 1.1一维数组的声明与字符数组 1.1.1一维数组的声明与初始化 1.1.2C风格字符串与字符数组 1.2二维数组 1.2.1二维数组的声明与初始化 1.2.2行优先存储与列优先存储 1.2.3二维数组的动态声明 1.3数组指针、指针数组与数组名的指针操作 1.3.1指针运算--算术运算、关系运算 1.3.2指针数组与数组指针 1.3.3指针运算在数组中的应用 1.4数组的应用前言 第1篇 程序设计基础及数据结构基础 第1章 数组 1.1 一维数组的声明与字符数组 1.1.1 一维数组的声明与初始化 1.1.2 C风格字符串与字符数组 1.2 二维数组 1.2.1 二维数组的声明与初始化 1.2.2 行优先存储与列优先存储 1.2.3 二维数组的动态声明 1.3 数组指针、指针数组与数组名的指针操作 1.3.1 指针运算--算术运算、关系运算 1.3.2 指针数组与数组指针 1.3.3 指针运算在数组中的应用 1.4 数组的应用 1.4.1 线性表的顺序存储 1.4.2 对称矩阵的压缩 本章习题 第2章 字符串 2.1 字符串与子串、子序列 2.2 C风格字符串 2.3 标准库提供的字符串处理函数 2.3.1 strlen 2.3.2 strcmp 2.3.3 strcat与strcpy 2.3.4 memcpy与memset 2.4 字符串的实际应用 2.4.1 字符串包含问题 2.4.2 字符串转换为数字 2.4.3 其他应用 本章习题 第3章 结构体、共用体与枚举 3.1 结构体struct 3.1.1 结构体的定义 3.1.2 结构体中的位字段 3.2 共用体union 3.3 枚举 3.4 sizeof运算符 3.4.1 sizeof的使用方法 3.4.2 sizeof的结果 3.4.3 与strlen比较 3.4.4 指针、引用、汉字及数组的sizeof操作 3.4.5 struct的空间计算 3.4.6 union的空间计算 3.4.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.5 C++基本类型的类型转换 4.5.1 赋值转换 4.5.2 表达式的转换 4.5.3 显式转换 4.5.4 其他转换 4.6 运算符优先级表 本章习题 第5章 C预处理器、作用域、static、 const以及内存管理 5.1 C预处理器 5.1.1 宏定义与宏替换 5.1.2 文件包含 5.1.3 条件编译 5.2 全局变量与局部变量 5.3 static 5.3.1 static的作用 5.3.2 类中static的作用 5.4 const 5.4.1 常量 5.4.2 指针和const修饰符 5.4.3 修饰函数参数与返回值 5.4.4 const在类中的应用 5.5 内存管理与释放 5.5.1 C语言内存操作函数 5.5.2 C++内存管理 本章习题 第6章 函数 6.1 参数传递 6.2 内联函数 6.3 默认参数 6.4 函数重载 6.5 函数模版与泛型 6.5.1 函数模版 6.5.2 类模版 6.6 函数的递归 本章习题 第7章 指针与引用 7.1 指针 7.1.1 指针的声明 7.1.2 typedef 7.1.3 void*指针 7.1.4 指向指针的指针 7.1.5 函数指针 7.2 引用 7.2.1 const引用 7.2.2 引用做类的数据成员 本章习题 第8章 类 8.1 访问标号 8.2 类成员简介 8.2.1 成员函数 8.2.2 构造函数 8.2.3 析构函数 8.2.4 构造函数与析构函数调用顺序 8.2.5 操作符重载 8.3 成员函数的重载、覆盖与隐藏 8.3.1 成员函数的重载 8.3.2 成员函数的覆盖 8.3.3 成员函数的隐藏 本章习题 第9章 面向对象编程 9.1 继承 9.1.1 基类成员在派生类中的访问属性 9.1.2 继承时导致的二义性 9.1.3 转换构造函数 9.1.4 类型转换函数 9.2 虚函数多态 9.2.1 静态联编与动态联编 9.2.2 虚函数表指针(vptr)及虚基类表指针(bptr) 9.2.3 虚拟继承时构造函数的书写 9.2.4 纯虚函数 9.3 动态运行时类型识别与显式转换 9.3.1 typeid 9.3.2 显式转换 本章习题 第10章 分治法、动态规划与贪心算法 10.1 分治法 10.2 动态规划 10.2.1 LCS问题 10.3 贪心算法 10.3.1 贪心算法与动态规划 本章习题 第11章 链表 11.1 单链表 11.2 快慢指针的概念及其应用 11.3 双链表 本章习题 第12章 栈与队列 12.1 栈 12.2 栈的应用 12.2.1 算术表达式的计算 12.3 Catalan数 12.3.1 Catalan数的应用 12.4 队列 12.4.1 队列的顺序存储 本章习题 第13章 树 13.1 树的基本概念和性质 13.2 二叉树 13.2.1 二叉树的性质及存储结构 13.2.2 二叉树的遍历 13.3 二叉树的应用 13.4 树的应用 13.4.1 二叉排序树 13.4.2 平衡二叉树 13.4.3 哈夫曼树及哈夫曼编码 13.5 并查集 本章习题 第14章 图 14.1 图的基本概念 14.2 图的存储及基本操作 14.2.1 邻接矩阵法 14.2.2 邻接表法 14.3 图的遍历 14.3.1 深度优先搜索 14.3.2 广度优先搜索 14.4 图遍历算法的应用 14.5 图的基本应用 14.5.1 最小生成树 14.5.2 最短路径 14.5.3 拓扑排序 本章习题 第15章 排序 15.1 插入排序 15.1.1 直接插入排序 15.1.2 希尔排序 15.2 交换排序 15.2.1 冒泡排序 15.2.2 快速排序 15.3 选择排序简介 15.3.1 简单选择排序 15.3.2 堆排序 15.4 归并排序 15.4.1 二路归并排序 15.4.2 多路归并排序 15.5 不同排序算法比较 15.5.1 稳定性 15.5.2 比较次数 15.5.3 空间复杂度 本章习题 第16章 查找 16.1 基本概念 16.2 折半查找 16.3 键树 16.3.1 键树的定义与Trie树 16.3.2 键树两种实现的对比 16.4 后缀树与后缀数组 16.4.1 后缀树 16.4.2 后缀数组 16.5 哈希表 16.5.1 哈希表的基本概念 16.5.2 哈希函数 16.6 一致性哈希 16.6.1 普通集群 16.6.2 hash集群 16.6.3 一致性哈希 16.7 海量数据处理 16.7.1 分治--Hash映射 16.7.2 Bit-map 16.7.3 BloomFilter 16.7.4 倒排索引法 本章习题 第2篇 计算机网络基础 第1章 计算机网络模型 1.1 OSI参考模型 1.2 TCP/IP模型 本章习题 第2章 传输层与SOCKET基本操作简介 2.1 传输层 2.2 TCP连接的建立和终止 2.2.1 三次握手建立连接详解 2.2.2 四次挥手释放连接详解 2.3 TCP状态转换图 2.4 SOCKET的基本操作 本章习题 第3章 网络层 3.1 IPv4地址及网络地址转换NAT 3.2 子网划分与子网掩码、CIDR 3.3 ARP、RARP、ICMP 3.4 IPv6 本章习题 第4章
|