ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 트리
    컴퓨터 공부/자료구조 2020. 4. 3. 17:37

    - 계층 구조 (부모 & 자식 관계)

    트리 구조

    - n개의 노드를 갖는 이진 트리의 높이

    최대 n

    최소log_2⁡(n+1)

     

    - 완전 이진 트리(complete b-tree)

    레벨 1부터 k-1까지는 노드가 모두 채워져 있고 마지막 레벨 k에서는 왼쪽부터 오른쪽으로 노드가 순서대로 채워져 있는 이진트리

     

    - 이진 트리 구현 

    --> 배열 : 노드에 번호를 붙여서 그 번호를 배열의 인덱스로 삼아 노드의 데이터를 배열에 저장하는 방법

    노드 i의 부모 노드 인텍스 = i/2

    노드 i의 왼쪽 자식 노드 인텍스 = 2i

    노드 i의 오른쪽 자식 노드 인텍스 = 2i+1

    --> 링크 :

    연결 리스트처럼 포인터를 이용하여 부모 노드가 자식 노드를 가리키게 하는 방법

    더보기

    typedef struct TreeNode { ////구조체

      int data;

      struct TreeNode *left, *right;

    } TreeNode;

    int  main()

    {

      TreeNode *n1, *n2, *n3;

     

      n1= (TreeNode *)malloc(sizeof(TreeNode));

      n2= (TreeNode *)malloc(sizeof(TreeNode));

      n3= (TreeNode *)malloc(sizeof(TreeNode));

     

     n1->data = 10;     // 첫번째 노드를 설정한다.

      n1->left = n2;

      n1->right = n3;

     

      n2->data = 20;     // 두번째 노드를 설정한다.

      n2->right = NULL;

     

      n3->data = 30;     // 세번째 노드를 설정한다.

      n3->right = NULL;

    }

    '컴퓨터 공부 > 자료구조' 카테고리의 다른 글

    이진 힙, 이진 탐색 트리  (0) 2020.04.04
    트리 순회  (0) 2020.04.04
    연결리스트  (0) 2020.03.28
    정렬 - 퀵, 힙, 기수  (0) 2020.03.25
    정렬 - 삽입, 선택, 버블, 쉘, 합병  (0) 2020.03.25
Designed by Tistory.