- DSA
- BSC ALgorithm Introduction
- LUOGU
- Data Structure Visualization - Home
- Data Structure Visualization - Data Structures
- Data Structure Visualization - Source Code
- Cornel University - arXiv
- Cornel University - arXiv - Algorithms
- Computational Geometry - From theory to practice, From linear objects to curved objects
- Computational Geometry
- COMPUTATIONAL GEOMETRY INTRODUCTION
- CGAL
- Find center of circle
- calculate coodinate of point on circle
- BresenHam栅格算法
- 点到线段的最短距离
- 判断线段相交
- 计算两线段距离
- 动态规划与分治法相似,都是通过组合子问题的解来求解原问题,"programming"指的是一种表格法,并非计算机程序
- 分治方法将问题划分为互不相交的子问题,递归求解子问题,再将他们的解组合起来,求出原问题的解
- 而动态规划应用于子问题重叠的情况,利用表格法避免重复求解,常用于最优化问题,分为四步:
- 刻画一个最优解的结构特征
- 递归地定义最优解的值
- 计算最优解的值,通常采用自底向上的方法
- 利用计算出的信息构造一个最优解
- 动态规划方法是付出额外的内存空间来节省计算时间,是典型的时空权衡的例子,而时间上的节省可能是非常大的,可能将指数时间的解转换为多项式时间的解
- 两种实现方法:
- 带备忘录的自顶向下法(top-down with memoization method)
- 自底向上法(bottom-up method)
- 最优子结构
- 无权最短路径:找到一条由u到v的边数最少的路径,该路径必然是简单路径,该问题具有最有子结构,可以使用动态规划算法求解
- 无权最长路径:找到一条由u到v的边数最多的路径,该路径需要加上简单路径的要求,该问题是NP问题
- 重叠子问题
- 重构最优解
- 备忘
- Dynamic Programming
- Bellman Equation
- Checker Borad Problem
- Egg Dropping Puzzle
- Tower of Hanoi Puzzle
- Sequence Alignment
- A type of balanced 0-1 matrix
- A tutorial on Dynamic Programming
- Another tutorial on Dynamic Programming
- A Gentle Introduction toDynamic Programming and the Viterbi Algorithm
- A Simple Introduction to DynamicProgramming in Macroeconomic Models
- Video Lectures
- Dynamic Programming: from novice to advanced
- OR/MS Games: 1. A Neglected Educational Resource
- OR/MS Games: 2. Towers of Hanoi
- OR/MS Games: 3. Counterfeit Coin Problem
- OR/MS Games: 4. The Joy of Egg-Dropping in Braunschweig and Hong Kong
- 扔鸡蛋问题详解
- 8 Queens Problem
- Implementing strcmp, strlen, and strstr using SSE 4.2 instructions
- Table-driven approach
- recommanded books
- Simulated annealing for multi-robot hierarchical task allocation with flexible constraints and objective functions
- MTSP Implementations and solution modeling 1
- MTSP Implementations and solution modeling 2
- MTSP Implementations and solution modeling 3
- Simulated Annealing - Solving the Travelling Salesman Problem (TSP)
- Travelling Salesman using simulated annealing C++
- in place: bubble sort, insert sort, selection sort, shell sort, quick sort
- not in place: merge sort, radix sort, counting sort, heap sort, bucket sort
- stable: bubble sort, insert sort, merge sort, radix sort, counting sort, bucket sort
- unstable: selection sort, shell sort, quick sort, heap sort
- counting sort
- radix sort
- bucket sort