PTT
Submit
Submit
选择语言
正體中文
简体中文
PTT
Fortran
[问题] 辨别二维区块的方式?
楼主:
ej03xu3
(Touerin)
2016-07-22 10:30:50
假设有一个10*10的二维矩阵
0 0 0 0 0 0 0 0 0 0
0 0 1 1 1 1 1 0 0 0
0 1 1 1 1 1 1 1 0 0
0 1 1 1 1 1 1 0 0 0
0 0 1 1 1 1 1 0 0 0
0 0 0 1 1 0 0 0 0 0
0 0 0 0 0 0 0 1 0 0
0 0 0 0 0 0 1 1 1 0
0 0 0 0 0 1 1 1 1 0
0 0 0 0 0 0 0 0 0 0
其中有两块有含数字1的封闭区块
在你不知道这两块的位置和大小的情况下
你只知道二维矩阵的值有1有0
要怎么分辨这两个区块呢?
例如写成A和B区块 变成:
0 0 0 0 0 0 0 0 0 0
0 0 A A A A A 0 0 0
0 A A A A A A A 0 0
0 A A A A A A 0 0 0
0 0 A A A A A 0 0 0
0 0 0 A A 0 0 0 0 0
0 0 0 0 0 0 0 B 0 0
0 0 0 0 0 0 B B B 0
0 0 0 0 0 B B B B 0
0 0 0 0 0 0 0 0 0 0
作者:
blc
(Anemos)
2016-07-23 08:45:00
flood fill
作者:
noonee
(我和烤肉间只差一撮孜然)
2016-07-24 01:13:00
首先你要定义 假设一个2x2矩阵 11和22是1 12和21是0这样算不算1是连起来的? 还是一个1他对角的也要是0才算分开你有了明确得"区块"的定义 就可以用扫描的方式找出来了
作者:
alen332l
(alen3321)
2016-07-25 17:57:00
用Breadth-First-Search矩阵元素定为Vertex定义“相邻”的元素之间,有Edge连接然后就可以套入BFS了 效率为O(|V|+|E|)在这个例子里面|V|为行数x列数 mxn|E|约和|V|差不多(虽然约为4倍,但同样complexity)BFS在你矩阵很大时 效率比暴力法好不过如果你矩阵不大 较没差
作者:
Sunal
(SSSSSSSSSSSSSSSSSSSSSSS)
2016-07-26 13:25:00
推楼上方法 找本资料结构教科书来看 BFS一定有教
继续阅读
Re: [问题] Fortran可以矩阵中放进矩阵吗?
PTT0207445
[问题] Fortran可以矩阵中放进矩阵吗?
etu4315
[问题] 请问如何执行.exe
windgaia
Re: [问题]fortran95 棒球游戏
philodi
[问题] if用法
afe812
[问题]fortran95 棒球游戏
bla880004
[问题] 关于联集和交集
lindazoro
[问题] CVF 6.6 (32-bit) 如何连结 MS Fortran5.
versailles
[问题] 数值 底线的意思
afe812
[问题] 如何输出不会被覆蓋
blue33210
Links
booklink
Contact Us: admin [ a t ] ucptt.com