생성자 (Constructor)클래스의 객체가 정의될 때 (인스턴스가 생성될 때) 무조건적으로 호출되는 클래스의 특별한 멤버 함수변환자 (Transformer)관찰자 (Observer)const → 이 함수는 멤버 변수의 값을 수정하지 않는다반복자 (Iterator)
각 요소가 유일한 전임자(predecessor)와 후임자(successor)를 갖는 데이터 요소의 집합단 첫 번째 요소는 전임자가 없고, 마지막 요소는 후임자가 없다.데이터 요소들은 선형의 관계(linear relationship)를 갖는다. (전임, 후임)종류비정렬
논리적인 (ADT) 수준에서의 스택동일한(homogeneous) 요소들로 구성된 순서가 있는 그룹으로, 요소의 삽입 및 제거는 스택의 ‘top'에서만 수행될 수 있다.따라서 반복자(iterator)가 필요하지 않는다.LIFO (Last In, First Out) 구조✏
논리적인 (ADT) 수준에서의 큐동일한 (homogeneous) 요소들로 이루어진 순서 있는 그룹으로, 한쪽 끝(전단, rear)에서 새로운 요소의 삽입이 일어나고, 다른 한쪽 끝(후단, front)에서 요소의 제거가 일어난다.FIFO (First In, First O
✏️ ADT를 다른 형태로 구현할 때,논리적인 연산을 바꿀 필요는 없고, 구체적인 구현(코드)만 변경하면 된다.배열 (Array)스택의 최대 크기를 생성자의 파라미터로 받아서, 고정된 크기의 스택을 생성한다.컴파일 시간에 메모리 정적 할당→ 최대 크기에 제한이 있고,
모든 노드들이 후속 노드(successor)를 가지고 있으며, 첫번째 요소가 마지막 요소의 뒤를 잇는 연결 리스트리스트에 요소가 한 개만 있는 경우, 자기 자신을 가리킨다.✏️ 일반적인 연결 리스트: 첫번째 노드와 마지막 노드를 제외한 모든 노드들이 유일한 후속 노드를
재귀 호출 (Recursive call): 호출되는 메소드가 호출하는 메소드와 동일한 메소드 호출 재귀의 종류Direct recursion: 메소드가 자신을 직접 호출하는 재귀Indirect recursion: 두 개 이상의 메서드 호출 체인이, 체인을 시작한 메
계층 구조 표현하는 자료 구조 ✏️ 트리는 그래프의 일종이다. (순환하지 않는 그래프로, 루트로부터 어떤 노드로 가는 경로는 유일하다.)용어 Root트리가 시작되는, 트리의 최상단에 위치한 노드트리에서 루트는 오직 하나만 존재한다.루트의 부모는 존재하지 않는다.Le