当前位置:首页 > 内存 > 正文

内存管理的重要数据结构

  • 内存
  • 2024-06-05 00:28:49
  • 8183

一、数据结构在计算机内存中的表示是指什么?

计算机内存中的数据结构表示是指数据的存储结构。

数据存储结构是指数据在计算机中的逻辑结构的表达。有两种不同的存储结构用于表达数据元素之间的关系:顺序映射和非顺序映射。它们是顺序存储结构和链式存储结构。

1.顺序存储方式:

物理上相邻的存储单元中的节点之间的逻辑关系由存储单元决定。,由此产生的存储表示称为顺序存储结构。顺序存储结构是最基本的存储表示形式,通常在编程语言中使用数组来实现。

2.如何存储链接:

逻辑上相邻的节点不需要物理上相邻。节点之间的逻辑关系由附加的指针字段表示来确定。由此产生的存储表示称为链式存储结构。链式存储结构通常使用编程语言中的指针类型来实现。

扩展信息

顺序存储和链接存储的基本原理:

在顺序存储中,每个存储空间包含:.有关存储元素本身的信息以及元素之间的逻辑关系以顺序存储在线性表中,只需通过数组中下标的位置即可计算。

如果一个元素存储在该数组的下标位置i处,则前一个元素将位于该数组的下标位置i-1处,后继元素将位于该数组的下标位置i-1处。该数组中指示的位置是i+1。在链式存储结构中,存储节点不仅包含存储元素本身的信息,还包含元素之间逻辑关系的信息。

2.数据的链接存储结构可以表示为链表。其中,data代表一个值的范围,用于存储节点的数字部分。Pl、p2、...、Pill(1n≥1)都是指针字段,每个指针字段是对应的后继或前驱元素所在节点(以下简称后继节点或前驱元素)的存储位置。单词)。

通过节点的指针字段(称为链字段)可以访问相应的后继或前驱节点。如果一个节点的指针字段不需要指向另一个节点,则其值为空(NULL)。

数据的顺序存储,通过简单的计算就可以知道每个元素的存储位置,而数据的链接存储,访问一个元素的时间是相同的。每个元素位置都存储在前一个节点或后继节点中,并且只有在访问前一个节点或后继节点后才能通过指针访问。

参考来源:-存储结构


二、常用数据结构有哪些

数据结构分为8类:数组、栈、队列、链表、树、哈希表、堆、图。数据结构是指彼此之间具有一种或多种关系的数据元素的集合以及该集合中的数据元素之间的关系。

1.数组

数组是一种可以在内存中连续存储多个元素的结构。内存中的分配也是连续的。通过数组下标来访问数组中的元素。,数组下标从0开始。例如下面的代码将数组的第一个元素赋值为1。

2.栈

栈是一种特殊的线性表,只能在线性表的一端进行操作。允许在栈顶进行操作,但不允许在栈底进行操作。栈的特点是:先进后出,或者说后进先出。从栈顶放入元素的操作称为入栈,取出元素的操作称为出栈。

3.队列

队列和栈一样,也是一个线性列表。不同的是队列可以在一端添加元素,在另一端取出元素,即:先进先出。从一端放入元素的操作称为入队,取出元素的操作称为出队。

4.链表

链表是物理存储单元上的一种不连续、非顺序的存储结构。数据元素的逻辑顺序是通过链表的指针地址来实现的。每个元素包含两个节点,一个是存储元素的数据字段(内存空间),另一个是指向下一个节点地址的指针字段。根据指针指向的位置,链表可以形成不同的结构,如单链表、双向链表、循环链表等。

5.树

=1)个具有层次关系的有限节点组成。收集。它之所以被称为“树”,是因为它看起来像一棵倒立的树,这意味着它的根上,叶子朝下。

6.哈希表

哈希表也叫哈希表,是一种根据键码和值(keyandvalue)直接访问的数据结构。映射到集合中的某个位置,以便可以快速找到集合中对应的元素。

7.堆

堆是一种比较特殊的数据结构,可以看成是树的数组对象。它具有以下性质:堆中节点的值总是不大于或不小于其父节点的值;堆始终是完全二叉树。根节点最大的堆称为最大堆或大根堆,根节点最小的堆称为最小堆或小根堆。常见的堆有二叉堆、斐波那契堆等。

8.图

图由有限的节点集V和边集E组成。其中,为了与树结构区别,在图结构中节点常被称为顶点,边是有序的顶点对。如果两个顶点之间有边,则说明这两个顶点有相邻关系。

参考来源:—数据结构