アルゴリズムと データ構造 第4回 スタック・キュー スタック スタックとは データを一時的に蓄える際利用するデータ構造 最後に入れたものが最初に取り出される:後入れ 先出し(LIFO) 関数呼び出しや再帰アルゴリズムの非再帰実現 などにも使用 スタック スタックの詳細 データ操作 データを入れる:プッシュ(push) データを取り出す:ポップ(pop) スタックの上と下 プッシュ、ポップが行われる側:頂上(top) その反対側:底(bottom) スタック スタックの動き push pop 3 2 1 top 3 3 2 bottom 1 スタック スタックの実現 push pop 29 28 15 7 5 ptr ptr ptr ptr 5 7 15 29 28 28 ptr キュー キューとは データを一時的に蓄える際利用するデータ構造 最初に入れたものが最初に取り出される:先入れ 先出し(FIFO) 待ち行列 キュー キューの詳細 データ操作 データを入れる:エンキュー(enqueue) データを取り出す:デキュー(dequeue) キューの上と下 データを取り出す側:先頭(front) その反対側:末尾(rear) キュー キューの動き enqueue dequeue front 1 2 3 3 2 1 rear 1 キュー キューの実現(配列版) enqueue dequeue 29 28 15 7 5 ptr ptr ptr ptr 5 7 15 29 28 5 ptr キュー キューの実現(リングバッファ版) enqueue dequeue rear rear rear 29 28 15 7 5 28 29 front front rear rear rear 68 68 39 5 7 15
© Copyright 2024 ExpyDoc