
임의의 배열을 설정해야 된다고 하자. 배열 몇 개를 사용할 것인가? 작게 하자니 크게 나올 게 걱정되고, 크게 하자니 메모리 낭비 될까봐 걱정된다. 이럴 땐 어떻게 해야 하는가? 이런 문제를 해결해줄 자료구조가 바로 리스트이다.리스트는 스택, 큐, 트리와 같은 '재미있
스택은 가장 먼저 들어간 데이터가 나중에 나오는 구조로 되어있다. 이를 FILO(First In, Last Out)이라 부른다. 스택의 주요 기능은 '삽입(Push)과 제거(PoP)' 두 가지 뿐이다. 다른 건 다 부수 기능일 뿐이다. 스택은 링크드 리스트와 배열을

큐는 스택과 달리 선입선출(FIFO : Fist In First Out) 구조이다. 먼저 들어간 데이터가 먼저 나온다. 순환 큐는 무엇인가? 마치 환형 링크드 리스트처럼, 맨 뒤 노드랑 맨 앞 노드랑 연결돼있는 큐이다. 근데 순환 큐는 문제점이 있다. 무엇인가? 큐가

트리란 무엇인가? 마치 나무처럼 뿌리를 두고 가지가 뻗어 나가고, 그 가지에는 다시 잎이 맺는 그런 형상을 말한다. 그림으로 보면 다음과 같다.뿌리, 가지, 잎은 모두 똑같은 노드이다. 트리 내의 위치에 따라서 명칭만 달라질 뿐이다. 뿌리인 루트는 트리 자료구조의 가장

정렬은 무엇인가? 데이터를 오름차순 혹은 내림차순 등으로 가지런히 나열하는 것이다. 정렬의 목적은 무엇인가? 우리가 찾고자 하는 데이터를 빠르고 쉽게 찾을 수 있게 하는 것이 목적이다. 정렬에는 여러 가지 종류가 있고 각각 장단점이 있다.버블 정렬(Bubble Sort

탐색은 말 그대로 찾는 거다. 뭐를? 데이터를 찾는다. 자료구조 형태마다 적용할 수 있는 탐색 알고리즘이 다르다.순차 탐색(Sequential Search)은 데이터 집합의 처음부터 끝까지 차례데로 모든 요소를 비교해서 데이터를 찾는 탐색 알고리즘이다. 한쪽 방향으로만