首页 > 代码库 > 数据结构与算法之--基本概念

数据结构与算法之--基本概念

数据结构和算法各是指什么?作用是什么? 具体有哪些数据结构,又有哪些算法?

  数据结构是数据在计算机内存或者外存中的组织方式,算法就是计算机操作数据结构中数据的方式方法,比如查找、排序。

很少有数据结构是为了节省存储空间的,数据结构和算法的常见目的都集中与提高数据操作的速度上。

常见数据结构有:数组(Arrays),链表(Linked List),栈(Stack),队列(Queue),二叉树(Binary Tree),哈希表(Hash Table),图(Graph)等,

常见算法:查找,排序。

 

算法性能的评价方式:时间复杂度与空间复杂度、大O表示法

  算法的时间复杂度和空间复杂度分别表示,随着数据量N的增加,算法需要的时间和存储空间开销的增长趋势。

大O表示法是为了量化这种复杂度的增长趋势,从而方便地区分算法的性能。关于大O表示法,让我联想起,

在高等数学中,同阶无穷小的含义,具体是这样的:

  若当自变量x->0(或者无穷)时,函数f(x)和g(x):f(x)/g(x)=Constant。

类似的,在算法复杂度的评价上,若有一数据集,其数据量N->无穷时,两种算法的时间复杂度AF(N)/AG(N)=Constant,

就说两种算法在时间开销的增长趋势是同阶的,记为:AF=O(AG)。

常见的算法复杂度有:

O(1), O(logN), O(N), O(N*logN), O(N^2), O(2^N)等,一个比一个高阶。

 

数据结构与算法之--基本概念