算法——基础知识(1)


算法

1.什么是算法?

  • 在百度百科里面这样定义,算法是解决特定问题求解步骤的描述,即处理问题的策略,表现为指令的有限序列,每条指令表示一个或多个操作。
    什么是数据接口?
  • 数据接口,英语是data structure,是数据的组织、管理和存储格式,其使用的目的是为了高效的访问和修改数据。

2.常用的数据结构?

  • 线性结构,线性结构是最简单的数据结构,包括数组、链表、以及由他们衍生出来的栈,队列,哈希表等
  • 树是比较复杂的数据结构,代表性的是二叉树,还有其他等(二叉树、B树、B+树)

3.衡量算法的好坏?
衡量算法的好坏由两个维度:

  • 时间复杂度
  • 空间复杂度

时间复杂度是对一个算法运行时间长度的量度,用大O表示,记作T(n)=O(f(n)),常见的时间复杂度从低到高的顺序是O(1) 空间复杂度是对一个算法在运行过程中临时占用存储空间大小的量度,用大O表示,记作S(n)=O(f(n)),常见的空间复杂度从低到高的是O(1)

基本数据结构