Stack & Queue


データ構造


コードを記述する際に考慮すべきことは多すぎるが,その中で最も考慮すべきことはデータの入出力形式を理解または決定することである.次に、入力=>出力の間に必要な論理を決定する必要があります.これらのプロセスの接続性、拡張性に伴い、私たちが言うプログラミングになりつつあります.
さらに,時間的複雑さと空間的複雑さも考慮しなければならない.主なデータ構造とアルゴリズムがライブラリとして存在する場合でも、HTTPリクエストに応答するには簡単な繰り返し文が1時間以上かかる場合は、このロジックは使用できません.
データ構造を理解することは、適切な操作時間内に適切なメモリを使用してデータを処理できることを意味します.最適なコードでなくても、許容可能な性能を持つコードを記述する能力が重要です.資料構造とアルゴリズムは時間複雑度と空間複雑度を計算する方法を教えてくれ,最もよく使われる資料構造とアルゴリズムを通じて計算複雑度を理解する方法である.

Stack


stackは,一端にのみ資料を入れて取り出し,制限入出力グループを持つLIFO(Last In Frost Out)資料構造である.

stackは、最後のstack要素から動作する構造を有する.この原理は、取り消し、やり直しなどの操作を実現するために使用されます.

method


jsではarrayとその方法を用いてスタックを簡単に実現できる.
  • push():最後にデータ
  • を入れる
  • pop():最後のデータ
  • を取り出す(削除後に戻る)
  • peek():最後のデータを表示する
  • class stack(){
     constructor(){
      this._arr = [];
     }
     push(item){
      this._arr.push(item)
     }
     pop(){
      return this._arr.pop()
     }
     peek(){
      return this._arr[this._arr.length - 1]
     }
    }
    const stack = new stack()
    スタックは、複数の相互に関連付けられたタスクを連続的に実行し、以前の作業内容を格納するために使用できます.

    Queue


    queueは、データを格納できる線形データ構造である.まず、FIFOと呼ばれる入力データです.

    method


    queueのメソッドには、データを読み込むenqueueと、データを抽出するdequeueがあります.
    class Queue(){
     constructor(){
      this._arr = []
     }
     enqueue(item){
      this._arr.push(item)
     }
     dequeue(){
      return this._arr.shift()
     }
    }
    const queue = new Queue()
    キューは、通常、順次処理される一時記憶サブタスクのバッファとして使用されます.