还记得这个经典公式吗? 算法
程序=数据结构+算法 数组
可见数据结构和算法对于程序的重要性。基于此博主写了数据结构与算法系列随笔。下面先给出数据结构与算法的思惟导图。数据结构
数据结构定义:数据结构和算法
数据结构是一种存储和组织数据的方式,以便于访问和修改。数据结构包括数据的逻辑结构、数据的存储结构以及数据的运算,即按照某种逻辑关系组织起来的一批数据,按必定的映射方式把它存放在计算机的存储器中,并在这些数据上定义了一个运算的集合。函数
算法定义:设计
计算机求解一个问题所需的一系列步骤对象
算法的基本特性:blog
算法设计的要求:索引
时间复杂度:get
程序大概的执行次数(不是执行时间)。通常状况下,算法中基本操做重复执行的次数是问题规模n的某个函数,用T(n)表示,如有某个辅助函数f(n),使得当n趋近于无穷大时,T(n)/f(n)的极限值为不等于零的常数,则称f(n)是T(n)的同数量级函数。记做T(n)=O(f(n)),称O(f(n)) 为算法的渐进时间复杂度,简称时间复杂度
空间复杂度:
该算法所耗费的存储空间,它也是问题规模n的函数。其是对一个算法在运行过程当中临时占用存储空间大小的量度。一个算法在计算机存储器上所占用的存储空间,包括存储算法自己所占用的存储空间,算法的输入输出数据所占用的存储空间和算法在运行过程当中临时占用的存储空间这三个方面。