![]() 出版社: 电子工业出版社 原作名: 王道论坛 出版年: 2013-11 页数: 383 定价: 56.00元 装帧: 平装 ISBN: 9787121212864 内容简介 · · · · · ·本书精选了大量知名企业的程序员笔试、面试题,重点突出、解答翔实。全书共分为四部分,各部分如下:第一部分是程序设计基础及数据结构基础,讨论C/C++基础知识以及数据结构基础知识;第二部分是计算机网络基础,讨论网络模型、套接字编程基本操作、IPv4与IPv6、子网划分、网络常用测试工具等;第三部分是操作系统基础,讨论进程与线程的基本知识、进程间通信与进程同步、内存管理的相关知识等;第四部分是其他计算机相关基础,讨论数据库基础知识、设计模式的相关知识、数学基础、逻辑知识与综合知识等。 目录 · · · · · ·目 录前言 第1篇 程序设计基础及 数据结构基础 第1章 数组 3 1.1 一维数组的声明与字符数组 3 · · · · · ·() 目 录 前言 第1篇 程序设计基础及 数据结构基础 第1章 数组 3 1.1 一维数组的声明与字符数组 3 1.1.1 一维数组的声明与初始化 3 1.1.2 C风格字符串与字符数组 4 1.2 二维数组 5 1.2.1 二维数组的声明与初始化 5 1.2.2 行优先存储与列优先存储 7 1.2.3 二维数组的动态声明 8 1.3 数组指针、指针数组与数组名的 指针操作 9 1.3.1 指针运算——算术运算、关系 运算 9 1.3.2 指针数组与数组指针 10 1.3.3 指针运算在数组中的应用 11 1.4 数组的应用 15 1.4.1 线性表的顺序存储 15 1.4.2 对称矩阵的压缩 16 本章习题 16 第2章 字符串 23 2.1 字符串与子串、子序列 23 2.2 C风格字符串 23 2.3 标准库提供的字符串处理函数 24 2.3.1 strlen 25 2.3.2 strcmp 25 2.3.3 strcat与strcpy 26 2.3.4 memcpy与memset 27 2.4 字符串的实际应用 27 2.4.1 字符串包含问题 27 2.4.2 字符串转换为数字 30 2.4.3 其他应用 32 本章习题 35 第3章 结构体、共用体与枚举 39 3.1 结构体struct 39 3.1.1 结构体的定义 39 3.1.2 结构体中的位字段 40 3.2 共用体union 41 3.3 枚举 45 3.4 sizeof运算符 46 3.4.1 sizeof的使用方法 46 3.4.2 sizeof的结果 47 3.4.3 与strlen()比较 47 3.4.4 指针、引用、汉字及数组的 sizeof操作 48 3.4.5 struct的空间计算 49 3.4.6 union的空间计算 54 3.4.7 枚举的空间计算 55 本章习题 55 第4章 运算符及其优先级 63 4.1 赋值语句 63 4.2 自增与自减运算符 64 4.2.1 前缀运算与后缀运算 64 4.2.2 自增、自减运算符作用的对象 65 4.2.3 ++、--运算符的结合方向 66 4.3 关系与逻辑运算符 66 4.4 位运算符 67 4.4.1 与、或、非及异或运算符 68 4.4.2 移位运算符 69 4.5 C++基本类型的类型转换 72 4.5.1 赋值转换 72 4.5.2 表达式的转换 72 4.5.3 显式转换 74 4.5.4 其他转换 75 4.6 运算符优先级表 75 本章习题 77 第5章 C预处理器、作用域、static、 const以及内存管理 86 5.1 C预处理器 86 5.1.1 宏定义与宏替换 86 5.1.2 文件包含 87 5.1.3 条件编译 87 5.2 全局变量与局部变量 88 5.3 static 90 5.3.1 static的作用 90 5.3.2 类中static的作用 91 5.4 const 94 5.4.1 常量 94 5.4.2 指针和const修饰符 95 5.4.3 修饰函数参数与返回值 96 5.4.4 const在类中的应用 98 5.5 内存管理与释放 100 5.5.1 C语言内存操作函数 101 5.5.2 C++内存管理 102 本章习题 105 第6章 函数 111 6.1 参数传递 111 6.2 内联函数 115 6.3 默认参数 115 6.4 函数重载 117 6.5 函数模版与泛型 117 6.5.1 函数模版 118 6.5.2 类模版 119 6.6 函数的递归 119 本章习题 121 第7章 指针与引用 127 7.1 指针 127 7.1.1 指针的声明 127 7.1.2 typedef 127 7.1.3 void* 指针 128 7.1.4 指向指针的指针 129 7.1.5 函数指针 129 7.2 引用 133 7.2.1 const引用 134 7.2.2 引用做类的数据成员 134 本章习题 134 第8章 类 137 8.1 访问标号 137 8.2 类成员简介 137 8.2.1 成员函数 137 8.2.2 构造函数 138 8.2.3 析构函数 142 8.2.4 构造函数与析构函数调用顺序 143 8.2.5 操作符重载 145 8.3 成员函数的重载、覆盖与隐藏 150 8.3.1 成员函数的重载 150 8.3.2 成员函数的覆盖 150 8.3.3 成员函数的隐藏 151 本章习题 152 第9章 面向对象编程 154 9.1 继承 154 9.1.1 基类成员在派生类中的访问 属性 155 9.1.2 继承时导致的二义性 157 9.1.3 转换构造函数 161 9.1.4 类型转换函数 161 9.2 虚函数多态 162 9.2.1 静态联编与动态联编 163 9.2.2 虚函数表指针(vptr)及虚基 类表指针(bptr) 167 9.2.3 虚拟继承时构造函数的书写 174 9.2.4 纯虚函数 174 9.3 动态运行时类型识别与显式转换 175 9.3.1 typeid 175 9.3.2 显式转换 175 本章习题 180 第10章 分治法、动态规划与贪心算法 186 10.1 分治法 186 10.2 动态规划 186 10.2.1 LCS问题 189 10.3 贪心算法 193 10.3.1 贪心算法与动态规划 193 本章习题 195 第11章 链表 197 11.1 单链表 197 11.2 快慢指针的概念及其应用 200 11.3 双链表 204 本章习题 207 第12章 栈与队列 209 12.1 栈 209 12.2 栈的应用 210 12.2.1 算术表达式的计算 210 12.3 Catalan数 211 12.3.1 Catalan数的应用 211 12.4 队列 212 12.4.1 队列的顺序存储 212 本章习题 213 第13章 树 216 13.1 树的基本概念和性质 216 13.2 二叉树 217 13.2.1 二叉树的性质及存储结构 218 13.2.2 二叉树的遍历 219 13.3 二叉树的应用 220 13.4 树的应用 225 13.4.1 二叉排序树 225 13.4.2 平衡二叉树 226 13.4.3 哈夫曼树及哈夫曼编码 229 13.5 并查集 230 本章习题 232 第14章 图 234 14.1 图的基本概念 234 14.2 图的存储及基本操作 235 14.2.1 邻接矩阵法 235 14.2.2 邻接表法 236 14.3 图的遍历 237 14.3.1 深度优先搜索 237 14.3.2 广度优先搜索 237 14.4 图遍历算法的应用 238 14.5 图的基本应用 242 14.5.1 最小生成树 242 14.5.2 最短路径 243 14.5.3 拓扑排序 245 本章习题 246 第15章 排序 250 15.1 插入排序 250 15.1.1 直接插入排序 250 15.1.2 希尔排序 251 15.2 交换排序 252 15.2.1 冒泡排序 252 15.2.2 快速排序 252 15.3 选择排序简介 257 15.3.1 简单选择排序 257 15.3.2 堆排序 258 15.4 归并排序 261 15.4.1 二路归并排序 261 15.4.2 多路归并排序 265 15.5 不同排序算法比较 268 15.5.1 稳定性 269 15.5.2 比较次数 269 15.5.3 空间复杂度 270 本章习题 270 第16章 查找 272 16.1 基本概念 272 16.2 折半查找 273 16.3 键树 275 16.3.1 键树的定义与Trie树 275 16.3.2 键树两种实现的对比 279 16.4 后缀树与后缀数组 279 16.4.1 后缀树 279 16.4.2 后缀数组 281 16.5 哈希表 283 16.5.1 哈希表的基本概念 283 16.5.2 哈希函数 283 16.6 一致性哈希 285 16.6.1 普通集群 285 16.6.2 hash集群 286 16.6.3 一致性哈希 286 16.7 海量数据处理 289 16.7.1 分治——Hash映射 289 16.7.2 Bit-map 290 16.7.3 Bloom Filter 292 16.7.4 倒排索引法 293 本章习题 293 第2篇 计算机网络基础 第1章 计算机网络模型 298 1.1 OSI参考模型 298 1.2 TCP/IP模型 299 本章习题 299 第2章 传输层与SOCKET基本操作 简介 301 2.1 传输层 301 2.2 TCP连接的建立和终止 302 2.2.1 三次握手建立连接详解 303 2.2.2 四次挥手释放连接详解 303 2.3 TCP状态转换图 304 2.4 SOCKET的基本操作 307 本章习题 310 第3章 网络层 312 3.1 IPv4地址及网络地址转换NAT 312 3.2 子网划分与子网掩码、CIDR 313 3.3 ARP、RARP、ICMP 314 3.4 IPv6 315 本章习题 315 第4章 网络常用测试工具 318 4.1 ping 318 4.2 tracert 318 4.3 tel 318 4.4 stat 319 第3篇 操作系统基础 第1章 进程管理 322 1.1 进程 322 1.2 线程 324 1.3 进程通信与进程同步 326 1.4 调度算法 327 1.5 死锁 328 第2章 内存管理 330 2.1 逻辑地址空间与物理地址空间 330 2.2 内存分配管理方式 330 2.2.1 基本分页存储管理方式 330 2.2.2 基本分段存储管理方式 331 2.2.3 段页式管理方式 332 2.3 虚拟内存管理 332 2.3.1 虚拟存储器的定义和特征 332 2.3.2 请求分页管理方式 333 第3章 Linux常用命令 337 3.1 目录和文件的相关操作 337 3.2 文本文件内容查看 338 3.3 查看系统信息 340 本章习题 340 第4篇 其他计算机相关基础 第1章 数据库基础知识 344 1.1 数据库理论 344 1.1.1 数据模型 344 1.1.2 主键与外键 344 1.1.3 事务 345 1.1.4 索引 345 1.1.5 视图 346 1.2 SQL语句 347 1.2.1 数据定义 347 1.2.2 数据查询 348 1.2.3 数据操纵 350 本章习题 351 第2章 设计模式 354 2.1 单例模式 354 2.1.1 单例模式的C++版本实现 354 2.1.2 Java版本实现 355 本章习题 357 第3章 数学基础 358 3.1 进制及其应用 358 3.2 概率 360 3.3 排列与组合 362 3.4 计算题 364 3.4.1 容斥原理 364 3.4.2 其他 365 第4章 逻辑知识 369 第5章 综合知识 372 5.1 Cache 372 5.2 STL 373 5.2.1 顺序容器 373 5.2.2 关联容器 375 5.2.3 容器的选用 375 5.2.4 auto_ptr 与 shared_ptr 376 综合习题 378 5.3 其他 380 · · · · · · () |
感觉不出文化隔阂
非常经典的著作
很有趣