组织存储数据 --->内存
程序=数据结构 + 算法
定义:
一组用来保存一种或者多种特定关系的数据的集合(组织和存储数据)
程序的设计:
将现实中大量而复杂的问题以特定的数据类型和特定的存储结构存储在内存中,并在此基础上实现某个特定的功能的操作
数据与数据之间的关系:
数据的逻辑结构:数据元素与元素之间的关系
集合:关系平等
线性结构:元素之间一对一的关系(表(数组、链表),队列,栈)
树形结构:元素之间一对多的关系(二叉树)
图形结构:元素之间多对多的关系(网状结构)
数据的物理结构:数据的逻辑结构在计算机内存中的存储形式
顺序存储:采用一段连续的内存空间保存元素
数组:1、空间连续
2、访问数据方便
3、插入和删除需要移动大量数据
4、预分配内存空间
5、容易产生外内存碎片(结构体容易产生内内存碎片)
链式存储结构:采用一组非连续的内存空间保存元素
链表:1、空间不连续
2、访问数据需要遍历
3、插入和删除方便
4、不需要预分配
索引存储:通过关键字构建索引表,通过索引表来找到数据的存储位置
散列存储(哈希存储):将数据元素的存储位置与关键码之间建立确定对应关系从而实现查找的存储方式(方便查找)
线性结构:
顺序表--->数组
链式表--->链表
链表:
单向链表
有头链表:
无头链表:头插和头删不方便
标签:存储,元素,链表,内存,数据结构,数据,基本概念,结构 From: https://blog.csdn.net/chdtu/article/details/141871547