技術とかの雑なToday I Learnedメモ

計算量をもっと気にすることができるようになりたい

計算量をもっと気にすることができるようになりたい

Array と Array から新たな Array を生み出すために reduce とか map とか使って処理を書いてみたんだけど、これだと計算量が増えてしまうみたいな話をもらい、たしかに自分は計算量を考えていなかったな……と思った。

一応、Array のループ処理の中で別の Array のループ処理をするのはまずいというのは理解している。

JavaScript で重複排除を自分で実装してはいけない(Set を使う) - Qiita

上記の記事は昔このサイトを書くときにお世話になった Set の記事だけど、根幹は計算量の記事だったのでまた読んだ。

O(n^2)みたいな計算量を表すやつ、今まで「あるなあ」くらいにしか思ってなかったのでちゃんと向き合おうと思います。

今回でいうと、Array1 が n1、Array2 が n2 だとして、たとえば Array1 の中で Array2 の loop を回すとすると、n1 * n2 の処理が発生しそう(あってるのかな?)

[初心者向け] プログラムの計算量を求める方法 - Qiita

こういうやつを読んで計算量をすぐに出せるようになりたい。