목록배열 (2)
Hello World!
Array and Linked List 1. Array Array(배열)은 동일한 자료형의 원소들을 순서 있게 저장하는 자료구조이다. 순서 있다는 말이 배열 안의 원소들이 정렬되어야 한다는 의미가 아니다. 배열은 선형 자료구조로 값의 번호가 곧 배열의 시작점으로부터 값이 저장되어 있는 상대적인 위치가 된다. 이를 '순서 있다'라고 표현한 것이고, 각 원소들은 index를 통해 접근 가능하다. 이는 O(1), 즉 상수시간이 걸리므로 원소에 대한 접근이 빠르다는 점이 배열의 장점 중 하나이다. 배열은 일반적으로 정적 할당을 하게 되는데, 이 경우 처음 배열 선언시 지정한 크기만큼만 사용할 수 있다. 만약 지정한 크기보다 더 많은 원소들을 저장할 필요가 있으면, 크기가 더 큰 새로운 배열을 선언 후 기존의 원..
queue 1. queue queue(큐)는 출구와 입구가 양쪽에 각각 있는 선형 자료구조이다. 즉, front에 데이터를 삽입하면 rear에서 빠져나온다. 이는 큐의 FIFO(First In First Out) 성질을 보장해주는데 먼저 들어간 데이터가 먼저 나온다는 뜻이다. 큐의 구조는 아래 그림과 같다. 이제 그림을 통해 삽입 과정을 이해해보자. int형 데이터를 담는 큐에 5, 4, 2, 1을 순서대로 push해보자. 제일 먼저 들어간 5가 rear, 제일 마지막에 들어간 1이 front에 위치하고 있다. 그렇다면 처음 삭제 연산이 수행됐을 때 삭제되는 원소는 무엇일까? rear에 위치하는, 즉 가장 먼저 들어온 5이다. 만약 삭제 연산이 2번 연속 수행된다면 5와 4가 차례로 삭제되고, 큐는 아래..