课程概述

算法与数据结构

证书要求

100%都是OJ作业,刷题,争取AC!争取AK!

预备知识

c++基础

授课大纲

简单排序与时间复杂度

STL讲义

选择排序

插入排序

冒泡排序

时间复杂度

查找、排序与时间复杂度

简单枚举

STL排序实现

分治

讲义

归并排序

快速排序

求排列的逆序数

二分查找的实现

二分法求方程的根

求一对数

农夫和奶牛

排序作业

二分作业

递归

讲义

求阶乘

汉诺塔

N皇后

逆波兰表达式求值

表达式求值

上台阶

放苹果

算24

动态规划(一)

数字三角形(1)

数字三角形(2)

动态规划解题一般思路

最长上升子序列

最长公共子序列

最佳加法表达式

讲义

DP

动态规划(二)

01背包问题

分蛋糕

动物也DP

讲义

Help Jimmy

滑雪

神奇的口袋

背包问题

背包例题

动态规划(三)

硬币找零

石子合并

传纸条

区间DP例题

区间DP习题

数学问题

数的划分

讲义

深度优先搜索(dfs)

1. 在图上寻找路径和遍历(一)

2. 在图上寻找路径和遍历(二)

3. 图的表示方法:邻接矩阵和邻接表

4. 例题1. 城堡问题

5. 例题2. 踩方格

讲义

简单搜索题

剪枝

寻路问题(一)

寻路问题(二)

生日蛋糕

深搜剪枝

广度优先搜索(bfs)

抓住这头牛

迷宫问题

八数码

讲义

bfs作业

图论算法

图论基础

讲义

图的储存

宽度优先遍历

深度优先遍历

单源最短路径

图论水题