데이터(data) : 문자, 숫자, 소리, 그림 등 실생활을 구성하고 있는 모든 값
1.자료구조 : 여러 데이터의 묶음을 저장하고, 사용하는 방법을 정의한 것
-대부분의 자료구조는 특정한 상황에 놓인 문제를 해결하는데에 특화되어 있음
-많은 자료구조를 알아두면, 상황에 적합한 자료구조를 빠르고 정확하게 적용하게 문제를 해결할 수 있음
1-1.스택(Stack)
-쌓다, 포개지다와 같은 뜻으로, 데이터를 순서대로 쌓는 자료구조
-대표적인 예시로 프링글스
-Stack의 특징
(1)LIFO(Last In First Out) : 후입선출
(2)데이터를 하나씩 넣고 하나씩 뺄 수 있음(한 꺼번에 여러 개 불가능)
(3)하나의 입출력 방향을 가짐
-Stack의 메서드
(1)push() : 스택에 데이터 추가
(2)pop() : 가장 나중에 추가된 데이터를 스택에서 삭제하고 삭제한 데이터를 리턴
(3)size() : 스택에 추가된 데이터의 크기를 리턴
(4)peek() : 스택에 가장 나중에 추가된 데이터를 리턴
(5)show() : 현재 스택에 포함된 모든 데이터를 String타입으로 변환하여 리턴
(6)clear() : 현재 스택에 포함된 모든 데이터를 삭제
1-2.큐(Queue)
-줄을 서서 기다리다는 뜻으로 데이터를 순서대로 쌓는 구조
-대표적인 예시로 고속도로 하이패스
-Queue의 특징
(1)FIFO(First In First Out) : 선입선출
(2)데이터를 하나씩 넣고 하나씩 뺄 수 있음(한 꺼번에 여러 개 불가능)
(3)두 개의 입출력 방향을 가짐(하나는 입력, 하나는 출력)
-컴퓨터 장치들 사이에서 데이터를 주고받을 때, 각 장치 사이에 존재하는 속도나 시간 차이를 극복하기 위해 임시 기억 장치의 자료구조로 Queue를 사용, 이를 통틀어 버퍼(Buffer)라고 함.
-Queue의 메서드
(1)add() : 큐에 데이터 추가
(2)poll() : 가장 먼저 추가된 데이터를 큐에서 삭제하고 삭제한 데이터를 리턴
(3)size() : 큐에 추가된 데이터의 크기를 리턴
(4)peek() : 큐에가장 먼저 추가된 데이터를 리턴
(5)show() : 현재 큐에 포함된 모든 데이터를 String타입으로 변환하여 리턴
(6)clear() : 현재 큐에 포함된 모든 데이터를 삭제
자료 출처 - code states
'부트캠프' 카테고리의 다른 글
자료구조/알고리즘 - Tree traversal, BFS/DFS (0) | 2023.01.18 |
---|---|
자료구조/알고리즘 - Tree, Graph, Binary (1) | 2023.01.17 |
자료구조/알고리즘 - JSON (0) | 2023.01.13 |
자료구조/알고리즘 - 재귀 함수 (0) | 2023.01.12 |
Java - Thread, JVM (0) | 2023.01.10 |