▶️ information

Algorithms & Programming

laboratory

アルゴリズムとプログラミングの基本概念

キュー (Queue)

  • キューは列に並んで順番を待つイメージ。最初に並んだものが最初に出ていくので「先入れ先出し (FIFO)」。
  • :  銀行の列。先に並んだ人から順に呼ばれる。
  • FIFO(First-In First-Out)とは、現物の在庫管理の手法における「先入先出法」のこと。

スタック (Stack)

  • スタックは積み重ねるイメージです。キューの正反対。最後に積んだものが最初に出ていくので「後入れ先出し (LIFO)」。
  • :  エレベーター。最後に乗った人が最初に降りる?本の山を積む。最後に積んだ本を最初に取り出す。
  • LIFO(Last In First Out)とは、複数の対象を取り扱う順序を表した用語で、最初に入れたものを最後に取り出す「後入先出法」のこと。

検索 (Search)

  • 検索は特定の情報を探すことです。データの中から必要な情報を見つける。
  • :  教室の中で特定の本を探す。たくさんの本の中から目当ての本を見つけること。

合併 (Merge)

  • マージは2つ以上のものを一つにまとめること。特にデータを整理して一つのリストにすることが多い。
  • :  2つのクラスの生徒リストを一つのリストにまとめること。

整列 (Sort)

  • ソートはデータを順番に並べること。昇順 (小さい順) または降順 (大きい順) に整理。
  • :  クラスの生徒を名前の順に並べ替えること。

具体的な例

キューの例:

queue = [ ]

queue.append(‘A’)  # Aさんが列に並ぶ

queue.append(‘B’)  # Bさんが列に並ぶ

first = queue.pop(0)  # 最初に並んだAさんが出ていく

スタックの例:

stack = [ ]

stack.append(‘A’)  # Aさんがエレベーターに乗る

stack.append(‘B’)  # Bさんが乗る

last = stack.pop()  # 最後に乗ったBさんが出ていく

検索の例:

numbers = [1, 3, 5, 7, 9]

target = 5

if target in numbers:

    print(f”{target}はリストにあります”)

マージの例:

list1 = [1, 3, 5]

list2 = [2, 4, 6]

merged_list = sorted(list1 + list2)  # 2つのリストをまとめて並べ替える

ソートの例:

unsorted_list = [3, 1, 4, 2]

sorted_list = sorted(unsorted_list)  # リストを昇順に並べ替える

まとめ

  • キュー: 順番に並んで、最初に入ったものが最初に出る。
  • スタック: 積み重ねて、最後に入ったものが最初に出る。
  • 検索: 特定の情報を探す。
  • マージ: データを一つにまとめる。
  • ソート: データを順番に並べる。
タイトルとURLをコピーしました