アルゴリズムとプログラミング

アルゴリズムとプログラミングとは

 アルゴリズムとプログラミング分野では,基本情報技術者試験などで出題されるアルゴリズムやデータ構造の理解だけでなく,実際にプログラミングを行いながら身につける実践的な力を養います。
 流れ図や擬似言語による基本的なプログラム設計の方法を学び,C#やPythonを使ったコーディング演習でアルゴリズムの考え方を定着させます。
 このカテゴリーでは,データ構造やアルゴリズムの基礎,制御構造,サブルーチン,計算量評価などを学ぶと同時に,プログラムの実装例を通して、理解を実務や開発で活かせる形で整理しています。
 また,基本情報技術者試験の過去問題やサンプル問題の解説も掲載しており,試験学習と実践力の両方を効率的に習得できます。

アルゴリズムとプログラミング

開発環境の構築 -情報処理シンプルまとめ

ここでは,アルゴリズムとプログラミングの内容を実践的に進めるために,C#コンソールアプリケーションとPythonアプリケーションを,Visual Studio Codeを使用して開発するための開発環境を構築する方法について説明します。※ C...
アルゴリズムとプログラミング

データ構造 -情報処理シンプルまとめ

基本情報技術者試験など情報処理技術者試験を受験する方にとっては必須の,データ構造についてシンプルにまとめています。変数(値の代入,定数),配列(要素,添字,一次元配列,二次元配列,配列の操作(探索,更新,挿入,削除)),リスト(データ部,ポインタ部,単方向リスト,双方向リスト,環状リスト,リストの操作(探索,更新,挿入,削除),配列によるリスト),キュー(待ち行列,エンキュー(ENQ,enqueue),デキュー(DEQ,dequeue),データの格納,データの取り出し),スタック(プッシュ(push),ポップ(pop),データの格納,データの取り出し),木構造(親,子,節(ノード),枝(ブランチ),根(ルート),葉(リーフ),2分木(2分木の走査(先行順,中間順,後行順)),完全2分木,2分探索木(データの探索,データの挿入,データの削除),多分木,ヒープ)ついて説明します。どれも大切な内容ですので,繰り返しじっくり読んでみてください。
アルゴリズムとプログラミング

流れ図と擬似言語によるプログラミング -情報処理シンプルまとめ

基本情報技術者試験など情報処理技術者試験を受験する方にとっては必須の,流れ図と擬似言語によるプログラミングについてシンプルにまとめています。流れ図(使用する記号),擬似言語(記述形式,演算子と優先順位,論理型の定数,配列,未定義),アルゴリズム,基本制御構造(順次型(直線型),分岐型(選択型)(二分岐型,多分岐型),反復型(繰返し型)(前判定型(while型),後判定型(do while型))),副プログラム(サブルーチン)(手続き,関数,戻り値),局所変数(ローカル変数)・大域変数(グローバル変数)と有効範囲(スコープ),値渡し(値呼出し)と参照渡し(参照呼出し)(参照の値渡し),プログラムの性質(再帰的(リカーシブ)プログラム,再入可能(リエントラント)プログラム,再使用可能(リユーザブル)プログラム,再配置可能(リロケータブル)プログラム)について説明します。擬似言語,Python,C#の例を載せていますので,(時間があれば)実際にコーディングをしながら進めてみてください。
アルゴリズムとプログラミング

オブジェクト指向プログラミング(C#) -情報処理シンプルまとめ

ここでは,オブジェクト指向プログラミング(C#)について説明します。情報処理技術者試験とは直接関係ありませんが,実践的な内容ですので,もし,時間があれば,実際にコーディングしながら頑張ってみてください。
アルゴリズムとプログラミング

アルゴリズムと計算量 -情報処理シンプルまとめ

基本情報技術者試験など情報処理技術者試験を受験する方にとっては必須の,アルゴリズムと計算量についてシンプルにまとめています。はじめに計算量について説明し,その後,整列(ソート)(基本交換法(隣接交換法,バブルソート),基本選択法(選択ソート),基本挿入法(挿入ソート),シェルソート(改良挿入法),クイックソート,マージソート,ヒープソート),探索(線形探索(番兵を使用した方法),2分探索,ハッシュ法(データの追加,データの探索)),文字列に対する処理(文字列の探索)ついて説明します。擬似言語,Python,C#の例を載せていますので,(時間があれば)実際にコーディングをしながら進めてみてください。