数据结构

数据结构

1.定义

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

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

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

程序 = 数据结构 + 算法

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

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

集合:关系平等

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

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

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

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

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

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

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

需要预分配内存空间

容易造成存储空间碎片

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

缺点:访问元素效率低

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

不需要预分配内存

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

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

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

相关推荐
_星辰大海乀1 小时前
数据库约束
java·数据结构·数据库·sql·链表
爱喝茶的小茶1 小时前
构造+简单树状
数据结构·算法
小王努力学编程2 小时前
高并发内存池(三):TLS无锁访问以及Central Cache结构设计
jvm·数据结构·c++·学习
草莓啵啵~3 小时前
数据结构--二叉树
数据结构
Watink Cpper3 小时前
[数据结构高阶]并查集初识、手撕、可以解决哪类问题?
数据结构·图论··并查集
什码情况4 小时前
星际篮球争霸赛/MVP争夺战 - 华为OD机试真题(A卷、Java题解)
java·数据结构·算法·华为od·面试·机试
.Vcoistnt4 小时前
Codeforces Round 1024 (Div. 2)(A-D)
数据结构·c++·算法·贪心算法·动态规划·图论
程序员爱钓鱼5 小时前
循环语句:for、range -《Go语言实战指南》
java·数据结构·算法
矿渣渣5 小时前
YAFFS2 文件系统的 `yaffs_dev` 数据结构详解
数据结构·文件系统·nand flash·yaffs2
Phoebe鑫5 小时前
数据结构每日一题day17(链表)★★★★★
数据结构·链表