[CS스터디]Day 29

DaramGee·2024년 5월 9일

Study

목록 보기
15/20

일시 : 2024.04.29 16:30~17:00

자료구조 stack과 Queue는?

스택(Stack):

후입선출(LIFO, Last-In-First-Out) 구조: 가장 최근에 추가된 요소가 가장 먼저 제거됩니다.
주로 순차적인 데이터의 역순 처리나 재귀적인 알고리즘 구현에 사용됩니다.
예를 들어, 함수 호출 스택, 브라우저의 뒤로 가기 기능, 텍스트 편집기의 되돌리기 기능 등에서 스택이 사용될 수 있습니다.

큐(Queue):

선입선출(FIFO, First-In-First-Out) 구조: 가장 먼저 추가된 요소가 가장 먼저 제거됩니다.
주로 데이터가 입력된 순서대로 처리되어야 하는 상황이나 작업 큐, 이벤트 큐 등에서 사용됩니다.
예를 들어, 작업 처리 시스템에서 작업을 처리하는 순서를 보장하거나, 네트워크에서 메시지를 처리하는 등의 상황에서 큐가 사용될 수 있습니다.
따라서, 스택은 데이터가 역순으로 처리되어야 할 때나 최근에 추가된 데이터에 우선순위를 부여해야 할 때 사용되고, 큐는 데이터가 입력된 순서대로 처리되어야 할 때 사용됩니다. 상황에 따라 적절한 자료구조를 선택하여 사용하는 것이 중요합니다.

자료구조 Set, Map은? 그리고 그 차이점은?

세트(Set):

중복을 허용하지 않는 요소들의 집합: 세트에는 동일한 요소가 중복해서 저장될 수 없습니다.
요소의 순서가 보장되지 않습니다.
자료를 저장하고 중복된 요소를 제거하는 데 사용됩니다.
예를 들어, 고유한 값들의 집합을 관리하거나 중복을 허용하지 않는 데이터를 저장할 때 세트가 사용될 수 있습니다.

맵(Map):

키-값 쌍의 집합: 맵은 각각의 요소가 키와 값으로 구성되어 있으며, 키를 사용하여 값을 저장하고 검색합니다.
키는 중복될 수 없지만, 값은 중복될 수 있습니다.
요소의 순서가 보장되지 않습니다.
자료를 저장하고 검색하는 데 사용되며, 특히 특정 키에 대한 값을 빠르게 검색하는 데 효과적입니다.
예를 들어, 학생의 학번을 키로 하고 해당 학생의 정보를 값으로 저장하는 등의 경우에 맵이 사용될 수 있습니다.
따라서, 세트는 중복된 요소를 제거하고 고유한 값들을 관리할 때 사용되고, 맵은 키-값 쌍을 사용하여 데이터를 저장하고 검색할 때 사용됩니다. 데이터의 특성에 따라 적절한 자료구조를 선택하여 사용하는 것이 중요합니다.

스터디 현황

0개의 댓글