210307_TIL
Data Structure
분석하고자 하는 자료가 어떻게 구성되어 있는지 정리하여 특성을 파악
그 후 자료의 특징에 따라 적합한 자료구조 사용
자료구조는 효율성과 적합성이 가장 중요
순서, 중복, 검색, 수정 등을 생각하면서 분석
- 자료구조의 각각의 특징 파악
- 자료구조가 어디에 쓰이는가
- 서로의 차이점 분석
- 내부 구현 이론 파악
- 어떻게 동작하는가
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;
}
}
}
Author And Source
이 문제에 관하여(210307_TIL), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@jaeheon9987/210307TIL저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)