《算法详解:C++11语言描述》已出版

一本介绍C++11、C++14和C++17语法及标准库的书籍已出版,针对C++初学者,逐步讲解算法和数据结构,例题来自PAT和CSP平台,配有在线GitHub仓库供学习和实践。感谢支持者和机械工业出版社吉玲编辑的协助。
摘要由CSDN通过智能技术生成

在这里插入图片描述
在这里插入图片描述
经过漫长的编写、修订和印刷过程,书籍《算法详解:C++11语言描述》终于出版了!目前本书已在各大电商平台上架,搜索书名即可找到对应商品。本书的特色在于:

  1. 介绍最新的C++11、C++14和C++17语法以及标准库,完全基于C++语言编写代码,借以帮助读者摒弃C+STL代码风格,投入到C++的大家庭中来,并帮助读者养成一种简洁精炼的代码风格。
  2. 面向C++零基础的算法初学者,书籍章节按难易程度排列,让零基础读者能够由浅入深地掌握C++以及基础的数据结构和算法知识。
  3. 书中例题习题全部来自于PAT和CSP平台,并配以精炼的讲解和简洁的C++代码,适合准备PAT、CSP或者考研机试的同学。读者可以实时在这些OJ平台上练习和编码,进而熟练掌握书中讲解的知识。
  4. 配套在线github仓库链接为https://github.com/richenyunqi/CCF-CSP-and-PAT-solution,书中所有的题解代码均可在该仓库中找到。该仓库还会持续更新最新的PAT和CSP题解以及书籍勘误等相关配套信息,有兴趣的同学可以点个star啊。

最后要感谢在交流社区中关注和支持我的“粉丝”们,是你们的热情鼓励和日常对我工作进度的关心,使我能够在繁重的学业压力之余坚持完成了本书。还要感谢《算法笔记》的作者晴神,无论是《算法笔记》书籍本身对我的启发,还是后续在我编写书籍过程中给予的帮助,都让我获益匪浅。这里还要特别感谢机械工业出版社的吉玲编辑,容忍我把交稿时间一拖再拖,与她的合作非常轻松愉快。正是由于她的鼓励和帮助,我才能顺利完成了本书的编写,期待与她的下一次合作。

目 录 译者序 前言 第一部分 预备知识 第1章 C++程序设计 1 1.1 引言 1 1.2 函数与参数 2 1.2.1 传值参数 2 1.2.2 模板函数 3 1.2.3 引用参数 3 1.2.4 常量引用参数 4 1.2.5 返回值 4 1.2.6 递归函数 5 1.3 动态存储分配 9 1.3.1 操作符new 9 1.3.2 一维数组 9 1.3.3 异常处理 10 1.3.4 操作符delete 10 1.3.5 二维数组 10 1.4 类 13 1.4.1 类Currency 13 1.4.2 使用不同的描述方法 18 1.4.3 操作符重载 20 1.4.4 引发异常 22 1.4.5 友元和保护类成员 23 1.4.6 增加#ifndef, #define和#endif语句 24 1.5 测试与调试 24 1.5.1 什么是测试 24 1.5.2 设计测试数据 26 1.5.3 调试 28 1.6 参考及推荐读物 29 第2章 程序性能 30 2.1 引言 30 2.2 空间复杂性 31 2.2.1 空间复杂性的组成 31 2.2.2 举例 35 2.3 时间复杂性 37 2.3.1 时间复杂性的组成 37 2.3.2 操作计数 37 2.3.3 执行步数 44 2.4 渐进符号(O、 健?、 o) 55 2.4.1 大写O符号 56 2.4.2 椒?58 2.4.3 符号 59 2.4.4 小写o符号 60 2.4.5 特性 60 2.4.6 复杂性分析举例 61 2.5 实际复杂性 66 2.6 性能测量 68 2.6.1 选择实例的大小 69 2.6.2 设计测试数据 69 2.6.3 进行实验 69 2.7 参考及推荐读物 74 第二部分 数据结构 第3章 数据描述 75 3.1 引言 75 3.2 线性表 76 3.3 公式化描述 77 3.3.1 基本概念 77 3.3.2 异常类NoMem 79 3.3.3 操作 79 3.3.4 评价 83 3.4 链表描述 86 3.4.1 类ChainNode 和Chain 86 3.4.2 操作 88 3.4.3 扩充类Chain 91 3.4.4 链表遍历器类 92 3.4.5 循环链表 93 3.4.6 与公式化描述方法的比较 94 3.4.7 双向链表 95 3.4.8 小结 96 3.5 间接寻址 99 3.5.1 基本概念 99 3.5.2 操作 100 3.6 模拟指针 102 3.6.1 SimSpace的操作 103 3.6.2 采用模拟指针的链表 106 3.7 描述方法的比较 110 3.8 应用 111 3.8.1 箱子排序 111 3.8.2 基数排序 116 3.8.3 等价类 117 3.8.4 凸包 122 3.9 参考及推荐读物 127 第4章 数组和矩阵 128 4.1 数组 128 4.1.1 抽象数据类型 128 4.1.2 C++数组 129 4.1.3 行主映射和列主映射 129 4.1.4 类Array1D 131 4.1.5 类Array2D 133 4.2 矩阵 137 4.2.1 定义和操作 137 4.2.2 类Matrix 138 4.3 特殊矩阵 141 4.3.1 定义和应用 141 4.3.2 对角矩阵 143 4.3.3 三对角矩阵 144 4.3.4 三角矩阵 145 4.3.5 对称矩阵 146 4.4 稀疏矩阵 149 4.4.1 基本概念 149 4.4.2 数组描述 149 4.4.3 链表描述 154 第5章 堆栈 161 5.1 抽象数据类型 161 5.2 派生类和继承 162 5.3 公式化描述 163 5.3.1 Stack的效率 164 5.3.2 自定义Stack 164 5.4 链表描述 166 5.5 应用 169 5.5.1 括号匹配 169 5.5.2 汉诺塔 170 5.5.3 火车车厢重排 172 5.5.4 开关盒布线 176 5.5.5 离线等价类问题 178 5.5.6 迷宫老鼠 180 5.6 参考及推荐读物 188 第6章 队列 189 6.1 抽象数据类型 189 6
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值