欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

数据结构与算法之绪论

程序员文章站 2023-02-06 13:30:32
什么是数据结构 简单来说可以解释为:程序设计=数据结构+算法; 主要是用来研究数据结构的关系,数据元素之间存在的一种或多种特定关系的集合; 数据结构的分类 按照传统意义上来讲,数据结构可以分为两类:逻辑结构和物理结构; 逻辑结构指的是数据对象中数据元素之间的相互关系。 主要有四种逻辑结构: 集合结构 ......

什么是数据结构

简单来说可以解释为:程序设计=数据结构+算法;

主要是用来研究数据结构的关系,数据元素之间存在的一种或多种特定关系的集合;

 

数据结构的分类

按照传统意义上来讲,数据结构可以分为两类:逻辑结构和物理结构;

逻辑结构指的是数据对象中数据元素之间的相互关系。

主要有四种逻辑结构:

  1. 集合结构:集合结构中的数据元素同属于一个集合体中,但是它们之间没有其他关联;
  2. 线性结构:线性结构中的数据元素之间是一对一的关系,如同夫妻关系;
  3. 树形结构:树形结构中的数据元素之间是一对多的关系,如同一个爸爸对多个自己的孩子;
  4. 图形结构:图形结构中的数据元素之间是多对多的关系,我更倾向于把它理解成一个网状结构,如同在社会中人与人之间都是相互关联的;

 

物理结构的存储

物理结构中的存储器主要是针对内存而言的,硬盘、软盘、光盘等外部存储器的数据组织通常用文件结构来描述;

数据元素的存储形式有两种:顺序存储和链式存储。

  1. 顺序存储结构是把数据元素存放在地址连续的存储单元里,其数据间的逻辑关系和物理关系是一致的(编程语言的数据结构就是属于这种);
  2. 链式存储结构是把数据元素存放在任意的存储单元里,这组存储单元可以是连续的,也可以是不连续的;它比顺序存储更灵活(类似银行排号办理业务),但是不能反应其逻辑关系,所以需要用一个指针存放数据元素的地址(指针指向的是下一个地址)—通过地址就可以找到相关联数据元素的位置