C/C++ のデータ構造とアルゴリズム
スタック、キュー、ハッシュテーブル、二分探索、マージソートを学び、それぞれチャレンジで確かめます。
パスを始める →- レッスン チャレンジ 1 件 C・C++の単方向連結リスト このレッスンでは、CとC++で単方向連結リストを作り、たどり、解放します。
- レッスン チャレンジ 1 件 C・C++のスタック(stack) このレッスンでは、Cの固定長配列とC++のstd::stackで、後入れ先出しのスタックの操作を実装します。
- レッスン チャレンジ 1 件 C・C++の循環キュー(circular queue) このレッスンでは、Cの循環配列とC++のstd::queueで、先入れ先出しのキューを実装します。
- レッスン チャレンジ 2 件 C・C++のハッシュテーブル(hash table) このレッスンでは、Cで自作したハッシュテーブルとC++のstd::unordered_mapで、各単語が何回出てくるかを数えます。
- レッスン チャレンジ 1 件 C・C++の二分探索 このレッスンでは、Cの自作ループとC++のstd::lower_boundで、並べ替え済みの配列をO(log n)の時間で探索します。
- レッスン チャレンジ 1 件 C・C++のマージソート(merge sort) このレッスンでは、常にO(n log n)の時間で動く、分割統治のマージソートを実装します。
- レッスン チャレンジ 2 件 C・C++の再帰と呼び出しスタック このレッスンでは、再帰関数で階乗を計算し、停止条件と再帰のメモリコストを理解します。
- レッスン チャレンジ 2 件 C++のSTLのコンテナとアルゴリズム このレッスンでは、Cで配列を処理するループを自分で書く方法と、C++標準ライブラリの既製のアルゴリズムを組み合わせる方法を比べます。