数据结构与算法之--基本概念
2017-07-08 16:44
309 查看
数据结构和算法各是指什么?作用是什么? 具体有哪些数据结构,又有哪些算法?
数据结构是数据在计算机内存或者外存中的组织方式,算法就是计算机操作数据结构中数据的方式方法,比如查找、排序。
很少有数据结构是为了节省存储空间的,数据结构和算法的常见目的都集中与提高数据操作的速度上。
常见数据结构有:数组(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)等,一个比一个高阶。
数据结构是数据在计算机内存或者外存中的组织方式,算法就是计算机操作数据结构中数据的方式方法,比如查找、排序。
很少有数据结构是为了节省存储空间的,数据结构和算法的常见目的都集中与提高数据操作的速度上。
常见数据结构有:数组(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)等,一个比一个高阶。
相关文章推荐
- 数据结构(一):数据结构的基本概念和算法的时间和空间复杂度
- 数据结构基本概念及算法和算法分析 -- 引自《新编数据结构习题与解析》(李春葆等著)
- 数据结构笔记(1)算法数据结构的基本概念O估计法
- 什么是算法-数据结构学习笔记1.2(基本概念)
- 数据结构基本概念和算法分析
- 数据结构和算法的基本概念
- [数据结构]算法基本概念和推导大O阶步骤
- 数据机构与算法-数据结构的一些基本概念
- 数据结构和算法基本概念
- [数据结构和算法]算法基本概念
- 数据结构和算法-----基本概念
- Java算法基础----数据结构基本概念
- 数据结构之概述(数据和算法基本概念,时间复杂度)
- 数据机构与算法-数据结构的一些基本概念
- 从零开始_学_数据结构(一)——算法的基本概念
- 数据机构与算法-数据结构的一些基本概念
- 算法和数据结构基本概念
- 数据结构与算法基本概念
- 数据结构 学习笔记(一):基本概念:什么是数据结构和算法,应用实例
- 数据机构与算法-数据结构的一些基本概念