열혈 자료구조

트리는 계층적 관계를 표현하는 자료구조 [트리] 단순히 무엇을 저장하고 꺼내는 것이 아닌 무언가를 표현하는 자료구조 노드 - 트리의 구성요소 간선 - 노드를 연결하는 연결선 루트 노드 - 트리 구조에서 최상위 노드 단말 노드 - 아래에 더 이상 노드가 없는 말단 노드 부모 노드가 같은 노드끼리는 형제 노드 루트 노드를 중심으로 둘로 나누어지는 서브 트리 레벨 : 각 층 별로 숫자를 매긴 것 (루트 노드가 레벨 0) 높이 : 트리의 최고 레벨=높이 포화 이진트리 : 레벨이 꽉 찬 이진트리 완전 이진트리 : 노드가 위에서 아래로 & 왼쪽에서 오른쪽 순서대로 채워짐 특징 → 노드가 위치할 수 있는 곳에 노드가 존재하지 않는다면 공집합 노드가 존재하는 것으로 간주 [배열 기반의 이진트리] ★부모노드를 참고할때 ..
후입 선출. [스택의 종류] 배열을 기반으로 구현한 스택 연결리스트를 기반으로 구현한 스택 [배열을 기반으로 구현한 스택] → 인덱스 0의 배열요소가 스택의 바닥 ! (길이와 상관없이 무조건 인덱스 0이 바닥이기 때문) ▶ ADT 필요한 기능 : 스택 초기화, 스택이 빈 경우 true 반환, 스택에 데이터 저장, 마지막에 저장된 요소 삭제, 마지막에 저장된 요소 들여다보기 void StackInit(Stack * pstack); // 스택 초기화 int SIsEmpty(Stack * pstack); // 스택 비었는지 확인 void SPush(Stack * pstack, Data data); // 스택에 데이터 삽입 Data SPop(Stack * pstack); // 스택에서 데이터 반환&삭제 Data..
[자료구조 공부법 -BY 윤성우씨] 1. 자료구조의 ADT 정의 2. 정의한 ADT의 구현 3. 구현이 완료된 자료구조의 활용 [연결리스트의 종류] 배열을 기반으로 구현된 리스트 동적할당을 기반으로 구현된 리스트 단순 연결 리스트 원형 연결 리스트 양방향 연결 리스트 ADT(추상 자료형) : 구체적인 기능의 완성과정을 언급하지 않고, 순수하게 "기능이 무엇인지" 나열한것 (ex. 리스트 자료구조의 데이터를 저장하는 기능인 LInsert) ▷ 추상 자료형은 사람에 따라서 정의하는 방식이 다르므로 "표준" 이란것이 없다 [배열을 기반으로 구현된 리스트] → 노드 개념이 없음 장점 : 데이터 참조가 쉽다(by 인덱스) 단점 : 배열의 길이가 한정되어 있다, 삭제할때마다 데이터 이동;; ▶ ADT 필요한 기능 ..
생선묵김치찌개
'열혈 자료구조' 태그의 글 목록