新着Pick
571Picks
Pick に失敗しました

人気 Picker
いつの間にか掲載されてました!
データの持ち方一つで計算時間が大幅に変わるし、こうしたデータの持ち替えが出来るかがプログラマの腕の見せどころの一つだよ、って話をしました。
インターネット上にデータがどんどん増加していく世の中において、アルゴリズムの重要性はどんどん増していくんじゃないのかな?と思ってます。
みなさん自粛疲れも溜まってきたころだと思います。今回の記事は、プログラミングなど何か新しいものを学んでみたい、ちょっと頭を使いたいという方におすすめです。
私は学生時代から数学系が苦手だったのですが、「どうやって上手く解こうか」という頭の体操はとても面白かったです。直大さんの分かりやすい解説のおかげで、もっとアルゴリズムについて学んでみたくなりました。
おー、アルゴリズム!面白い~
1個だけ計算するときはパワープレイの方が楽なことも少なくない。一方で最初に考えて構造化・要素化(問題を定義・抽象化)することで、何回もやるときには楽になる。
アルゴリズムでなくても普段業務をするなかで、どれだけ上手く構造化・要素化できるかは、生産性に関わる。何回もやるときの時間もそうだし、構造化・要素化が上手い・早いと、全体の中で影響が小さいことを「その他」に分けるのが上手になり、業務にメリハリをつけやすくなると思う。

興味を持たれた方は下記がビジュアルにも分かりやすくオススメ。大学の実験でExcelでプログラムを組んで時間を測るみたいなのをやって、全然スピードが違い面白かったのを思い出す!
https://qiita.com/r-ngtm/items/f4fa55c77459f63a5228
これ、画像処理では積分画像 (integral image)と呼ばれるものですね。このアルゴリズムは、自分で陽に実装することなくても、様々な画像処理・認識のアルゴリズムで使われているので暗にお世話になっている人は多いハズです。

積分画像 (integral image)
http://www.sanko-shoko.net/note.php?id=kzqj
ちょっとした発想の転換で、簡単に処理できることがわかります。よいアルゴリズムを見つけることが、プログラマーに求めれらているとのこと。

長々取り止めもなく話する人と、要点をサッとかいつまんで話せる人のちがい、に似たようなものでしょうか。
この連載について
テクノロジーの話題に関するNewsPicksオリジナルのインタビューやレポート