计算机算法
大约 2 分钟
计算机算法
DeeLMind 提示
算法是无穷的,数学是根本的
计算机算法是指一系列用于解决问题或执行任务的明确步骤和规则。算法通常是由计算机科学家和程序员设计的,旨在高效地执行任务、解决问题或者优化性能。算法在计算机科学中占据着核心地位,涵盖了从数据处理到图形渲染、机器学习等各个方面。
https://deelmind.com/program/alg/
算法类型
- 贪婪算法
- 递归算法
- 动态规划
- ......
什么是数据结构
数据结构是计算机存储、组织数据的方式。
数据结构类型
- 堆栈(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)