データ構造アルゴリズム学習ノート

データ構造 単方向連結リストの操作 // 初期化 void initialize() { top = -1; // リストの先頭を-1に設定 counter = 0; // 使用中のインデックスカウンター } // 先頭に要素を挿入 void insert_at_top(int value) { elements[counter] = value; // 値をカレントノードに格納 next_pointers[counter] = top; // カレントノードの次を現在の先頭に ...

6月16日 18:20 投稿

LeetCode 第358回週間コンテスト 解説

2815. 配列内の最大ペア和 二重ループで全探索する。 class Solution { public: int maxSum(vector<int>& nums) { auto getMaxDigit = [](int val) { int maxD = 0; while (val) { if (val % 10 > maxD) maxD = val % 10; val /= 10; } return maxD; } ...

5月31日 03:48 投稿

宿舎管理システムの設計と実装(C言語によるデータ構造の応用)

概要 本稿では、データ構造とアルゴリズムに関する課題として開発した「宿舎管理照会ソフトウェア」について紹介する。学生の宿舎情報を効率的に管理・検索・操作することを目的とし、C言語で実装された単方向連結リストを基盤としたシステムである。主な機能には、学生情報の追加・削除・検索・ソート・表示が含まれる。ユーザーインターフェースはテキストベースのメニュ ...

5月30日 11:45 投稿

C言語とWin32 APIで構築するコンソールスネークゲーム

開発の基盤となる技術要素 本プロジェクトでは、C言語の以下の機能を駆使して実装を行います。 構造体、列挙型、ポインタの活用 動的メモリ割り当てによる連結リストの構築 プリプロセッサディレクティブによるマクロ定義 Win32 APIを用いたコンソール画面の制御 コンソール画面の制御 Windowsのコマンドプロンプト上で動作するアプリケーションを作成するため、system ...

5月16日 01:27 投稿

C言語によるデータ構造の実装とアルゴリズム設計

線形リストの特性と比較 配列ベースリストの特徴 配列を用いたリストはメモリ空間を事前に確保する必要があるため、サイズ変更が難しいが、要素へのアクセスは定数時間で可能である。挿入や削除を行う際には、対象位置以降のすべての要素を移動させる必要があり、処理効率が低下する可能性がある。 単方向連結リストの特徴 連結リストは動的メモリ割り当てにより柔軟なサ ...

5月14日 18:06 投稿