当前位置: 首页 > news >正文

常见的数据结构有哪些?

数据结构分为逻辑结构物理结构

  • 逻辑结构:指数据元素之间逻辑关系的数据结构,这里的逻辑关系是指数据元素之间的前后间关系,与数据在计算机中的存储位置无关。
  • 物理结构:指数据的逻辑结构在计算机存储空间中的存放形式称为数据的物理结构,也叫做存储结构。

数据的逻辑结构主要分为线性结构非线性结构

  • 线性结构:数据结构的元素之间存在一对一线性关系,所有结点都最多只有一个直接前趋结点和一个直接后继结点。常见的有数组、队列、链表、栈。
  • 非线性结构:各个结点之间具有多个对应关系,一个结点可能有多个直接前趋结点和多个直接后继结点。常见的有多维数组、广义表、树结构和图结构等。

数据的物理结构(以后我都统一称存储结构),表示数据元素之间的逻辑关系,一种数据结构的逻辑结构根据需要可以表示成多种存储结构,常用的存储结构有:

  • 顺序存储:存储顺序是连续的,在内存中用一组地址连续的存储单元依次存储线性表的各个数据元素。
  • 链式存储:在内存中的存储元素不一定是连续的,用任意地址的存储单元存储元素,元素节点存放数据元素以及通过指针指向相邻元素的地址信息。
  • 索引存储:除建立存储结点信息外,还建立附加的索引表来标识节点的地址。索引表由若干索引项组成。
  • 散列存储:又称Hash存储,由节点的关键码值决定节点的存储地址。

常用的数据结构

  • 数组(Array)
  • 队列(Queue)
  • 链表(Linked List)
  • 栈(Stack)
  • 树(Tree)
  • 散列表(Hash)
  • 堆(Heap)
  • 图(Graph)

相关文章:

  • 通过右键用WebStorm、Idea打开某个文件夹或者在某一文件夹下右键打开当前文件夹用上述两个应用
  • 2023最新软件测试20个基础面试题及答案
  • 实测_GPT_Assistant
  • CentOS修改root用户密码
  • Vue+ElementUI技巧分享:自定义表单项label的文字提示
  • golang中context使用总结
  • 【自动化测试】基于Selenium + Python的web自动化框架!
  • SDL2 消息循环和事件响应
  • RESTful(Representational State Transfer)
  • 第五章 将对象映射到 XML - 指定映射 XML 文档的格式选项
  • 5、鸿蒙项目远程调试
  • 目标检测—YOLO系列(二 ) 全面解读论文与复现代码YOLOv1 PyTorch
  • 【数据结构】栈与队列的实现
  • Elasticsearch 索引库操作与 Rest API 使用详解
  • Cloud
  • [rust! #004] [译] Rust 的内置 Traits, 使用场景, 方式, 和原因
  • 《网管员必读——网络组建》(第2版)电子课件下载
  • 2017-09-12 前端日报
  • 2018以太坊智能合约编程语言solidity的最佳IDEs
  • Android Volley源码解析
  • Codepen 每日精选(2018-3-25)
  • Js基础——数据类型之Null和Undefined
  • js如何打印object对象
  • miniui datagrid 的客户端分页解决方案 - CS结合
  • nodejs调试方法
  • UMLCHINA 首席专家潘加宇鼎力推荐
  • 阿里云爬虫风险管理产品商业化,为云端流量保驾护航
  • 记一次删除Git记录中的大文件的过程
  • 理解 C# 泛型接口中的协变与逆变(抗变)
  • 漂亮刷新控件-iOS
  • 前端技术周刊 2019-01-14:客户端存储
  • 深度学习在携程攻略社区的应用
  • 容器镜像
  • ​ArcGIS Pro 如何批量删除字段
  • ###51单片机学习(1)-----单片机烧录软件的使用,以及如何建立一个工程项目
  • #我与Java虚拟机的故事#连载07:我放弃了对JVM的进一步学习
  • (arch)linux 转换文件编码格式
  • (react踩过的坑)antd 如何同时获取一个select 的value和 label值
  • (八)Flask之app.route装饰器函数的参数
  • (二)fiber的基本认识
  • (仿QQ聊天消息列表加载)wp7 listbox 列表项逐一加载的一种实现方式,以及加入渐显动画...
  • (附源码)springboot 基于HTML5的个人网页的网站设计与实现 毕业设计 031623
  • (附源码)计算机毕业设计ssm高校《大学语文》课程作业在线管理系统
  • (没学懂,待填坑)【动态规划】数位动态规划
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理 第13章 项目资源管理(七)
  • (转)【Hibernate总结系列】使用举例
  • *Django中的Ajax 纯js的书写样式1
  • .chm格式文件如何阅读
  • .mat 文件的加载与创建 矩阵变图像? ∈ Matlab 使用笔记
  • .MyFile@waifu.club.wis.mkp勒索病毒数据怎么处理|数据解密恢复
  • .NET 4.0中使用内存映射文件实现进程通讯
  • .NET 5种线程安全集合
  • .NET Core日志内容详解,详解不同日志级别的区别和有关日志记录的实用工具和第三方库详解与示例
  • .NET Project Open Day(2011.11.13)
  • .net访问oracle数据库性能问题