
LIFO: Last in, First out 설거지 그릇 쌓아놓고 윗 접시만 쓰는 것과 동일한 이치
큐 FIFO: First in, First out 식당에서 줄서기 -> 먼저 온 사람부터 들어감 스택과 달리 삽입/삭제가 다른 쪽에서 일어남. 삭제는 front에서, 삽입은 rear에서 일어남. enqueue(e) 새로운 자료 e를 큐 맨 뒤에 추가 dequeue(
정렬 알고리즘과 시간복잡도 정렬은 자료를 크기 순서대로 배열하는 알고리즘이다. 비교와 이동을 통해 정렬하기 때문에, 최대한 효율적으로 알고리즘을 짜는게 관건이다. 그리고 이 효율성은 시간복잡도를 기준으로 판단한다. (공간복잡도도 있긴 하지만 암튼) 시간복잡도를 표현할 때는 Big O 표기법을 사용한다. 알고리즘이 n개의 자료를 처리할 때 소요되는 시간을...
탐색과 이진탐색 (Binary Search) 먼저 탐색이란 주어진 자료에서 원하는 값을 찾는 작업, 즉 '검색'이다. 영어로도 'search'라고 한다. 탐색의 가장 단순한 방법은 리스트를 처음부터 마지막까지 하나씩 검사하며 내가 찾는 정보가 있는지 확인하는 '순차탐색'이 될 것이다. 하지만 이 방법은 최악의 경우 모든 데이터를 다 도는 $$O(n)$$...