文系エンジニアの僕はとある現場でコンピュータサイエンス(CS)という言葉を知り、そこで自分がいかに理系エンジニアと比較して何も知らないのか打ちのめされました。そんな僕が遅れを取り戻すべく CS 学習の最中に書いた記事をまとめてみました。
Read More
CS に関する記事一覧
【データ構造】「木とグラフ・探索アルゴリズム」をわかりやすく解説
とにかく代表的なデータ構造といえば「木とグラフ」ですね。その実装方法、探索アルゴリズムについて詳しく説明します。苦手意識がある人もいるかもしれませんが、ここまで記事を読んでくださった方ならきっと大丈夫です!
Read More
【データ構造】キューとスタックの使い方を解説!【実用例たっぷり】
前回の記事で紹介した「連結リスト」を応用した「スタック・キュー」というデータ構造について解説します。たくさん問題も解くので、エンジニア面談の傾向と対策になると思います。
Read More
【データ構造】連結リスト・ランナーテクニックを解説!【頻出問題】
今回はノードオブジェクトの並びを表す「連結リスト」というデータ構造と「ランナーテクニック」について解説します。たくさん問題も解くので、エンジニア面談の傾向と対策になると思います。
Read More
【データ構造】面談対策!文字列・配列の問題解説【ハッシュテーブル】
今回は「配列・文字列」問題の解説をします。また、前提知識である「ハッシュテーブル・配列リスト・文字列連結」の説明をしています。問題を解くことで「ビットベクトル・行列」の知識も身につけることができると思います。
Read More
【Big O】オーダー記法「実行時間」の頻出問題を解説【28問】
今回はひたすらオーダー記法で「実行時間」を求める練習をしてみようと思います。はじめは難しいですが、同じパターンが何度も現れるので理解さえしてしまえば簡単です。
Read More
【Big O】対数・再帰の実行時間、基数省略について【二分探索】
今回は Big O 記法の「実行時間 O(log N) 」と「再帰の実行時間」について解説します!初心者が慣れていないと勘違いしやすいところを重点的に説明しています。
Read More
【アルゴリズム】Big Oの定数切り捨てルール・償却計算量を解説
今回は Big O 記法の「影響の少ない項も切り捨てる」という一般ルール、複数パートから成るアルゴリズムの計算時間で O(A + B) になるか O(A * B) になるかの判断、償却計算量について解説します。
Read More
【アルゴリズム性能評価】Big O(オーダー)記法をやさしく解説
今回はアルゴリズム性能を記述する Big O 記法について解説します。これを理解していなければアルゴリズム開発に苦労しますし、大きなテックカンパニーのエンジニアは知ってて当然レベルなので必ず押さえておきましょう。
Read More
【累乗の逆】むかし数学で習った「対数」を超やさしく解説【log】
プログラムの計算時間を評価するときなどに「対数」という言葉がでてきます。大きい累乗は指数的爆発が起きやすい…と以前説明しましたが、対数は大きい累乗計算を簡略化するときに使われたりします。今回はまず対数の基礎を説明します!
Read More