多次元配列のイメージ。4次元以降がわからなかったのでメモ。

PythonやJavascriptでよく見かける「◯次元配列」のイメージができなかったのでメモ。

考え方が合っているかわからないですが、データベースみたいに考えてみました。

(イラストで理解しようと思ったら4次元以降がイメージできなかった…。)

1次元のデータ

abc
// 1次元配列
const array = [a, b, c]
// 一番深い要素を取り出してみる
console.log(array[0])
// a

2次元のデータベース

012
0abc
1def
2ghi
// 2次元配列
const array = [
    [a, b, c],
    [d, e, f],
    [g, h, i],
]
// 一番深い要素を取り出してみる
array[0][0]
// a

3次元のデータベース

012
0[a,b,c][d][e]
1[f][g][h]
// 3次元配列
const array = [
    [[a,b,c], [d], [e]],
    [[f], [g], [h]],
]
// 一番深い要素を取り出してみる
array[0][0][0]
// a

4次元のデータベース

012
0[
[a,b],
[c,d],
[e,f],
]
[[g,h,j]][[k,l,m]]
1[[n,o,p]][[q,r,s]][[t,u,v]]
// 4次元配列
const array = [
    [
        [[a,b],[e,d],[e,f]],
        [[g,h,j]],
        [[k,l,m]]
    ],
    [
        [[n,o,p]],
        [[q,r,s]],
        [[t,u,v]],
    ]
]
// 一番深い要素を取り出してみる
array[0][0][0][0]
// a

まとめ

リストの中にリストが入ってる状態を「多次元」と呼ぶのかな。それで「どれだけこの入れ子が続いているか」で「何次元か」を表しているのかも…まだはっきりとわからない。

一番深い要素を取り出す時に[x]をいくつ使うかみたいな考え方でもいいのかもしれない。array[0][0][0][0]だったら[x]が4つだから4次元配列、みたいな。

もっと調べてわかったことや間違っているところを随時更新していきたいです。

コメントを残す

*