연결 리스트(LinkedList) ① 연결 리스트(LinkedList)는 각 노드(Node)가 데이터와 포인터를 가지고 한 줄로 연결되어 있는 방식으로 데이터를 저장하는 자료구조입니다. 아래 소스코드에서 구현한 연결 리스트는 각 노드가 데이터를 가지고 이전 노드와 다음 노드의 주소 값 2개를 저장하는 이중 연결 리스트(Dobly LinkedList) 구조입니다. 여기서 노드는 Node라는 클래스로 선언되어 있고 데이터(data), 이전 노드(prev), 다음 노드(next)로 구성되어 있습니다. ② 아래 소스코드에서 연결 리스트와 관련된 함수들은 다음과 같습니다. addFirst(int data): 리스트의 맨 앞에 data를 추가하는 함수 addLast(int data): 리스트의 맨 뒤에 data를 ..
스택(Stack) ① 스택(Stack)는 가장 마지막에 들어간 데이터가 먼저 나오는 LIFO(Last In First Out) 구조를 가지고 있습니다. 아래 소스코드에서 1차원 배열로 스택을 구현하였고 스택 관련 함수들은 다음과 같습니다. stackIsEmpty(): 스택이 비어있는지 판단하는 함수 stackIsFull(): 스택에 더이상 들어갈 공간이 없는지 판단하는 함수 size(): 스택에 들어가있는 데이터의 개수를 return하는 함수 push(int value): 스택에 value값을 저장하는 함수 peek(): 스택에 가장 마지막에 들어간 데이터를 return하는 함수 pop(): 스택에 가장 마지막에 들어간 데이터를 return하고 삭제하는 함수 ② 아래 소스코드의 맨 아래 주석 부분을 보면..
시작하며 삼성전자 SW 역량테스트 B형은 라이브러리를 사용할 수 없는 대신 Reference Code를 제공합니다. 제가 구현한 자료구조들은 기본적으로 Reference Code를 바탕으로 하며 이해하는 과정에서 주석을 달며 정리했습니다. 구현 코드는 실제 시험에서 사용할 때는 달라질 수 있으며 각자에게 맞는 방식으로 구현하시는 것을 추천합니다. 큐(Queue) ① 큐(Queue)는 먼저 집어넣은 데이터가 먼저 나오는 FIFO(First In First Out) 구조를 가지고 있습니다. 아래 소스코드에서 1차원 배열로 큐를 구현하였고 큐 관련 함수들은 다음과 같습니다. queueIsEmpty(): 큐 안이 비어있는지 판단하는 함수 queueIsFull(): 1차원 배열의 최대 크기를 벗어나면 안 되기에 ..
- Total