数据结构的相关知识

1、为什么学习数据结构

学习C语言: 为了让我们学会如何写程序

学习数据结构:为了让我们学会如何简洁,高效的写程序

2、数据结构研究是什么

数据结构指的是数据的逻辑结构和存储结构及其操作

2-1、数据

计算机处理的对象(数据)已不再单纯是数值,而更多的是集合

2-2、逻辑结构

数据元素与数据元素之间的关系

2-2-1、1对1 (线性关系) (线性表)

2-2-2、1对多 (树形关系) (树)

2-2-3、多对多 (网状关系) (图)

2-3、存储结构

逻辑结构在计算机中的具体实现方法,分为顺序存储方法、链接存储方法、索引存储方法、散列存储方法。

2-3-1、顺序存储方法(顺序表)

顺序存储结构的特点:

(1)逻辑上相邻的元素 ai, ai+1,其存储位置也是相邻的;逻辑相邻,物理也相邻

(2)对数据元素ai的存取为随机存取或按地址存取。 (存取比较方便)

(3)存储密度高。存储密度D=(数据结构中元素所占存储空间)/(整个数据结构所占空间)。

顺序存储结构的不足:

对表的插入和删除等运算的时间复杂度较差。 (插入和删除不是很方便)

线性表的顺序存储结构有存储密度高及能够随机存取等优点。

但存在以下不足:

(1)要求系统提供一片较大的连续存储空间。

(2)插入、删除等运算耗时,且存在元素在存储器中成片移动的现象;

时间复杂度是O(N)

2-3-2、链式存储

链表是一种重要的链式存储结构,数据节点通过指针相互连接。每个节点包含数据和指向下一个节点的引用,可以动态地添加或删除元素,不需要预先知道元素的数量,但查找某个特定元素的速度相对较慢,因为它可能需要遍历整个链表。

时间复杂度为O(1)

2-3-3、散列表(哈希存储)

也称为关联数组,它通过哈希函数将数据的关键字映射到内存的特定位置,实现了常数时间的平均查找。散列表的存储效率高,但需要解决哈希冲突,而且插入和删除复杂度取决于哈希函数的质量和处理冲突的方法。

2-4、存储结构的对比

如果数据项的大小已知且访问频率均匀,顺序存储可能是最好的;

如果频繁增删而查询较少,则链式存储更为合适;

而对于快速查找的需求,哈希存储是首选。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值