目录

  • 1 string-字符串详解
    • 1.1 string基础知识讲解
    • 1.2 string的加法和比较运算
    • 1.3 string应用:时间的差问题
    • 1.4 string应用:数字和与最小字符串问题
    • 1.5 string应用:国王的魔镜问题
    • 1.6 string应用:字符串简单加密问题
    • 1.7 string函数:find和substr函数
    • 1.8 string函数应用:求子串的位置、调换位置问题
    • 1.9 string函数:erase,insert和replace函数
    • 1.10 string函数:字符判断,字符转换,排序等函数
    • 1.11 string函数应用:统计字符、重新排列、合法的变量名问题求解
    • 1.12 string函数:字符串和数值互转函数
    • 1.13 string函数应用:趣味填空问题讲解
  • 2 string进阶问题-字符串深入探讨
    • 2.1 string进阶问题:词组的缩写问题讲解
    • 2.2 string进阶问题:字符串压缩问题讲解
    • 2.3 string进阶问题:我是第几个单词问题讲解
    • 2.4 string进阶问题:表达式的值问题讲解
    • 2.5 string进阶问题:整数的拼接问题讲解
    • 2.6 string进阶问题:分数计算
  • 3 进制转换-逢N进1
    • 3.1 进制转换基础-R进制和10进制互转
    • 3.2 编程实现10进制和2进制互转
    • 3.3 编程实现10进制和16进制互转
    • 3.4 进制应用:小丽找半个回文问题讲解
    • 3.5 2进制和8进制,16进制互转
    • 3.6 编程实现2进制转16进制
    • 3.7 编程实现16进制转2进制
  • 4 高精度运算-大数计算
    • 4.1 高精度运算的思路和高精度加法的实现
    • 4.2 高精度减法的算法实现
    • 4.3 高精度乘单精度的算法实现
    • 4.4 高精度乘高精度的算法实现
    • 4.5 高精度整数除法的算法实现
    • 4.6 高精度应用:求2的n次方的高精度值
    • 4.7 高精度应用:求2的次方和的高精度值
  • 5 递推算法-逐步推导法
    • 5.1 递推基础-数值类递推讲解
    • 5.2 递推应用:数塔问题讲解
    • 5.3 递推应用:数塔的行走路线问题的实现
    • 5.4 递推应用:过河卒问题的实现
    • 5.5 递推应用:Pell数列问题的实现
  • 6 贪心-最优策略选择
    • 6.1 贪心策略及贪心入门问题讲解
    • 6.2 贪心应用:排队打水问题的实现
    • 6.3 贪心应用:导弹拦截问题的实现
    • 6.4 贪心应用:活动选择问题的实现
  • 7 递归深入-再论函数自我调用
    • 7.1 递归应用-螺旋方阵
    • 7.2 值传递和地址传递详解
    • 7.3 递归实例:将循环改写为递归
    • 7.4 递归应用:递归求角谷猜想
    • 7.5 递归应用:递归解决10进制转2进制
    • 7.6 递归应用:递归求最大公约数
    • 7.7 递归应用-汉诺塔的移动次数
    • 7.8 递归应用-汉诺塔的移动
    • 7.9 递归应用-拐角
    • 7.10 递归应用-螺旋方阵
  • 8 深度优先搜索(DFS)
    • 8.1 深度优先搜索(DFS)基础
    • 8.2 深搜应用-扫地机器人问题求解
    • 8.3 扫地机器人问题分析及第2种写法
    • 8.4 扫地机器人问题第3种写法
    • 8.5 深搜应用-迷宫出口问题讲解
    • 8.6 深搜应用-数池塘问题讲解
    • 8.7 深搜进阶-走出迷宫的最少步数问题讲解
    • 8.8 深搜进阶-走出迷宫的第一条出路问题讲解
    • 8.9 深搜进阶-卒的遍历
    • 8.10 回溯-迷宫的所有路径
    • 8.11 回溯-全排列的结果
    • 8.12 回溯-素数环问题讲解
  • 9 分治和排序-分治算法及常见排序算法
    • 9.1 分治基础-二分查找的实现
    • 9.2 二分查找的递归解法,插值查找
    • 9.3 分治的应用-快速排序的实现
    • 9.4 常见排序-冒泡排序及冒泡排序的改进
    • 9.5 常见排序-选择排序
    • 9.6 常见排序-桶排序
    • 9.7 常见排序-插入排序
  • 10 广度优先搜索(BFS)
    • 10.1 广度优先搜索基础(BFS
    • 10.2 广搜应用-快乐的马里奥
    • 10.3 广搜应用-泉水
    • 10.4 广搜应用-走出迷宫的最少步数
    • 10.5 广搜应用-迷宫最短路径
    • 10.6 广搜应用-骑士牛
  • 11 指针和结构体
    • 11.1 指针基础概念(Pointer)
    • 11.2 指针的作用
    • 11.3 结构体基本概念(struct)
    • 11.4 结构体实现-成绩排名
    • 11.5 结构体实现-飞机争夺赛
    • 11.6 结构体实现-活动选择
    • 11.7 结构体实现-宇宙总统
  • 12 STL-标准模板库
    • 12.1 STL-vector的使用及相关函数讲解
    • 12.2 迭代器-iterator
    • 12.3 vector应用-数组存数问题
    • 12.4 vector应用-字典排序问题
    • 12.5 vector应用-约瑟夫问题
    • 12.6 deque-双向队列的使用
    • 12.7 list-链表的使用
    • 12.8 set-集合的使用
    • 12.9 map-映射的使用
    • 12.10 pair的应用-坐标排序问题
    • 12.11 map的应用-统计排名问题
    • 12.12 容器适配器-stack
    • 12.13 stack应用-n进制转d进制
    • 12.14 stack应用-括号匹配问题
    • 12.15 queue和priority_queue
    • 12.16 STL容器小结
  • 13 二分查找和二分答案
    • 13.1 二分查找及不同写法对比
    • 13.2 二分查找左边界
    • 13.3 二分查找右边界
    • 13.4 二分求解-同时出现的数
    • 13.5 二分求解-最满意的方案
    • 13.6 二分函数
    • 13.7 二分答案及求解伐木工问题
    • 13.8 二分答案求解-防御迷阵
    • 13.9 二分答案求解-跳石头
  • 14 DP-动态规划
    • 14.1 动态规划(DP)的基本概念
    • 14.2 动归解决数塔问题的各种写法
    • 14.3 动态规划理论小结
    • 14.4 dp解决-最大连续部分的和问题
    • 14.5 dp解决-最长不下降子序列问题
    • 14.6 dp解决-前缀最大值问题
    • 14.7 dp解决-取数问题
    • 14.8 dp解决-合唱队形问题
    • 14.9 dp解决-挖地雷算法问题
    • 14.10 dp解决-简单背包问题
    • 14.11 LIS最长递增子序列难点分析
    • 14.12 LIS问题编程实现
    • 14.13 LCS最长公共子序列问题
    • 14.14 LCS问题的第2个版本
    • 14.15 背包深入-01背包一维数组优化
    • 14.16 背包深入-完全背包问题求解
    • 14.17 背包深入-多重背包问题求解
    • 14.18 多重背包的二进制优化
    • 14.19 混合背包
分治基础-二分查找的实现