matrix - 从关联的二分遍历访问矩阵
问题描述
晚上好,
我需要一点帮助才能看透一些东西。情况如下:
我有一个元素矩阵,例如:
每个条目都可以被视为一个节点(这些节点没有关联的 ID,为了简单起见,我只是标记了它们)。然后元素“6”可以作为矩阵[1][2]等访问。
现在,我将其转换为以下二分图结构:
现在,在从左到右添加边缘时,我有以下嵌套循环:
for (int i = 1; i <= 8; i++) {
for (int j = 1; j <= 8; j++) {
capacityGraph[i][j + 8] = 1; //First layer to second layer
}
}
现在,我的问题是:
有没有办法从二分遍历中访问矩阵元素(不必在同一个循环中)?我认为解决方案应该很简单,我只是无法完全考虑清楚。但是,例如,如果 i=6,那么我知道我正在查看第 10 个节点。如何将其转换为矩阵 [2] [2]?对于第 j 个索引也是如此。
我看过一些参考资料,我真的认为答案就在这里:
但无论出于何种原因,我都无法将这些点完全联系起来。任何帮助是极大的赞赏!谢谢。
解决方案
好吧,我想我真的想通了。
我知道左侧由所有偶数节点组成,右侧由所有奇数节点组成。然后我可以分别通过左侧和右侧的 2(i-1) 或 2(j-1) + 1 获得关联的节点值。
现在,给定节点值/位置 K,我想我可以将其转换为 XY 坐标,这样对于(nxn 矩阵),该列是 K%n。该行是地板(K / n)。
然后矩阵由 Matrix[ K/n ][ K%n ] 访问它似乎适用于这个例子,但如果我发现任何新的东西我会更新。
推荐阅读
- rust - 如何在 Rust 中通过 TCPStream 发送多条消息?
- excel - 更改任何单个值时运行分配给切片器的宏
- iccube-reporting - 动态格式化轴值
- ios - 如何避免崩溃“应用程序处于后台状态时的 OpenGL 渲染”
- ansible - Ansible:从查找结果中排除项目
- javascript - 如何验证nodejs中的jwt令牌/永不过期?
- c# - 如何解决“将服务传递给组件类的构造函数后,Web 应用程序不工作”
- python - 遍历 pandas 中的数据框行
- java - 如何在 Java 中创建具有相同类型参数的方法?
- mysql - MySQL Workbench 报告“对于此服务器版本在此位置无效”错误