Java数据结构与算法之数据结构-存储结构(10)------Java四大存储结构
来源:互联网 发布:索尼vr 知乎 编辑:程序博客网 时间:2024/05/16 06:49
一、Java的四大存储结构如下图红色框标注:
二、四大存储结构的基本概述如下:
存储结构分四类:顺序存储、链接存储、索引存储 和 散列存储。
顺序结构和链接结构适用在内存结构中。
索引结构和散列结构适用在外存与内存交互结构。
顺序存储:在计算机中用一组地址连续的存储单元依次存储线性表的各个数据元素,称作线性表的顺序存储结构。
特点:
1、随机存取表中元素。
2、插入和删除操作需要移动元素。
链接存储:在计算机中用一组任意的存储单元存储线性表的数据元素(这组存储单元可以是连续的,也可以是不连续的)。它不要求逻辑上相邻的元素在物理位置上也相邻.因此它没有顺序存储结构所具有的弱点,但也同时失去了顺序表可随机存取的优点。
特点:
1、比顺序存储结构的存储密度小 (每个节点都由数据域和指针域组成,所以相同空间内假设全存满的话顺序比链式存储更多)。
2、逻辑上相邻的节点物理上不必相邻。
3、插入、删除灵活 (不必移动节点,只要改变节点中的指针)。
4、查找结点时链式存储要比顺序存储慢。
5、每个结点是由数据域和指针域组成。
索引存储:除建立存储结点信息外,还建立附加的索引表来标识结点的地址。索引表由若干索引项组成。
特点:
索引存储结构是用结点的索引号来确定结点存储地址,其优点是检索速度快,缺点是增加了附加的索引表,会占用较多的存储空间。
散列存储:散列存储,又称hash存储,是一种力图将数据元素的存储位置与关键码之间建立确定对应关系的查找技术。
散列法存储的基本思想是:由节点的关键码值决定节点的存储地址。散列技术除了可以用于查找外,还可以用于存储。
特点:
散列是数组存储方式的一种发展,相比数组,散列的数据访问速度要高于数组,因为可以依据存储数据的部分内容找到数据在数组中的存储位置,进而能够快速实现数据的访问,理想的散列访问速度是非常迅速的,而不像在数组中的遍历过程,采用存储数组中内容的部分元素作为映射函数的输入,映射函数的输出就是存储数据的位置,这样的访问速度就省去了遍历数组的实现,因此时间复杂度可以认为为O(1),而数组遍历的时间复杂度为O(n)。
- Java数据结构与算法之数据结构-存储结构(10)------Java四大存储结构
- java 数据结构之 顺序存储结构 栈
- java 数据结构之 链式存储结构 栈
- java 数据结构之 顺序存储结构 队列
- java 数据结构之 链式存储结构 队列
- java 数据结构之 顺序存储结构 串
- 数据结构之逻辑结构与存储结构
- 数据结构之存储结构
- 数据结构之存储结构
- 数据结构之逻辑结构与物理结构(存储结构)
- 数据结构与算法(Java描述)-11、串的基本概念以及串存储结构
- 数据结构逻辑结构与存储结构
- 数据结构 链式存储结构
- 数据结构-存储结构
- 数据结构--链式存储结构
- 数据结构与算法系列-树-二叉树存储结构
- 数据结构与算法4:树的基本存储结构
- 数据结构与算法5:图的存储结构
- [USACO06NOV]玉米田Corn Fields(状压DP)
- 每日区块链:MAS高管:新加坡拥有50家区块链创业公司,已成区块链中心
- 在JAVA应用中远程提交MapReduce程序至Hadoop集群运行
- 欢迎使用CSDN-markdown编辑器
- Linux下源码安装mysql5.7.17
- Java数据结构与算法之数据结构-存储结构(10)------Java四大存储结构
- ssh-keygen和ssh-copy-id实现免密登录远程主机
- unity 优化
- 【云栖大会】阿里巴巴成立“达摩院” 引入顶尖科学家3年研发投入将超千亿
- C++11标准 正则表达式
- sprintf函数的简要说明
- 关于打包的时候选择V1V2
- 100 道常见 Hadoop 面试题及答案解析
- Python基础之IO文件目录的操作