現在、intのnxn配列を持っています。配列内のすべてのセルを無限大で初期化し、後でセルと比較される値がセル内の値よりも小さい場合に変更する予定です。ここまでは、無限を表現するために-1を使用して、これまでに思い描いた擬似コードを示します。どう思いますか?これは最も効率的な方法で、バグはありますか?最小値intで配列を実装
if(table[i][j] == -1 || (table[i][j] != -1 && table[i][j] > value)
then table[i][j] = value
ありがとうございました。具体的にはFloyd-Warshallアルゴリズムを実装しています。したがって、table [i] [j]> table [i] [k] + table [k] [j]ならばtable [i] [j] = table [i] [k] + table [k] [j]。 ikとkjが両方ともMAX_VALUEの場合、プログラムが追加されているので、これは何らかの方法でプログラムを動揺させるでしょうか? – sudo
名前のとおり、Integer.Max_VALUEはInteger世界で可能な最大値です。それに「1」を加えていたら、Integer境界から外れて結果Integer.MIN_VALUE-1を持ちます(実際には整数は実際には円形です)。 – Riduidel