[Section 2] 자료구조(2)

현이·2023년 3월 17일
0

백엔드 부트캠프 TIL

목록 보기
18/37
post-thumbnail

사진은 내가 제일 좋아하는 화가 귀스타브 쿠르베, "오르낭의 매장" - 서민의 장례식을 이렇게 큰 그림에 그린다는 것 자체로 논란거리가 된 그림이다. 오르세 0층 중간 벽에 엄청 큰 쿠르베의 그림이 3면으로 전시되어있는데, 사랑하는 오르세 안에서도 더 좋아하는 공간이다!

오늘도 힘겨웠다... 어제처럼 엄청 안풀리는 문제가 있었던건 아닌데 트리, 그래프 이진탐색 트리 셋다 직접 구현하는건 늘 어려워했던 거라서.. 사실 몇번을 반복해도 개념조차 그냥 갈피가 안잡힌다고 느껴질때가 많다. 이제는 진짜진짜 마지막으로 개념 다잡는다고 생각하기!!!

트리(Tree)

  • 데이터가 바로 아래에 있는 하나 이상의 데이터에 무방향으로 연결된 계층적 자료 구조

  • 노드, 부모 노드, 자식 노드, 리프 노드

  • 주요 용어
    -깊이 : 루트부터 특정 노드까지의 깊이 (루트가 0)
    -레벨 : 같은 깊이 (루트 레벨은 1)
    -높이 : 리프 기준으로 높이 (리프 높이 0)
    -서브 트리 : 작은 트리
    -자식 노드 : 자식 노드가 없는 노드




그래프(Graph)

  • 정점(vertex), 간선(edge)

    일시 무향 : 양방향 (방향이 없음)
    일시 방향 : 방향이 있음

  • 주요 용어
    -인접 정점 : 간선으로 직접 연결되어 있는 정점
    -가중치 그래프 / 비가중치 그래프 : 연결 강도 유무
    -무향 그래프 / 방향 그래프 : 방향 유무
    -진입 차수 / 진출 차수
    -사이클 : 정점에서 출발해서 다시 정점으로 돌아올 수 있는 것




이진 탐색 트리(Binary Search Tree)

  • 자식 노드가 최대 두개인 트리

    정 이진 트리 : 모든 노드가 자식노드 0개 or 2개
    완전 이진 트리 : 정 이진 트리 && 포화 이진 트리
    포화 이진 트리 : 마지막 레벨 아닌 노드들은 다 가득 차있음 && 마지막 레벨은 왼쪽은 채워져있어야 함

0개의 댓글