搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
算法笔记
0.00    
图书来源:
  • 配送范围:
    全国(除港澳台地区)
  • ISBN:
    9787111540090
  • 作      者:
    胡凡,曾磊主编
  • 出 版 社 :
    机械工业出版社
  • 出版日期:
    2016
收藏
内容介绍

本书内容包括:C/C++快速入门、入门模拟、算法初步、数学问题、C++标准模板库(STL)、数据结构专题(两章)、搜索专题、图算法专题、动态规划专题、字符串专题、专题扩展。书中每小节的末尾均印有二维码,用以实时更新或补充书籍的内容及发布本书的勘误。

展开
目录

目    录

前言

第1章如何使用本书 

1.1本书的基本内容 

1.2如何选择编程语言和编译器 

1.3在线评测系统 

1.4常见的评测结果 

1.5如何高效地做题 

第2章C/C++快速入门 

2.1基本数据类型 

2.1.1变量的定义 

2.1.2变量类型 

2.1.3强制类型转换 

2.1.4符号常量和const常量 

2.1.5运算符 

2.2顺序结构 

2.2.1赋值表达式 

2.2.2使用scanf和printf输入/输出 

2.2.3使用getchar和putchar输入/输出字符 

2.2.4注释 一

2.2.5 typedef'

2.2.6常用math函数 

2.3选择结构 

2.3.1 if语句 

2.3.2  if语句的嵌套 

2.3.3  switch语句 

2.4循环结构 

2.4.1  while语句 

2.4.2    do - - - while语句 

2.4.3 for语句 

2.4.4 break和continue语句 

2.5数组 

2.5.1一维数组 

2.5.2冒泡排序 

2.5.3二维数组 

2.5.4 memset-对数组中每一个元素赋相同的值 

2.5.5字符数组 

2.5.6 string.h头文件 

2.5.7  sscanf与sprintf 

2.6函数 

2.6.1  函数的定义 

2.6.2再谈mam函数 

2.6.3  以数组作为函数参数 

2.6.4函数的嵌套调用 

2.6.5  函数的递归调用 

2.7指针 

2.7.1什么是指针 

2.7.2指针变量 

2.7.3  指针与数组 

2.7.4使用指针变量作为函数参数 

2.7.5引用 

2.8结构体(struct)的使用 

2.8.1  结构体的定义 

2.8.2访问结构体内的元素 

2.8.3  结构体的初始化 

2.9补充 

2.9.1  cin与cout

2.9.2浮点数的比较 

2.9.3复杂度 

2.10黑盒测试 

2.10.1单点测试 

2.10.2多点测试 

第3章入门篇(1) -入门模拟 

3.1简单模拟 

3.2查找元素 

3.3图形输出 

3.4日期处理 

3.5进制转换 

3.6字符串处理 

第4章入门篇(2) -算法初步 

4.1排序 

4.1.1选择排序 

4.1.2插入排序 

4.1.3排序题与sort函数的应用 

4.2散列 

4.2.1  散列的定义与整数散列 

4.2.2字符串hash初步 

4.3递归 

4.3.1  分治 

4.3.2递归 

4.4贪心 

4.4.1简单贪心 

4.4.2区间贪心 

4.5二分 

4.5.1  二分查找 

4.5.2二分法拓展 

4.5.3快速幂 ’

4.6   two pointers 

4.6.1什么是Mo pointers 

4.6.2归并排序 

4.6.3快速排序 

4.7其他高效技巧与算法 

4.7.1  打表 

4.7.2活用递推 

4.7.3  随机选择算法 

第5章入门篇(3) -数学问题 

5.1简单数学 

5.2最大公约数与最小公倍数 

5.2.1最大公约数 

5.2.2最小公倍数 

5.3分数的四则运算 

5.3.1  分数的表示和化简 

5.3.2分数的四则运算 

5.3.3  分数的输出 

5.4素数 

5.4.1  素数的判断 

5.4.2素数表的获取 

5.5质因子分解 

5.6大整数运算 

5.6.1大整数的存储 

5.6.2大整数的四则运算 

5.7扩展欧几里得算法 

5.8组合数 

5.8.1关于n!的一个问题 

5.8.2组合数的计算 

第6章C++标准模板库(STL)介绍 

6.1  vector的常见用法详解 

6.2 set的常见用法详解 

6.3 string的常见用法详解 

6.4 map的常用用法详解 

6.5 queue的常见用法详解 

6.6 priority_queue的常见用法详解 

6.7 stack的常见用法详解 

6.8 pair的常见用法详解 

6.9 algorithm头文件下的常用函数 

6.9.1 max()、min()和abs() 

6.9.2  swap() 

6.9.3 reverse()'''-- 

6.9.4 next_permutation()'---'''------     

6.9.5 fill() 

6.9.6 sort0'-'-"-     

6.9.7 lower_bound()和upper_bound() 

第7章提高篇(1)-数据结构专题(1) 

7.1栈的应用 

7.2  队列的应用 

7.3链表处理 

7.3.1  链表的概念 

7.3.2使用malloc函数或new运算符为链表结点分配内存空间 

7.3.3链表的基本操作 

7.3.4静态链表 

第8章提高篇(2) -搜索专题 

8.1  深度优先搜索(DFS) 

8.2广度优先搜索(BFS) 

第9章提高篇(3)-数据结构专题(2) 

9.1  树与二叉树 

9.1.1  树的定义与性质 

9.1.2二叉树的递归定义 

9.1.3二叉树的存储结构与基本操作 

9.2二叉树的遍历 

9.2.1先序遍历 

9.2.2中序遍历 

9.2.3后序遍历 

9.2.4层序遍历 

9.2.5二叉树的静态实现 

9.3  树的遍历 

9.3.1  树的静态写法 

9.3.2树的先根遍历 

9.3.3树的层序遍历 一

9.3.4从树的遍历看DFS与BFS - - - - - - - - - - - - - - - -

二叉查找树(BST) 一

9.4.1二叉查找树的定义 

9.4.2二叉查找树的基本操作 

9.4.3二叉查找树的性质 

平衡二叉树(AVL树) 

9.5.1平衡二叉树的定义 

9.5.2平衡二叉树的基本操作 

并查集 

9.6.1并查集的定义 一

9.6.2并查集的基本操作 

9.6.3路径压缩 

堆 

9.7.1堆的定义与基本操作 

9.7.2堆排序 

哈夫曼树 

9.8.1哈夫曼树 

9.8.2哈弗曼编码

提高篇(4) -图算法专题 

图的定义和相关术语 

图的存储 

10.2.1邻接矩阵 

10.2.2邻接表 

图的遍历 

10.3.1采用深度优先搜索(DFS)法遍历图 

10.3.2采用广度优先搜索(BFS)法遍历图 

最短路径 

10.4.1 Dijkstra算法 

10.4.2 Bellman-Ford算法和SPFA算法 

10.4.3 Floyd算法 

最小生成树 

10.5.1最小生成树及其性质 

10.5.2 prim算法 

10.5.3 kruskal算法 

拓扑排序 

10.6.1有向无环图 

10.6.2拓扑排序 

关键路径 

10.7.1  AOV网和AOE网

10.7.2最长路径

10.7.3  关键路径

第1 1章提高篇(5) -动态规划专题

11.1动态规划的递归写法和递推写法

11.1.1什么是动态规划

11.1.2动态规划的递归写法

11.1.3动态规划的递推写法

11.2最大连续子序列和

11.3最长不下降子序列(LIS)

11.4最长公共子序列(LCS)

11.5最长回文子串

11.6  DAG最长路

11.7背包问题

11.7.1  多阶段动态规划问题

11.7.2  01背包问题

11.7.3完全背包问题

11.8总结

第12章提高篇(6) -字符串专题

12.1字符串hash进阶

12.2 KMP算法

12.2.1  next数组

12.2.2  KMP算法

12.2.3从有限状态自动机的角度看待KMP算法

第13章专题扩展

13.1分块思想

13.2树状数组(BIT)

13.2.1 lowbit运算

13.2.2树状数组及其应用

参考文献


展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证