数据结构学习绪论
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构学习绪论相关的知识,希望对你有一定的参考价值。
概念
数据的概念
- 数据元素
组成数据的最基本单位 - 数据项
一个数据由多个数据项组成 - 数据对象
性质相同的数据元素组成的集合
数据结构
数据结构:是指数据对象中数据元素之间的关系
逻辑结构
集合结构
数据元素之间没有特别关系,仅同属于一个集合线性结构
数据元素之间是一对一的关系树形结构
数据元素之间存在一对多的层次关系图形结构
数据元素间是多对多的关系
物理结构
顺序存储
将数据存储在地址连续的存储单元里面链式存储
将数据存储到任意的储存单元里面,通过地址保存的方式找到相关联的数据元素
算法
算法:特定问题求解步骤的描述
算法的特性
正确性
算法对于合法数据能够得到满足要求的结果;能处理非法输入,得到合理的结果;对于边界数据和压力数据都能得到满足可读性
算法要方便阅读、理解和交流健壮性
算法不应该产生莫名其妙的结果性价比
利用最少的资源得到满足要求的结果
算法和数据结构间关系
程序 = 数据结构 + 算法
算法是为了解决实际问题而存在
数据结构是算法处理问题的载体
数据结构与算法相辅相成,共同解决问题
算法效率的度量
事后统计法
比较不同算法对同一组输入数据的运行处理时间
缺陷:不容易准确度量算法的效率事前分析估算算法
通过操作数量度量算法的效率
算法的时间复杂度
算法效率主要通过时间复杂度进行判断
大O表示法用于描述算法的时间复杂度,它只关心操作数的最高次项
算法效率的度量
常见时间复杂度的比较
O(1) < O(log n) < O(n) < O(n*log n) < O(n^2) < O(n^3) < O(2^n) < O(n!) < O(n^n)
当时间复杂度大于O(n^3)时,即使n的值很小工程上也不接受
一般在分析算法时,重点考虑在最坏情况下的时间复杂度
算法重点关心时间复杂度算法的空间复杂度也适用于大O表示法
空间换时间策略是开发中常用的策略
以上是关于数据结构学习绪论的主要内容,如果未能解决你的问题,请参考以下文章