学习笔记之数据结构与算法(二)

来源:互联网 发布:中国gdp数据折线图 编辑:程序博客网 时间:2024/05/24 06:09

数据结构

数据结构是计算机存储、组织数据的方式。它描述了数据元素之间的相互关系,以及数据元素的组织形式

逻辑结构

数据的逻辑结构是指从逻辑的关系上描述数据,与数据的存储无关,并且独立于语言。
本人的理解(也就是用逻辑方式去描述数据,如果一个人是数据,那我们就会用对方的外表,行为等去描述这个人,让别人分别得出他与其他人不同之处,同理,你要让别人理解你的数据,你就要描述它的意义所在,不同所在,

存储结构

数据的存储结构是指数据元素及其关系在计算机存储时如何表示,依赖于语言的
本人理解(数据按存储的地址来描述数据的,比如老板叫小邱去提货物,但仓库很多,如果老板不说去提哪个仓库的货,那他就只能呆在原地,无法辨别)

数据运算

数据运算通常定义在数据的逻辑结构上,每种逻辑结构都有一个运算的集合,但运算的具体实现要在存储结构上进行。

算法

算法是为求解一个问题需要遵循的、被清晰地指定的简单指令的集合。

算法分析:复杂度

复杂度是衡量一个算法好坏的重要手段,分为时间复杂度和空间复杂度。

时间复杂度

它以一个算法执行的时间长短来衡量一个算法的优劣。如果问题规模是n,则时间复杂度是n的一个函数,记做T(n)=O(f(n))
也就是 算法的执行时间=算法循环次数*操作执行的时间
例子:for(i = 0; i <= n; i++)  这时间复杂度就是O(n);   for(i = 0; i <= 2n; i++) 这时间复杂度就是O(2n)

空间复杂度

它以一个算法执行过程所要占用的存储空间多少来衡量一个算法的优劣。它也是问题规模n的一个函数,记做S(n)=O(f(n))
比如插入算法,最终只插入了一个值,额外消耗了一个存储空间 , 因此空间复杂度就是O(1)

复杂度越高,算法执行效率就越低,算法也就越差。因此,复杂度是算法优劣判断的标准

0 0
原创粉丝点击