偏移量解释

在将二维网格映射到一维数组时,偏移量是指在一维数组中

某一行的第一个元素相对于数组起始位置的位置差。对于一个 3 行 4 列的网格,我们使用公式 cur_pos = x * n + y 来计算二维位置 (x, y) 在一维数组中的索引。

当 x = 0 (第一行)时,对于该行的任何列 y,我们将其映射到一维数组的位置时,先计算 x * n,这里 n 是列数,即 4。 对于第一行(x = 0),计算 x * n 得到 0 * 4 = 0。这意味着第一行的元素在一维数组中的起始位置是 0,也就是偏移量为 0。

位置 (0, 0): x = 0, y = 0 cur_pos = 0 * 4 + 0 = 0 位置 (0, 1): x = 0, y = 1 cur_pos = 0 * 4 + 1 = 1 位置 (0, 2): x = 0, y = 2 cur_pos = 0 * 4 + 2 = 2 位置 (0, 3): x = 0, y = 3 cur_pos = 0 * 4 + 3 = 3

复制代码
m = 3  # 行数
n = 4  # 列数
# 一维数组存储网格信息
grid_info = [0] * (m * n)

# 存储第一行元素的值
for y in range(n):
    cur_pos = 0 * n + y
    grid_info[cur_pos] = y

print(grid_info)  # 输出 [0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0]

总结: 偏移量表示在将二维网格映射到一维数组时,某一行第一个元素在一维数组中的起始位置。对于第一行(x = 0),由于 x * n 为 0,其偏移量是 0。这个概念有助于我们理解如何将二维网格中的元素按行存储在一维数组中,并且可以根据 y 来确定同一行中不同列元素的具体位置。 通过这种方式,可以将二维网格的元素有序地存储在一维数组中,方便后续对元素的访问和操作,例如在最短路径算法、网格搜索算法等场景中存储距离、状态等信息。

相关推荐
仟濹16 小时前
算法打卡 day1 (2026-02-06 周四) | 算法: DFS | 1_卡码网98 可达路径 | 2_力扣797_所有可能的路径
算法·leetcode·深度优先
yang)16 小时前
欠采样时的相位倒置问题
算法
历程里程碑16 小时前
Linux20 : IO
linux·c语言·开发语言·数据结构·c++·算法
A尘埃16 小时前
物流公司配送路径动态优化(Q-Learning算法)
算法
天若有情67316 小时前
【自研实战】轻量级ASCII字符串加密算法:从设计到落地(防查岗神器版)
网络·c++·算法·安全·数据安全·加密
DeeplyMind16 小时前
第七章:数据结构大比拼
数据结构·计算机科学·少儿编程·少儿科技读物
元亓亓亓16 小时前
考研408--数据结构--day8--遍历序列&线索二叉树
数据结构·考研·408·线索二叉树
xiaoxue..16 小时前
合并两个升序链表 与 合并k个升序链表
java·javascript·数据结构·链表·面试
啊森要自信17 小时前
CANN ops-cv:AI 硬件端视觉算法推理训练的算子性能调优与实战应用详解
人工智能·算法·cann
仟濹17 小时前
算法打卡day2 (2026-02-07 周五) | 算法: DFS | 3_卡码网99_计数孤岛_DFS
算法·深度优先