본문 바로가기

알고리즘(C언어)40

(13)부록_BST트리(이진탐색트리), AVL트리(균형탐색트리) 코드 구별 총정리//시발 더이상 못함 1_ BST의 삽입 메소드 //InsertBST()1234567891011121314151617181920212223242526272829//BST 삽입 메소드void InsertBST(BNode** p, int data) {    if ((*p) == NULL) {        (*p) = (BNode*)malloc(sizeof(BNode));        (*p)->data = data;        (*p)->Left = NULL;        (*p)->Right = NULL;         return;    }     if ((*p)->data > data)     {        InsertBST(&((*p)->Left), data);     }    else if ((*p)->data  d.. 2024. 9. 16.
(12)실습7주차_AVL트리_FindMin(),DeleteAVL()_[문제3] #문제 PDF파일은 아래에 링크 :https://kojammin.tistory.com/107 (9)실습7주차_이진탐색트리_전위순회,삽입,삭제_이론+코드[문제1]#문제 PDF 파일 :[문제1] :#알아야 할 개념 (요약) :이진 트리 전위(중위 후위에서도 마찬가지) 순회 메소드 구현에서 if구현 실수 조심이진 탐색 트리의 삽입 메소드와 삭제 메소드는 이중포인터를kojammin.tistory.com #문제 풀기전 알아야 할 개념 :DeleteAVL() 논리 순서 :종료조건 : 빈자리 도달했을 시 => 삭제할 data가 트리에 존재X => 이떄는 종료하는 게 맞다(InsertAVL과 차이)탐색 : 재귀삭제할 대상노드를 찾았을 시 => 세가지 Case : 삭제 대상 | 0차 | 1차 | 2차Case 1 ) 삭제.. 2024. 9. 16.
(11)실습7주차_AVL트리_Rebalance메소드,삽입메소드[문제2]_2 #문제 PDF파일은 아래에 링크 :https://kojammin.tistory.com/107 (9)실습7주차_이진탐색트리_전위순회,삽입,삭제_이론+코드[문제1]#문제 PDF 파일 :[문제1] :#알아야 할 개념 (요약) :이진 트리 전위(중위 후위에서도 마찬가지) 순회 메소드 구현에서 if구현 실수 조심이진 탐색 트리의 삽입 메소드와 삭제 메소드는 이중포인터를kojammin.tistory.com#알아야 할 개념 :Rebalance메소드 :★InsertAVL메소드 :InsertAVL() 코드 논리 순서 (InsertBST()와 비교하기)InsertAVL() 의 중요한 부분빈자리 도달할때 : 메모리 할당, 함수 종료 (다시 루트노드로 재균형조정해야 하기 때문)탐색부분에  재귀InsertAVL + Rebala.. 2024. 9. 16.
(10)실습7주차_AVL트리_Bh의 정의,4가지회전,Bh계산,트리회전메소드[문제2]_1 [문제2]의 PDF는 해당 링크로 이동하면 됩니다.https://kojammin.tistory.com/64 (14)[Chapter6]AVL 트리_삽입 메소드##중요한 핵심 부분:삽입 메소드 구현 코드 분석 :main에서 AVL트리 조립하는 방법##복습해야 될 부분 : AVL삽입메소드와 Rebalance메소드를 void반환형으로 스스로 다시 작성해보기##전체 코드123456789101kojammin.tistory.com## 알아야 할 개념 (요약) :Bh의 정의 :LL,RR ,LR,RL회전 메소드해당 노드에 대하여, Bh값 계산 반환 메소드1_ Bh의 정의와 4가지 회전 메소드 원리, 코드 노트 정리 :2_ 해당 노드에 대한 Height(높이)계산 메소드 노트 이론 :3_ 해당 노드에 대하여 BH를 계산해.. 2024. 9. 15.