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

内存管理的数据结构

  • 内存
  • 2024-06-01 10:52:26
  • 6926

一、常用数据结构有哪些

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

1数组

数组是一种可以在内存中连续存储元素的结构体,数组的签名从0开始。例如,下面的代码设置数组的第一个元素到1。

2栈

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

3队列

队列和栈一样,也是一个线性列表,所以:先进先出。出去。从一端放置元素的行为称为入队,移除元素的行为称为出队。

4链表

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

=1)个按层次关系界定的节点组成。它之所以被称为“树”,是因为它看起来像一棵倒立的树,意味着它的根在上面,叶子在下面。

6哈希表

哈希表也称为哈希表,是一种根据键码和值(keyandvalue)直接访问的数据结构。以便快速找到集合中对应的元素。

7堆

堆是一种特殊的数据结构,可以认为是一棵树的数组对象,总是不大于或不小于其父节点的值,堆始终是完全二叉树。具有最大根节点的簇称为最大簇或大根簇,具有最小根节点的簇称为最小簇或小根簇。常见的栈有二进制栈、斐波那契栈等。

8图

图由有限的顶点集V和一组E边组成。其中,为了与树结构区别,在图结构中节点通常被称为顶点,而边是有序的顶点对,如果两个顶点之间存在边,则意味着这两个顶点具有相邻连接。

参考来源:——数据结构


二、堆和栈,你分清了吗?

虽然堆和栈只有一个字的区别,但它们是两个完全不同的概念。在本文中,您将详细了解堆和栈的区别以及栈数据结构的特点。
📚堆和栈的区别
堆上的内存由系统管理,不需要手动释放,而栈上的内存使用后会自动回收。这就是为什么我们说堆是动态分配的而堆栈是静态的。在编程时,我们需要明确区分堆和栈,以便更好地管理内存。
🔍栈数据结构的特点
栈是一种遵循后进先出原则的数据结构。数据按顺序存储,读取时遵循“后进先出”的原则。想象一个竹筒,里面有许多小球,每个小球都有自己的编号。第一个插入的球总是最后一个被移除的,反之亦然。这就是“先进后出”的特点。了解栈数据结构的特点有助于我们更好地理解和应用它。