数据结构与算法(一)——概述

一、概述

1、介绍

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

2、物理结构

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

3、逻辑结构

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

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

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

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

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

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

作者:Craftsman-L

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

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

原文地址:https://www.cnblogs.com/originator/p/13947001.html