数据结构与算法--概念

本文探讨了数据结构的核心概念,包括逻辑结构、物理结构和数据运算,强调了正确选择数据结构对提升运行和存储效率的重要性。同时,介绍了顺序结构、链式存储、索引存储和散列存储四种常见存储方式的优缺点。此外,还阐述了算法在解决问题中的作用,以及评估算法效率的时间复杂度和空间复杂度指标。

概念

数据结构,来处理数据多的情况,数据结构是计算机组织和存储大量数据的方法。
算法是处理数据的方法,精心选择的数据结构可以带来更高的运行和存储效率。

讨论一种数据结构时,需要关注的三个方面︰
在这里插入图片描述

1.逻辑结构是组织数据的方法、物理结构是存储数据的方法,数据的运算是操作数据的方法。
在这里插入图片描述
逻辑结构可以简单分为线性结构和非线性结构。

2.在这里插入图片描述
顺序结构就是按照1,2,3这样按照连续空间顺序去存储数据,链式存储就灵活多了,数据存在哪里不重要,只要有一个指针存放了相应的地址就能找到它了,知道1号数据的地址,就可以知道2号数据的地址。

索引存储的方法就像书的目录。在存储数据元素信息的同时,还要建立附加的索引表,索引表中的每一项称为索引项,索引项的一般形式是(关键字+地址)。其优点是检索速度快;缺点是索引表也要占用存储空间。另外,增加和删除数据的同时也要修改索引表。

散列存储,根据元素的关键字直接计算出该元素的存储地址,又称哈希(Hash)存储。其优点是检索、增加和删除结点的操作都很快﹔缺点是如果散列函数不好,可能出现元素存储单元的冲突,而解决冲尖会增加时间和空间的开销。
3.
最后是,数据的运算,施加在数据上的运算包括运算的定义实现。运算的定义是针对逻辑结构的,指出运算的功能;运算的实现是针对存储结构的,指出运算的具体操作步骤。
数据的运算可以理解为对数据的操作方法和具体实现。例如线性表,有增加、修改、删除数据元素(记录)的方法,线性表又分顺序存储和链式存储两种方式,这两种存储方式的代码实现是不一样的,不同的编程语言也不一样。

算法
算法是指解决方案的准确而完整的描述,是一系列解决问题的清晰指令。
研究算法的目的是为了更有效的处理数据,提高数据运算效率。算法是定义在数据的逻辑结构上,但算法具体实现要在存储结构上进行。
在这里插入图片描述
在这里插入图片描述
就好比算一个1+到99,我们学C语言都是for循环累加,用了算法就不一样了,我们就可以使用求和公式来算,提高运算的效率。

算法效率的评估:
一个算法的效率可以用时间复杂度和空间复杂度来衡量。

学习视频:
数据结构概念视频

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值