数据结构

数据结构

1.定义

一组用来保存一种或者多种特定关系的数据的集合(组织和存储数据)

程序的设计:将现实中大量而复杂的问题以特定的数据类型和特定的存储结构存储在内存中,

并在此基础上实现某个特定的功能的操作;

程序 = 数据结构 + 算法

2.数据与数据之间的关系

数据的逻辑结构:数据元素与元素之间的关系

集合:关系平等

线性结构:元素之间一对一的关系(表(数组,链表),队列。栈。。。)

树型结构:元素之间一对多的关系(二叉树)

图形结构:元素之间多对多的关系(网状结构)

数据的物理结构:数据的逻辑结构在计算机内存中的存储形式

顺序存储:采用一段连续的内存空间保存元素

优点:空间连续,访问方便

缺点:插入删除需要移动大量的元素

需要预分配内存空间

容易造成存储空间碎片

链式存储:采用一组非连续的内存空间保存元素

缺点:访问元素效率低

优点:插入和删除数据方便

不需要预分配内存

索引存储:通过关键字构建索引表,通过索引表来来找到数据的存储位置

散列存储(哈希存储):将数据元素的存储位置与关键码之间建立确定对

应关系从而实现查找的存储方式

相关推荐
豆沙沙包?4 分钟前
2026年--Lc334-2130. 链表最大孪生和(链表转数组)--java版
java·数据结构·链表
Python_Study20252 小时前
制造业数据采集系统选型指南:从技术挑战到架构实践
大数据·网络·数据结构·人工智能·架构
SmoothSailingT3 小时前
408每日一题——数据结构
数据结构·考研·408
im_AMBER5 小时前
Leetcode 99 删除排序链表中的重复元素 | 合并两个链表
数据结构·笔记·学习·算法·leetcode·链表
s砚山s6 小时前
代码随想录刷题——二叉树篇(十三)
数据结构·算法
ulias2126 小时前
AVL树的实现
开发语言·数据结构·c++·windows
黎雁·泠崖6 小时前
二叉树知识体系全梳理:从基础到进阶一站式通关
c语言·数据结构·leetcode
蜕变菜鸟6 小时前
JS的Object.keys()和sort()排序的用法
数据结构·算法
镜中人★6 小时前
408数据结构考纲知识点(更新中)
数据结构
杜子不疼.7 小时前
【LeetCode30_滑动窗口 + 哈希表】:三招搞定“串联所有单词的子串”
数据结构·算法·哈希算法