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

本文详细介绍了数据结构的概念,包括逻辑结构、存储结构及其运算,同时深入探讨了算法及其复杂度分析,帮助读者理解如何评价算法的优劣。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据结构

数据结构是计算机存储、组织数据的方式。它描述了数据元素之间的相互关系,以及数据元素的组织形式
逻辑结构
数据的逻辑结构是指从逻辑的关系上描述数据,与数据的存储无关,并且独立于语言。
本人的理解(也就是用逻辑方式去描述数据,如果一个人是数据,那我们就会用对方的外表,行为等去描述这个人,让别人分别得出他与其他人不同之处,同理,你要让别人理解你的数据,你就要描述它的意义所在,不同所在,
存储结构
数据的存储结构是指数据元素及其关系在计算机存储时如何表示,依赖于语言的
本人理解(数据按存储的地址来描述数据的,比如老板叫小邱去提货物,但仓库很多,如果老板不说去提哪个仓库的货,那他就只能呆在原地,无法辨别)
数据运算
数据运算通常定义在数据的逻辑结构上,每种逻辑结构都有一个运算的集合,但运算的具体实现要在存储结构上进行。

算法

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

算法分析:复杂度

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

时间复杂度

它以一个算法执行的时间长短来衡量一个算法的优劣。如果问题规模是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)

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值