zoukankan      html  css  js  c++  java
  • 数据结构与算法(一)——概述

    一、概述

    1、介绍

      程序 = 数据结构 + 算法。简单的说,数据结构就是关系,就是数据元素相互之间存在的一种或多种特定关系的集合。传统上,把数据结构分为逻辑结构和物理结构。
      物理结构:数据在计算机中的实际存储形式。
      逻辑结构:数据元素之间的逻辑关系。

    2、物理结构

      根据定义,就是研究如何把数据元素存储到计算机的存储器中。存储器主要是针对内存而言的,像硬盘、软盘、光盘等外部存储器的数据组织通常用文件结构来描述。
      物理上,数据元素的存储结构,形式有两种:顺序存储、链式存储。
      顺序存储结构:用一组地址连续的存储单元存放数据。比如:数组。
      链式存储结构:存放数据的存储单元地址可以不连续,元素节点中存放数据以及指向下一个元素地址的指针。比如:链表。

    3、逻辑结构

      数据之间存在的逻辑关系,用于表述,或反映现实世界的数据的组织关系。比如,爸爸,妈妈,儿子,兄弟之间的关系,可以用家族树来表示。一般地,数据之间有如下几种关系:集合结构、线性结构、树形结构、图形结构。

      集合结构:数据元素除了同属于一个集合外,它们之间没有其他不三不四的关系。

      线性结构:数据元素之间是一对一的关系。

       树形结构:数据元素之间是一对多的层次关系。

      图形结构:数据元素是多对多的关系。

      一般地,不讨论集合结构。将逻辑结构又分为线性结构和非线性结构。
      线性结构:有两种不同的存储结构,顺序存储结构和链式存储结构,分别对应顺序表和链表。顺序表的体现:数组、栈。链表的体现:链表、队列。
      非线性结构:二维数组、多维数组、广义表、树、图。

    作者:Craftsman-L

    本博客所有文章仅用于学习、研究和交流目的,版权归作者所有,欢迎非商业性质转载。

    如果本篇博客给您带来帮助,请作者喝杯咖啡吧!点击下面打赏,您的支持是我最大的动力!

  • 相关阅读:
    不弹出提示直接关闭页面
    orcale表解锁
    序列化和反序列化
    js 实现post传参
    简易实现 instanceOf
    简易实现virtualdom
    react中setState同步、异步问题
    CMake Qt 配置 OpenCV
    VS执行时打开cmd
    VS2019+Qt5.15.2环境配置
  • 原文地址:https://www.cnblogs.com/originator/p/13947001.html
Copyright © 2011-2022 走看看