자료구조

트리는 계층적 관계를 표현하는 자료구조 [트리] 단순히 무엇을 저장하고 꺼내는 것이 아닌 무언가를 표현하는 자료구조 노드 - 트리의 구성요소 간선 - 노드를 연결하는 연결선 루트 노드 - 트리 구조에서 최상위 노드 단말 노드 - 아래에 더 이상 노드가 없는 말단 노드 부모 노드가 같은 노드끼리는 형제 노드 루트 노드를 중심으로 둘로 나누어지는 서브 트리 레벨 : 각 층 별로 숫자를 매긴 것 (루트 노드가 레벨 0) 높이 : 트리의 최고 레벨=높이 포화 이진트리 : 레벨이 꽉 찬 이진트리 완전 이진트리 : 노드가 위에서 아래로 & 왼쪽에서 오른쪽 순서대로 채워짐 특징 → 노드가 위치할 수 있는 곳에 노드가 존재하지 않는다면 공집합 노드가 존재하는 것으로 간주 [배열 기반의 이진트리] ★부모노드를 참고할때 ..
· PS 연습
난 리스트+큐로 풀었지만 큐만으로도 풀수 있는 문제 [내 풀이] #include #include #include using namespace std; int main() { list circle; list ::iterator iter=circle.begin(); queue result; int n; cin>>n; int k; cin>>k; for(int i=1; i
· C++
▶ 자료구조의 종류 연결리스트 스택 큐 덱 트리 우선순위 큐 ▶ 연결 리스트(linked list) (양방향 리스트로 구현되어 있음!) [ADT] 리스트 생성 양 끝에 요소 삽입/삭제 임의의 위치에 요소 삽입/삭제 리스트의 각 요소 출력 #include #include using namespace std; int main() { list li; // 리스트 생성 list ::iterator iter = li.begin(); // 리스트의 위치를 가리키는 포인터 for(int i=0; i
후입 선출. [스택의 종류] 배열을 기반으로 구현한 스택 연결리스트를 기반으로 구현한 스택 [배열을 기반으로 구현한 스택] → 인덱스 0의 배열요소가 스택의 바닥 ! (길이와 상관없이 무조건 인덱스 0이 바닥이기 때문) ▶ ADT 필요한 기능 : 스택 초기화, 스택이 빈 경우 true 반환, 스택에 데이터 저장, 마지막에 저장된 요소 삭제, 마지막에 저장된 요소 들여다보기 void StackInit(Stack * pstack); // 스택 초기화 int SIsEmpty(Stack * pstack); // 스택 비었는지 확인 void SPush(Stack * pstack, Data data); // 스택에 데이터 삽입 Data SPop(Stack * pstack); // 스택에서 데이터 반환&삭제 Data..
생선묵김치찌개
'자료구조' 태그의 글 목록