数据结构之绪论

一个著名公式:
程序=数据结构+算法

非数值计算:无法用数学的公式或方程来描述

描述非数值计算问题的数据模型不是数学方程,而是诸如表,树和图之类的具有逻辑关系的数据

数据结构:是一门研究非数值计算的程序设计中计算机的操作对象以及他们之间的关系和操作的学科





数据结构:

  1. 逻辑结构:数据元素之间的逻辑关系
  2. 物理结构|存储结构:数据元素及其关系在计算机内存中的表示
  3. 运算和实现:对数据元素可以施加的操作以及这些操作在相应的存储结构上的实现

数据结构的两个层次:

  1. 逻辑结构
    描述数据元素之间的逻辑关系
    与数据的存储无关,独立于计算机
    是从具体问题抽象出来的数学模型
  2. 物理结构(存储结构)
    数据元素及其关系在计算机存储器中的结构(存储方式)
    是数据结构在计算机中的表示

逻辑结构与存储结构的关系:

  1. 存储结构是逻辑关系的映像与元素本身的映像
  2. 逻辑结构是数据结构的抽象,存储结构是数据结构的实现
  3. 两者综合起来建立了数据元素之间的结构关系

逻辑结构的种类

划分方式一

  • 线性结构

    有且仅有一个开始和终端结点,并且所有节点都最多只有一个直接前趋和一个直接后继

    eg: 线性表,栈,队列,串

  • 非线性结构

    一个结点可能有多个直接前趋和直接后继

    eg: 树,图

划分方式二

  • 集合结构
    结构中的数据元素之间除了同属于一个集合的关系外,无任何其他关系
  • 线性结构
    结构中的数据元素之间存在着一对一的线性关系
  • 树形结构
    结构中的数据元素之间存在着一对多的层次关系
  • 图状结构
    结构中的数据元素之间存在着多对多的任意关系

存储结构的种类

四种基本的存储结构:

  • 顺序存储结构
  • 链式存储结构
  • 索引存储结构
  • 散列存储结构



相关推荐
Ivanqhz2 小时前
php8 use-def链
算法·php
evans在进步3 小时前
LeetCode 189 轮转数组:三次反转原地解决,图解 Java 实现
java·算法·leetcode
歌_顿3 小时前
Drawing_To_Model
算法
龍德明宇3 小时前
AI不会疼-龍德明宇
人工智能·算法·大语言模型llm·负主体性·ai存在论
302wanger4 小时前
程序员写 SOP:把脑子里的流程固化下来
算法
科学实验家4 小时前
完全背包
算法
Smoothcloud润云4 小时前
GPU租赁数据安全怎么做?
人工智能·算法·ai·aigc·gpu算力·gpu
呜喵王阿尔萨斯4 小时前
extern “C“ in C++
c语言·c++·算法
乐观勇敢坚强的老彭4 小时前
C++信奥静态数组和动态数组
数据结构·c++·算法
月光船幽幽5 小时前
呼吸孔设计重塑系统稳定性
python·科技·算法