Develop/C

· Develop/C
주요 내용 요약 0. 이분탐색 리스트의 특징 - 두개이하의 자식노드를 갖는 트리이며, 루트보다 작으면 왼쪽, 크면 오른쪽으로 자식을 갖는다. - 따라서 inorder로 순회 하면 오름차순의 데이터를 갖게 된다. 1. 삽입 - 루트부터 key값의 대/소를 배교해 작은면 왼쪽, 크면 오른쪽으로 내려가면서 자리를 찾아 삽입 2. 삭제 - 가장 끝(nil)에 있는 노드를 삭제하면 NULL만 자식으로 붙히면 됨 - 중간에 값을 삭제 한다면 두가지 케이스로 나눠진다. 1) 자식 노드가 모두 있을때. - 오른쪽 자식을 루트로 하여 그 자식들 중 최솟값을 갖는 루트의 데이터를 갖져온 후 삭제. 2) 자식 노드가 하나 이하로 있을때. - 둘중에 있는 놈을 자식으로 할당 3. 입력 값 별 순회 데이터(7, 3, 9, 1,..
· Develop/C
중요 부분 1. Struct Node 선언(?) - 참고로 typedef 를 사용하면 편하게 불러올 수 있다. typedef struct NODE { // 노드 선언 struct NODE *next; // 자식 노드 선언 int data; // data 변수 }NODE; 2. 노드 생성 함수 void appendFirst(NODE *target, int newData){ // 첫 번째 노드 생성 NODE *newNode = malloc(sizeof(NODE)); // 첫 노드의 동적메모리 할당 newNode -> next = target -> next; // 헤더 노드의 포인터를 새노드의 포인터로 연결 newNode -> data = newData; // 인자로 받은 데이터를 새노드의 데이터로 할당 ta..
Hong-Kyu
'Develop/C' 카테고리의 글 목록