[JavaScript]TWIl:データ構造1/3 stack,Queue(20/10.22-0.27)


Data Structure Sprintを行っています。


今回の印刷は代表的な資料構造を直接体現します.
資料構造は資料を処理する方法である.
現在は1/3地点まで行われており,実現した資料構造は2種類ある.
1. Stack
2. Queue
エンジニアたちは、今回のsprintは大学で1学期勉強する量なので、そんなに深い属性を理解するのは難しいと話しています.私は勉強の過程で短時間で多くの構造を身につける必要があるので、適切に勉強すべきだと思います.
そこでsprintをする過程で、勉強する部分まで、ブログを書きます.(自分の描いた絵と一緒に…ははは)
今後、これらの構造をより深く学ぶ時間があれば、文章をさらに改善し、補充します.

1. Stack



StackはLIFO方式のデータ構造です.いわゆる「積み重ねた皿」にたとえられる人が多い.
dataを追加しても一番上(最新)から一番上(最新)に減ります.
最も代表的なのは、最近アクセスしたサイト履歴、関数の呼び出しスタックなどの機能がスタックを使用していることです.

ツールバーの

  • 最新データのtop
  • 記憶空間
  • Method

  • データの格納サイズ()
  • を示す.
    プッシュ(data)、
  • データ挿入
  • 最新データのpop()
  • の他に、isEmpty()、isFull()などの実施度合いも含まれる.
  • Psuedo Code

    size() {
      // top속성을 활용, top은 push됨에 따라 top++될 것이므로, 
      // top을 return 하면 그것이 바로 size가 될 것임
    }
    push(data) {
      // 1. storage의 top인덱스에 data를 할당
      // 2. top을 ++처리
    }
    pop() {
      // 1. 변수에 storage의 top에 해당하는 data를 찾아서 저장
      // 2. 그 data는 삭제
      // 3. 만약, 삭제 후의 top이 0이 아니라면 top을 --처리
      // 4. data를 저장했던 변수를 return
    }

    2. Queue



    QueueはFIFO方式のデータ構造です.これがいわゆる「キュー」です.
    最初に入力したデータが最初に抽出されます.
    待ち順呼び出しなど、キュー機能が必要な機能に使用します.

    Property

  • 記憶空間
  • 一番前のfront
  • を指す

  • Method

  • データの格納サイズ()
  • を示す.
  • 最後尾にデータを挿入するenqueue(data)
  • 一番前のdequeue()
  • およびpeek()などによって実現される程度である.
  • Psuedo Code

    size() {
      // 가장 뒤를 가리키는 rear를 return하거나,
      // 혹은 배열이면 length, 객체면 키만 뽑아내 그 길이를 return
    }
    enqueue(data) {
      // 1. rear에 data 할당
      // 2. 상황에 따라 front, rear 따로 처리해야 할 것
    }
    dequeue() {
      // 1. 변수에 front가 가리키는 data 저장
      // 2. 해당 data 삭제
      // 3. 만약, rear가 현재 0이 아니라면 front++, rear-- 처리
      // 4. 만약, rear가 0이라면 front는 0으로 처리
      // 5. data를 저장해뒀던 변수 return
    }