Skip to content
禄若阳的 Tech Notes
Search
K
Main Navigation
首页
基础原理
计算机网络
计算机组成原理
操作系统
数据结构
算法分析设计
编程语言
前 端
HTML
CSS
JS
后 端
C
C++
Java
Python
Lua
大数据
数据库
简介
MySQL
Redis
MongoDB
消息队列
RocketMQ
Kafka
Spring系列
Spring Framework
Spring Boot
Spring Cloud
DevOps
Git
中间件
ElasticSearch
Open Resty
必备算法
排序算法
面试题
关于
WeChat
Appearance
WeChat
Menu
Return to top
本页内容
算法分析与设计学习指南
算法学习的重点是把问题转化为可计算的模型,并在正确性、时间成本和空间成本之间取得平衡。
分析框架
明确输入、输出和边界条件。
先写出直接但正确的解法。
找出重复计算或不必要的搜索空间。
使用时间复杂度和空间复杂度比较方案。
用正常、边界和异常数据验证实现。
常见设计方法
分治:把问题拆成相互独立的子问题;
贪心:每一步选择当前最优解,并证明其全局正确性;
动态规划:保存重复子问题的结果;
回溯:系统枚举候选方案并及时剪枝;
图搜索:使用广度优先或深度优先探索状态空间。
排序算法的实现与比较可从
排序算法专题
开始。