Skip to content

infinityglow/Algorithm-and-Complexity

Repository files navigation

Algorithm and Complexity

目录

介绍 (Introduction)

1.1 什么是算法

基本知识 (Basic Knowledge)

2.1 基本数据结构
 2.2 算法的问题类型

复杂度分析 (Complexity Analysis)

 3.1 三种表示方法:O, Ω, Θ
3.2 复杂度分析(非递归)
3.3 复杂度分析(递归)

暴力求解 (Brute Force)

4.1 冒泡排序与选择排序
4.2 顺序查找与字符串匹配(BF)
4.3 图的两种遍历
4.4 最近点对与凸包问题(BF)
4.5 暴力搜索

减治法(Decrease and Conquer)

5.1 插入排序
5.2 拓扑排序
5.3 二分查找与二叉树
5.4 插值查找

分治法(Divide and Conquer)

6.1 归并排序
6.2 快速排序
6.3 二叉树的遍历
6.4 最近点对与凸包问题(DC)

变治法(Transform and Conquer)

7.1 预排序
7.2 霍纳法则
7.3 堆与堆排序
7.4 AVL树
7.5 红黑树
7.6 2-3树

时空权衡(Time Space Tradeoff)

8.1 计数排序
8.2 字符串匹配(TST)
8.3 哈希

动态规划(Dynamic Programming)

9.1 关于钱的两个经典问题
9.2 背包问题(DP)
9.3 弗洛伊德算法

贪心算法(Greedy Algorithm)

10.1 普林姆算法
10.2 克鲁斯卡尔算法
10.3 迪克斯特拉算法
10.4 哈弗曼树

*高阶算法(Advanced Algorithm)

*回溯
*分支限界
 *千禧问题:P = NP ?

About

Python code for algorithm and complexity

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages