210307_TIL

Data Structure

분석하고자 하는 자료가 어떻게 구성되어 있는지 정리하여 특성을 파악
그 후 자료의 특징에 따라 적합한 자료구조 사용

자료구조는 효율성과 적합성이 가장 중요
순서, 중복, 검색, 수정 등을 생각하면서 분석

  1. 자료구조의 각각의 특징 파악
  2. 자료구조가 어디에 쓰이는가
  3. 서로의 차이점 분석
  4. 내부 구현 이론 파악
  5. 어떻게 동작하는가

Stack

자료를 쌓는 구조 (프링글스!)

특징

입출의 제한이 있다.
가장 먼저 들어간 데이터가 가장 늦게 나옴 (FILO) => 제한적 접근

어디에 써?

웹 페이지 뒤로가기 앞으로가기에 사용된다.

내부 로직 구현

class Stack {
  constructor() {
    this.storage = []; // Stack에 자료를 저장할 공간 생성
  }

  push(ele) {
    return this.storage.push(ele) // 자료를 저장공간에 저장
  }

  pop() {
    if(!!this.storage) {
    return this.storage.pop() // 마지막 자료를 추출
    } else {
    return;
    }
  }
}  

Queue
줄 세우기
Stack과 반대되는 개념

특징
데이터를 입력한 순서대로 처리해야한다.(FIFO) 선!입!선!출!

어디에 써?
인쇄 누르면 프린터되는 항목이 나오는데 이를 처리하는 로직과 같다.
인쇄 -> Queue 진입(임시기억장치) -> 순서대로 인쇄

내부 로직 구현

class Queue {
  constructor() {
    this.storage = []; // Queue에 자료를 저장할 공간 생성
  }

  enqueue(ele) {
    return this.storage.push(ele) // 자료를 저장공간에 저장
  }

  dequeue() {
    if(!!this.storage) {
    return this.storage.shift() // 맨 앞 자료를 추출
    } else {
    return;
    }
  }
}  

좋은 웹페이지 즐겨찾기