算法的定义
An algorithm is a sequence of unambiguous instructions for solving a problem
即算法是解决问题的无二义性的指令序列.简单说就是用来解决问题步骤.
算法设计及实现流程
算法设计及实现流程重要的问题类型
- Sorting
- Searching
- String processing
- Graph problems
- Combinatorial problems
- Geometric problems
- Numerical Problems
基础数据结构
- linear data structure
- array
- list
- stack
- queue
- graphs
- tree
- set and dictionaries
常用的算法思想
- Brute force (暴力求解)
- Divide and conquer (分治法)
- Decrease and conquer (减治法)
- Transform and conquer (转治法)
- Space and time tradeoffs (时空权衡)
- Greedy approach (贪婪算法)
- Dynamic programming (动态规划)
- Iterative improvement (迭代改进)
- Backtracking (回溯法)
- Branch and bound (分支界限法)
基本上,算法就是围绕上面提到的问题和数据结构进行研究,遇到某个问题时,先分析问题,确定问题类型和使用的数据结构,有利于快速找到头绪.
网友评论