03-数据结构概述

作者: LoveCoding | 来源:发表于2018-04-11 22:32 被阅读0次

要理解一个数据结构,我们可以将数据结构抽象出一个层面

由三部分来组成,数据的逻辑结构,数据的存储结构和数据的运算

数据结构的分类

1,线性结构

线性结构是非空集

线性结构有且仅有一个开始节点和终端节点

线性结构的所有节点最多只有一个直接前驱节点和一个直接后继节点

比如:栈,队列

2,非线性结构

非线性结构是非空集

非线性结构的一个节点可能有多个直接前驱节点和直接后继节点

比如:树(有且仅有一个前驱节点,可以有多个后继节点),图

数据结构的存储方式:

顺序存储,物理上在一块连续的存储空间一个接一个存放数据

链式存储,不要求逻辑上相邻的节点在物理上也相邻,节点间的逻辑关系由附加的引用字段来表示,引用字段指向下一个节点的存放位置。

索引存储,采用附加的索引表来存储节点信息的一种存储方式

散列存储,根据节点的关键字进行运算后,计算出该节点的存储位置的一种存储方式

他们三者的关系:

1,逻辑结构与存储结构的关系

比如,同一个逻辑结构采用不同的存储结构,就会变成不同的数据结构

举个例子,线性表如果采用顺序存储,那么这种数据结构就是顺序表

如果采用链式方式存储,那么就是链表

如果采用散列方式存储,那么就是散列表

2,逻辑结构与数据运算的关系

如将线性表的插入运算限制在表的一端,而删除操作限制在表的另一端,那么就是队列

如果将线性表的插入和删除都限制在表的一端,那么就是栈。

不知道,你有点感觉了没有?

常用的数据结构有哪些?

数组Array,栈Stack,队列Queue,链表LinkedList,树Tree,图Graph

堆Heap

堆是一种特殊的树,一般指二叉堆,堆的特点是其根节点的值是所有节点中最小的或者最大的,并且根节点的两个子树也是一个堆结构

散列表Hash

数据结构在什么地方发挥作用?

计算机的运算主要分为两类,数值计算和非数值计算。

而数据结构主要是在非数值计算发挥较大的作用。

比如在一堆的数据信息中,寻找符合我们要求的数据,就这就是一种非数值的计算。

相关文章

  • 03-数据结构概述

    要理解一个数据结构,我们可以将数据结构抽象出一个层面 由三部分来组成,数据的逻辑结构,数据的存储结构和数据的运算 ...

  • 基于数据结构和算法的业务应用(一)

    数据结构、算法到底什么?算法如何再业务中应用? 一 概述 1.1 数据结构的概述 1.1.2 概述 数据结构是计算...

  • 数据结构—概述

    数据结构概述 数据结构概述:程序设计 = 数据结构 + 算法数据结构:数据元素之间存在所有特定关系的集合,数据结构...

  • 最新完整数据结构与算法

    最新完整数据结构与算法 P11_课程介绍 P22_数据结构与算法概述_数据结构 P33_数据结构与算法概述_算法 ...

  • 求助数据结构关于树的问题

    求助帖!MOOC浙江大学陈越老师的数据结构课-PTA3.3 03-树3 Tree Traversals Again...

  • 6-Python 数据结构初识

    课程概要:1、Python 数据结构概述2、Python 常见数据结构——栈3、Python 常见数据结构——队列...

  • Python学习总结

    Python概述 数据类型 数据结构 OOP FP

  • 数据结构概述

    数据结构概述 一、定义 我们如何把现实中大量而复杂的问题以特定的数据类型和特定的存储结构保存到主存储器(内存)中,...

  • 数据结构概述

    数组 优点:插入快,如果知道下标可以非常快的存取; 缺点:查找慢,删除满,大小固定; 有序数组: 优点:比无序数组...

  • 数据结构概述

    定义: 如何把现实中大量而复杂的问题以特定的数据类型和特定的存储结构保存到主存储器(内存)中。以及在此基础上为实现...

网友评论

    本文标题:03-数据结构概述

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