什么是数据结构

时间:2017-03-30作者:klpeng分类:数据结构与算法浏览:1933评论:0

看到数据结构,好多同学会说,大学的时候老师天天讲,头都痛了,会开发会写代码就行,基础概念性的东西,都忘的差不多了,不想劳神回顾,在这里,我不得不说,这些最基础的概念,说不定就能提升你的技术水平,因为会做一件事和理解这件事的原理以及为什么要这样做,是有本质差别的,普通开发和资深开发的区别,就是在这些基础概念上体现出来的。


说到数据结构,首先我们要明白,什么是数据结构。

概念(官方定义):

数据结构是一门研究非数值计算的程序设计问题中的操作对象,以及它们之间的关系和操作等相关问题的学科。

PS:数据结构,顾名思义,就是数据之间的结构关系,或者理解成数据元素相互之间存在的一种或多种特定关系的集合,程序设计始于数据结构和算法。

下面介绍一下数据结构中结构的类型,这里我们不谈数据,因为数据在内存中都是二进制的表现形式。结构分为2种,逻辑结构物理结构(存储结构)。

逻辑结构

指反映数据元素之间的逻辑关系的数据结构,其中的逻辑关系是指数据元素之间的前后关系,而与他们在计算机中的存储位置无关。逻辑结构分为线性结构非线性结构

线性结构:线性结构中的元素存在一对一的相互关系,线性结构有以下三个条件:①有且只有一个根结点;②每一个结点最多有一个前件,也最多有一个后件;③首结点无前件,尾结点无后件。线性结构分为线性表、堆栈、队列。如下图,可以表示线性结构。

什么是数据结构

非线性结构:不满足线性结构条件的数据结构,非线性结构分为树形结构、图形结构。如下图,分别表示树形结构和图形结构。

什么是数据结构          什么是数据结构

:上面图中的箭头不代表任何指向性关系,纯因本人的画图软件找不到不带箭头的连接线~~~


物理结构


物理结构又叫存储结构,指数据的逻辑结构在计算机存储空间的存放形式。通俗的讲,物理结构研究的是数据在存储器中存放的形式。 存储器主要针对于内存而言,像硬盘、软盘、光盘等外部存储器的数据组织通常用文件结构来描述。

数据在内存中的存储结构,也就是物理结构,分为两种:顺序存储结构链式存储结构

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

链式存储结构:是把数据元素存放在内存中的任意存储单元里,也就是可以把数据存放在内存的各个位置。这些数据在内存中的地址可以是连续的,也可以是不连续的。和顺序存储结构不同的是,链式存储结构的数据元素之间是通过   指针来连接的,可以通使用指针来找到某个数据元素的位置,然后对这个数据元素进行一些操作。

下面引用2张图解来表述顺序存储结构和链式存储结构:

什么是数据结构       什么是数据结构



PS:本文只是一个简单的开始,所涉及的一些概念大家不必太过计较,后续文章中会逐步的对这些概念展开讲解。



原创文章如转载,请注明出处,本文首发于彭超的博客

打赏
文章版权声明:除非注明,否则均为彭超的博客原创文章,转载或复制请以超链接形式并注明出处。
相关推荐

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

猜你喜欢