• 数据结构,及分类(存储分类、逻辑分类)介绍


    一、数据结构:

            数据是软件开发的核心。在软件开发过程中基本上就是对数据的新增、删除、修改、查看的操作。

            如何合理存储数据,如何有效提升数据操作开发效率,都是软件开发中的重中之重。使用合理的数据结构是非常重要的。

    1.1简介:

            数据结构(Data Structure):计算机存储数据、操作数据的方式。将这些数据按照特定结构组成一个集合。

            数据结构是一种宏观概念,其中包含很多具体的数据结构。

            例如:数组、链表、堆、栈、队列、树、图、散列表等,每一种数据结构都有自己的优缺点。

    1.2分类介绍:

    数据结构可以按照存储结构分类,也可以按照逻辑进行分类;

    1.2.1存储分类:

    顺序存储结构:

            数据存储到一块连续的空间。例如:数组,List集合(底层数组)

            优点:地址连续,遍历效率高;可以随机访问

            缺点:插入或删除的效率低(需要移动数组,如果数据量大效率很低)

    链式存储结构:

            数据存储到非连续的空间中。每个数据存储者后面数据的地址,形成链式结构。

            优点:插入或删除效率高。只需要修改存储的地址。

            缺点:地址非连续,遍历效率低。丧失随机访问数据能力。

    索引存储结构:

            除存储的数据之外,还存储索引表存储数据的索引信息。MySQL数据库、MongoDB数据库等存储工具都支持索引。

    散列表(Hash)存储结构:

            散列表存储结构是对数据进行计算,直接得到数据存储时的内存地址。使用顺序结构和链式结构共同实现(数组+链表)。

    1.2.2 逻辑分类

            逻辑分类是程序员认为的结构,在计算机中还是按照存储结构分类进行存储的;

            逻辑分类按照前一个数据 和 后一个数据数量对应关系进行的分类。

    线性结构(一对一)

            数据与数据之间是线性结构。除首尾不相连其他都是由顺序的。而且是一对一关系。

            线性结构有:数组、链表、堆、栈、队列等都是线性结构

    树形结构(一对多)

            数据之间由层次关系。数据是一对多展示的,一个数据后面可以由多个数据,但每个数据前只能有一个数据。

            树形结构有:普通树、二叉树、二叉搜索树、平衡二叉搜索树、红黑树、B树、B+树等

    图形结构(多对多)

            数据之间是网状关系结构。数据之间是多对多的关系,也就是说一个数据后面有多个数据,这个数据前面也有多个数据。

  • 相关阅读:
    探讨下如何更好的使用缓存 —— 集中式缓存Redis的BitMap存储、管道与事务、以及与本地缓存一起构建多级缓存
    PMP微信群日常习题
    FFMpeg AVBufferPool 的理解与掌握
    微软在汉诺威工业博览会上推出新制造业Copilot人工智能功能,强化Dynamics 365工具集
    【JDK 8-函数式编程】4.6 方法引用与构造函数引用
    idea集成本地tomcat
    kali网络渗透实验二:网络嗅探与身份认证
    开源相机管理库Aravis学习(一)——安装
    我试图给你分享一种自适应的负载均衡。
    「图像 cv2.seamlessClone」无中生有制造数据
  • 原文地址:https://blog.csdn.net/user__kk/article/details/134026881