[pythonアルゴリズム]#スタック


スタック


スタックは制限的な資料構造であり、一端からしか資料を入れたり取り出したりできない.スタックに新しく追加された要素は元の要素の上に積み上げられるので、遅くなるほど、まず現れます.これを後入先出(LIFO)構造と呼ぶ.

📝 スタック基本演算

  • push()
    スタックに要素を追加します.
  • pop()
    スタックの一番上の要素を削除し、その要素を返します.
  • top()
    スタックの一番上の要素は削除されず、その要素を返します.
  • empty()
    スタックが空かどうかを確認し、空の場合は1または0を返します.
  • 📝 スタック実装


    スタックデータ構造は単独で提供されないので、スタックは、基本資料型리스트によって実現することができる.
  • Stack - init
    Pythonはリストでスタックを模倣します.したがって、スタックデータ構造を初期化すると、空のリストが生成されます.
  • # 빈 스택(리스트) 초기화
    stack = []
    stack
  • Stack - push
    スタックに要素を入れる場合、appendメソッドを使用してリストの最後に要素を入れます.
  • # 스택에 원소 추가
    stack = [1, 2, 3]
    stack.append(4)
    
    stack
    # [1, 2, 3, 4]
  • Stack - pop
    スタックから要素を削除すると、popメソッドを使用してリストの最後の要素が削除されます.このプロセスでは、popメソッドで削除された要素を返すことができます.
  • # 스택에서 원소 제거 후 반환
    stack = [1, 2, 3]
    top = stack.pop()
    
    print(top)
    stack
    
    # 3
    # [1, 2]
  • Stack - top
    スタックから要素を削除しない場合は、リストインデックスの[1]を使用して返すことができます.
  • # 스택의 top 반환하기
    stack = [1, 2, 3]
    top = stack[-1]
    
    top
    
    # 3