【发布时间】:2015-09-10 05:01:32
【问题描述】:
我正在研究与图像相关的算法,并且想知道对于不可预测的 2D 遍历结构有什么好的选择:
- 从一组像素开始
- 遍历到邻居(从左到右或对角线,总是 1 远,没有跳跃)。
- 根据某些输出(随着时间的推移,每个方向的相似速率),继续执行更多遍历到具有下一个方向的下一个像素。
对于简单的遍历,数组在顺序读取时很好并且非常快,对于随机访问,可以做的不多,但我想知道这里是否可以做一些事情,如果简单地存储在一个“向上”的数组中实际上可以在大内存中相当远的是(5 + 百万像素)。你能想到什么好的结构吗?我很乐意在这里用内存换取速度,但我想不出任何结构可以帮助实际上制作一个项目数组,每个项目都存储一个指向其 8 个邻居的指针,但这听起来会很慢开始创建,并且我不会对这些图像进行超过 1 到 3 次传递,因此它最终可能会比简单的数组实现慢。
欢迎提出任何建议。
【问题讨论】:
标签: c# .net arrays algorithm data-structures