算法讲解

DeeLMind大约 2 分钟

算法讲解

YouTube系列教程open in new window

B站系列教程open in new window

什么是算法

算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。也就是你面对一个问题的解决思路,数学是解决此问题最好的工具。

算法类型

  • 贪婪算法
  • 递归算法
  • 动态规划
  • ......

什么是数据结构

数据结构是计算机存储、组织数据的方式。

数据结构类型

  • 堆栈(Stack)
  • 队列(Queue)
  • 数组(Array)
  • 链表(Linked List)
  • 树(Tree)
  • 图(Graph)
  • 堆积(Heap)
  • 散列表(Hash table)

编程语言

什么编程语言都可,主要看你擅长什么,具体算法数据结构理论上不依附于编程语言,但实际编写,的确会用到语言特性,所以具体情况具体看。

算法&数据结构

算法是解决问题的思路,逻辑思考的过程;而数据结构是数据存储的方式。其实数据怎么存储也是一个问题,解决这个问题的过程就也是所谓的算法,所以通常情况算法数据结构常常一起出现,多学习慢慢就明白了。

学习方法

时间复杂度

时间复杂度指输入数据大小为N时,算法运行所需花费的时间。

O(1)<O(logN)<O(N)<O(NlogN)<O(N2)<O(2N)<O(N!)

空间复杂度

  • 输入空间: 存储输入数据所需的空间大小;
  • 暂存空间: 算法运行过程中,存储所有中间变量和对象等数据所需的空间大小;
  • 输出空间: 算法运行返回时,存储输出数据所需的空间大小;

O(1)<O(logN)<O(N)<O(N2)<O(2N)

上次编辑于:
贡献者: DeeLMind