美文网首页
01什么是数据结构

01什么是数据结构

作者: 小猪也浪漫 | 来源:发表于2020-04-03 18:17 被阅读0次

什么是数据结构?

数据结构.jpg

数据结构=逻辑结构 + 物理结构

  1. 逻辑结构:数据元素间抽象化的相互关系。

  2. 物理结构:在计算机存储器中的存储形式。

一、 逻辑结构

1.1对于非空的线性表和线性结构,其特点如下:

  • 存在唯⼀一的⼀一个被称作”第⼀一个”的数据元素;
  • 存在唯⼀一的⼀一个被称作”最后⼀一个"的数据元素
  • 除了了第⼀一个之外,结构中的每个数据元素均有⼀一个前驱
  • 除了了最后⼀一个之外,结构中的每个数据元素都有⼀一个后继.

举例:

线性结构.jpg

1.2 非线性结构

各个数据元素不再保持在一个线性序列中,每个数据元素可能与零个或者多个其他数据元素发生联系
集合结构、树形结构、图形结构
集合结构: 元素之间没有特殊的关系,只是属于一个集合
树形结构: 一对多的关系,比如二叉树,红黑树等
图形结构: 多对多的关系,如矩阵表等

举例:

Jietu20200411-174038.jpg

二、 存储结构

2.1顺序存储结构

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


    image.png

2.2链式存储结构

  • 链式存储结构: 数据元素存放在任意的存储单元里,这组存储单元可以是连续的,也可以是不连续的
image.png

2.3单链表与顺序表的对比

  • 存储方式:顺序表用一组连续的存储单元依次存储线性表的数据元素;而单链表用一组任意的存储单元存放线性表的数据元素。

  • 时间性能:采用循序存储结构时查找的时间复杂度为O(1),插入和删除需要移动平均一半的数据元素,时间复杂度为O(n)。采用单链表存储结构的查找时间复杂度为O(n),插入和删除不需要移动元素,时间复杂度仅为O(1)。

  • 空间性能:采用顺序存储结构时需要预先分配存储空间,分配空间过大会造成浪费,过小会造成问题。采用单链表存储结构时,可根据需要进行临时分配,不需要估计问题的规模大小,只要内存够就可以分配,还可以用于一些特殊情况,如一元多项的表示。

相关文章

  • 数据结构01-顺序表与链表

    数据结构01-顺序表与链表 一、前言 1.什么是数据结构 数据结构是计算机存储、组织数据的方式。数据结构是指相互之...

  • 01什么是数据结构

    什么是数据结构? 数据结构=逻辑结构 + 物理结构 逻辑结构:数据元素间抽象化的相互关系。 物理结构:在计算机...

  • 数据结构视频笔记

    数据结构视频笔记 01 绪论 ”让编程改变世界,让我们成功吧!“ -- 小甲鱼 什么是数据结构 程序设计 = 数据...

  • 数据结构:数组

    00数据结构与算法分析:大纲01数据结构:数组02数据结构:链表03数据结构:栈03数据结构:队列 数组 数组是一...

  • 03 动态数组-01

    01-线性表 什么是数据结构? 数据结构是计算机存储、组织数据的方式 线性表 02-接口设计 在许多编程语言中,数...

  • 01 | 为什么要学习数据结构和算法?

    01 | 为什么要学习数据结构和算法? (1)想要通关大厂面试,千万别让数据结构和算法拖了后腿 (2)业务开发工程...

  • Python面试解析-04

    一、什么是数据结构?为什么我们需要数据结构?常用的数据结构有哪些? 数据结构是计算机存储、组织数据的方式。对于特定...

  • 100天iOS数据结构与算法实战 Day01

    100天iOS数据结构与算法实战 Day01 100天iOS数据结构与算法实战 Day01

  • 数据结构与算法分析:大纲]

    00数据结构与算法分析:大纲01数据结构:数组02数据结构:链表03数据结构:栈03数据结构:队列 本系列课程主要...

  • 数据结构与算法(01):为什么要学习数据结构与算法

    原文:数据结构与算法(01):为什么要学习数据结构与算法 前言 集中学习数据结构与算法有一段时间,计划花一段时间专...

网友评论

      本文标题:01什么是数据结构

      本文链接:https://www.haomeiwen.com/subject/epukphtx.html