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


    一、数据结构:

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

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

    1.1简介:

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

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

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

    1.2分类介绍:

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

    1.2.1存储分类:

    顺序存储结构:

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

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

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

    链式存储结构:

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

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

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

    索引存储结构:

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

    散列表(Hash)存储结构:

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

    1.2.2 逻辑分类

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

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

    线性结构(一对一)

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

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

    树形结构(一对多)

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

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

    图形结构(多对多)

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

  • 相关阅读:
    8+非肿瘤+线粒体+实验生信思路解析
    从0到1实现python基于RPC协议的接口自动化测试
    利用ChatGPT练习口语
    java 显示c控制台程序窗口,Windows-如何清除C中的控制台屏幕?
    Linux系统下的redis集群模式
    NoSQL 数据库之redis键值设计、批处理优化、服务端优化、集群配置优化
    《FPGA接口与协议》专栏的说明与导航
    Git 同步远程新的同名分支
    ts学习04-Es5中的类和静态方法 继承
    白帽信息收集
  • 原文地址:https://blog.csdn.net/user__kk/article/details/134026881