暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

数据结构之基本概念

南北技术笔记 2020-12-22
833


    最近在看数据结构与算法类的视频,可能会频繁出几期有关数据结构的文章。今天我们要说的是数据结构的基础概念,会涉及到数据结构的逻辑结构、物理结构、什么是算法,一个好的算法取决于那些因素。




什么是数据结构


百度百科:

    数据结构是计算机存储、组织数据的方式,是相互之间存在一种或者多种特定关系的数据元素的集合。

个人理解:

    数据结构就是把数据元素按照一定的关系关联起来,用来组织和存储数据的集合(这个集合并不是特指某个数据结构,这是一种概述)。


数据结构分类


    

一般情况下,将数据结构分为逻辑结构和物理结构两种,逻辑结构是抽象出的模型,物理结构则是数据真实的在计算机内存中存储的数据结构。

    逻辑结构也分为下面几种结构:

  • 集合结构(集合中的元素除了同处一个集合之外,元素之间再没有其他的关系)

  • 线性结构(线性结构中的元素具有一对一的关系)


  • 树形结构(树形结构中的元素之间是一对多的关系)

  • 图形结构(图形结构元素之间是多对多的关系)

    物理结构是数据在计算中真正存储的结构,所以物理结构也叫做存储结构。物理结构也分为下面两种结构:

  • 顺序存储结构(顺序存储结构保存的数据,在内存中地址是连续的,我们常使用的数组就是顺序存储结构)。

  • 链式存储结构(链式结构存储的数据不要求数据在内存中地址是连续的,即链式存储结构的数据在内存中可以是连续的,也可以是不连续的。链式存储结构因为地址是可以不连续的,所以为了保持数据之间的关联关系,为每个数据增加了一个指针存放目标数据元素的地址。这里说的是目标元素而不是说下一个数据元素,单链表/双向链表/循环链表等都是链式存储结构,但是双向链表/循环链表每个数据元素都是有两个指针的)。



今天介绍下数据结构的基础概念,分类、以及对应的逻辑结构和物理结构,后面会详细介绍对应逻辑结构和物理结构的具体类型(链表、数组、树、图等),下一篇文章会介绍算法的基础概念以及时间复杂度和空间复杂度的计算方式。11点了,早点休息,加油加油!


文章转载自南北技术笔记,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论