数据结构与算法初识

在程序开发的过程中,数据结构和算法占据了重要的地位。一个程序设计的好坏,很大程度上取决于设计者对于数据结构和算法的使用。为了能够让大家设计出更好的程序,接下来的系列文章将会总结程序开发中常用的数据结构与算法。

什么是数据结构

数据结构是计算机存储和组织数据的方式,是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构能够带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引有关。

数据结构研究的内容

按照视点的不同,数据结构分为逻辑结构和物理结构(存储结构)

逻辑结构

逻辑结构是指数据对象中数据元素之间的相互关系,主要包含集合结构,线性结构,树形结构,图形结构
1.集合结构:集合结构中所有的数据元素,除了同属于一个集合外,它们之间没有其他关系。各个数据元素之间是平等的,它们的共同属性是同属于一个集合,数据结构中的集合结构就类似于数学中的集合。

集合结构.jpg

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

线性结构..JPG

3.树形结构:树形结构中的数据元素存在一种一对多的层次关系。

树形结构.JPG

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

图形结构.JPG

物理结构(存储结构)

物理结构是指数据的逻辑结构在计算机中的存储形式,又称为存储结构。
数据元素的存储结构形式有两种:顺序存储结构和链式存储结构。

1.顺序存储结构:把数据元素存放在地址连续的存储单元里,其数据之间的逻辑关系和物理关系是一致的。数组就是典型的顺序存储结构。

顺序存储结构.JPG

2.链式存储结构:把数组元素存放在任意的存储单元里,这组存储单元可以是连续的,也可以是不连续的。数据元素的存储关系并不能反映其逻辑关系,因此需要用到一个指针存放数据元素的地址,通过地址指向对应的数据元素的位置。

总的来说,逻辑结构是面向问题的,物理结构是面向计算机的,是需要将数据及其逻辑关系存储到计算机内存中。

你可能感兴趣的:(数据结构与算法初识)