数据结构是什么?

这可能要先知道,什么是数据?
我认为,数据是描述客观事物的载体,反映客观事物之间的关联关系。
比如一个人的姓名、性别、年龄、身高等;再比如一个学生之与他所在的学校这种关联信息。

计算机当中数据的存储最底层的是计算机的硬件,硬盘和内存等。数据会永久的保存在硬盘当中的,当计算机读取时,会把数据从硬盘加载到内存当中,以便快速读取。
计算机的底层,为我们封装了数据在硬盘和内存中存储数据的具体细节,并为我们提供了存储的抽象,以及提供了相关的算法以操作数据。

存储结构:

  • 顺序存储方法: (basic)
    • 指的是物理上(内存)连续的存储空间。
    • 使逻辑上相邻的元素,在物理上的位置也是相邻的。
    • 实现上,我们可以用编程语言中的: 数组
  • 链式存储方法: (basic)
    • 指的是物理上(内存)不连接的存储空间。
    • 就是逻辑结构上相邻的元素,在物理上的位置并不一定相邻。
    • 元素间的逻辑关系,通过指针来表示
  • 索引存储方法:
    • 基于顺序存储或链式存储,并附加索引表(关键字 + 地址)
    • 面向查找操作
    • 比如数据库中的索引
  • 散列存储方法:
    • 基于顺序存储或链式存储,以元素关键字,通过hash算法等方法算出存储位置
    • 面向查找操作
    • 比如java 中的 HashMap

逻辑结构:

  • 线性结构
    • 线性表
    • 堆栈
    • 队列
  • 树结构
    • 二叉树
    • 多叉树
  • 图结构
posted @ 2022-04-08 02:18  RolloTan  阅读(100)  评论(0编辑  收藏  举报