목록자료구조 (2)
여행을 개발하다
1. TreeMap이란? - 이진 탐색 트리(binary search tree)의 일종인 'Red-Black Tree'를 기반으로 하는 ‘key = entry’ 형식의 Map 컬렉션이다. Red-Black Tree - 일반적인 Tree 형태의 자료구조에서는 Tree의 높이가 클수록 데이터의 탐색시간이 길어진다. 또한, 데이터가 한쪽으로만 입력되어 치우진 구조가 된다면 전체 효율이 매우 떨어질 수 있다. 이를 보완하여 고안된 것이 Red-Black Tree이다. Red Black Tree의 주요 특징은 Root를 기준으로 작은 값은 왼쪽 서브 노드에, 더 큰 값을 오른쪽 서브 노드에 배치한다는 것이다. 복잡한 자료구조이긴 하나, 실사용에서 효율적이기 때문에 최악의 상황에서도 우수한 실행 시간을 담보할 수 ..
1. Stack(스택) - 스택의 사전적인 정의는 '쌓아올림', '무더기'라는 뜻이며, 의미 그대로 자료를 계속 쌓아올라가는 방식으로 데이터를 임시 저장하는 자료구조를 의미한다. - 스택은 데이터의 입출입이 단 하나의 방향에서만 이루어진다. - 따라서, 가장 먼저 들어온 데이터가 가장 늦게 사용되고, 가장 나중에 들어온 데이터가 가장 먼저 사용되는 후입선출(Last In First Out) 방식의 자료구조이다. - 스택에 자료를 쌓아올리는 작업을 푸시(push), 스택에서 자료를 꺼내는 작업을 팝(pop)이라고 한다. - 스택의 상단을 탑(top), 하단을 (bottom)이라고 한다. ※ 대표적인 구현 방식 & 상황 예시 - 웹 브라우저 등에서 뒤로 가기 버튼을 누르면, 현재 페이지 이전으로 돌아간다(h..