数据结构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(后进先出)原则。

相关推荐
fakerth11 小时前
【OpenHarmony】startup_init 模块
操作系统·openharmony
Mr. zhihao12 小时前
深入解析redis基本数据结构
数据结构·数据库·redis
念何架构之路12 小时前
Go语言加密算法
数据结构·算法·哈希算法
失去的青春---夕阳下的奔跑12 小时前
560. 和为 K 的子数组
数据结构·算法·leetcode
m0_6294947313 小时前
LeetCode 热题 100-----25.回文链表
数据结构·算法·leetcode·链表
青山师16 小时前
二叉树与BST深度解析:遍历算法与平衡策略
数据结构·算法·面试·二叉树·算法与数据结构·java面试·数据结构与算法分析
无限进步_19 小时前
【C++】C++11的类功能增强与STL变化
java·前端·数据结构·c++·后端·算法
sa1002720 小时前
京东评论 API 实战:JSON 数据结构、字段含义与解析技巧
前端·数据结构·json
这料鬼有毒20 小时前
二刷hot100-17.电话号码的字母组合
数据结构