数据结构vs 内存结构

1.内存结构

从程序的角度看,内存结构还包括以下几个部分,对应的硬件有磁盘/Cache/DRAM/寄存器

内存结构和对应的硬件关系

txt 复制代码
// 代码段的硬件存储
程序文件: program.exe (在磁盘上)
↓ 程序启动时加载
内存中的代码段 (在DRAM中)
↓ 执行时缓存
CPU缓存 (L1/L2/L3)
↓ 当前执行的指令
CPU指令寄存器

2.数据结构

数据结构是计算机存储、组织数据的方式,选择合适的数据结构可以大大提高程序的效率。

txt 复制代码
数据结构
├── 线性数据结构
│   ├── 数组 (Array)
│   ├── 链表 (Linked List)
│   ├── 栈 (Stack)
│   ├── 队列 (Queue)
│   └── 哈希表 (Hash Table)
├── 树形数据结构
│   ├── 二叉树 (Binary Tree)
│   ├── 二叉搜索树 (BST)
│   ├── 平衡树 (AVL, 红黑树)
│   ├── 堆 (Heap)
│   ├── B树/B+树
│   └── Trie树
├── 图形数据结构
│   ├── 邻接矩阵
│   ├── 邻接表
│   ├── 边列表
│   └── 十字链表
└── 特殊数据结构
    ├── 并查集 (Union-Find)
    ├── 布隆过滤器 (Bloom Filter)
    ├── 跳表 (Skip List)
    └── 位图 (Bitmap)

3.注意内存结构与数据结构中的堆和栈

1.堆(Heap)与内存堆(Heap Memory)

栈数据结构可以在不同内存 区域实现,栈内存是内存管理中的一个区域,用于存储函数调用信息和局部变量,函数调用和返回遵循LIFO原则。
栈数据结构是一种抽象数据类型,遵循LIFO(后进先出)原则。

相关推荐
LDR0064 分钟前
如何使用OpenClaw提高工作效率?
数据结构·算法
liuyao_xianhui4 分钟前
优选算法_模拟_替换所有的‘?‘_C++
开发语言·javascript·数据结构·c++·算法·链表·动态规划
菜鸟小九13 分钟前
hot100(81-90)
java·数据结构·算法
独自破碎E43 分钟前
【面试真题拆解】5秒内限10次HTTP接口访问,结合数据结构和算法说说你的思路
数据结构·http·面试
扶摇接北海1761 小时前
洛谷:P5732 【深基5.习7】杨辉三角
数据结构·c++·算法
handler011 小时前
算法:Trie树(字典树)
c语言·数据结构·c++·笔记·算法·深度优先
6+h1 小时前
【Redis】数据结构讲解
数据结构·数据库·redis
阿Y加油吧1 小时前
力扣打卡day06——滑动窗口最大值、最小覆盖子串
数据结构·算法·leetcode
沉鱼.441 小时前
日期题目集
数据结构·算法