2021/05/27

3日くらいモンスターのみをエネルギーにpushswapやってた。
最適化について色々考えたり、再帰で実装したりライブラリ作ったりコメント整えてみたり。色々試している。
関数命名に対しての労力が大きくてどうにかしたい。割に良い命名はできてない。できてない、というか納得してない。
で、一応解くには解けて実装もできたのだけど、もっと最適化できるのでは?とか、新しい考え方見つけて再実装したい、とか、まだまだ浮かんでしまう。

今まではクイックソート的に中央値をpivotとしてスタックに小さいやつを別のスタックに移して移しての繰り返しで並べ替えるだけだったけど、一定数整えられたら全探索して最適な並べ替え手法を全部出してしまった方が良いのでは?とか。

命令が十個だから計算量的には5手先くらいまで探索で、再帰で実装して、、、ってことでやってみたらまぁバグるバグる
再起だとステップデバッグしづらいし久々にprintfデバッグした。

あー、ログファイルに、書き出しても良いな。そうしよう。ってことで次はLoggerライブラリの実装だな。まぁ、また今度で。

再帰、分割統治法、、、
結局小問題への切り分けってことで元々の問題をしっかり理解していないと難しい。呼び出され続ける子関数の状態遷移を追って追っていじっていじって動くまで試すって方法だと沼る。
結局、何が起こっているのか紙などに書き出して整理することが大事だと思う。

提出してもいいけど、もうちょっと詰めたい。
楽しいので。

この記事が気に入ったらサポートをしてみませんか?