跳转至

算法 Algorithms

面向面试的算法 🙂

内容主要基于 OI Wiki 和 LeetCode。

什么是算法?

An algorithm is a sequence of unambiguous instructions for solving a problem, i.e., for obtaining a required output for any legitimate input in a finite amount of time. (Introduction to the Design & Analysis of Algorithms)

  1. 解决一个问题
  2. 是一系列明确的指令
  3. 能在有限的时间内输出正确的答案

算法的特征

一个典型的算法一般都可以抽象出5个特征:

  1. 有穷性:算法的指令或者步骤的执行次数和时间都是有限的。
  2. 确切性:算法的指令或步骤都有明确的定义。
  3. 输入:有相应的输入条件来刻画运算对象的初始情况。
  4. 输出:一个算应有明确的结果输出。
  5. 可行性:算法的执行步骤必须是可行的。

复杂度分析

TODO

资源