[범철/week5] 트리의 구현과 순회

트리의 구현과 순회

  • 트리

    • 계층적 관계를 표현하는 자료구조, 특정한 조건을 지키도록 구성한 트리를 이용하면 배열이나 리스트를 사용하는 것 보다 같은 작업도 더 빠르게 할 수 있다.
  • 트리순회순서

    • Root를 언제 방문할것인지가 다르다. 방향은 항상 Left를 Right보다 먼저 방문한다.
    • 전위순회 : ROOT -> LEFT -> RIGHT
    • 중위순회: LEFT -> ROOT -> RIGHT: -> 노드가 작은값부터 정렬되어있는 경우 , 작은숫자부터 차례로 출력이가능하다
    • 후위순회: LEFT -> RIGHT -> ROOT
  • 트리의 구성요소
    • 자료가 저장된 노드들이 간선으로 서로 연결되어 있는 자료구조
    • 연결된 두 노드 중 상위노드를 부모노드,하위 노드를 자식노드
    • 부모 노드가 같은 노드는 형제 노드
    • 트리에서 한 노드는 여러 개의 자식을 가질 수 있어도 부모는 하나만 가질 수 있다
  • 트리의 재귀적 속성
    • 트리에서 한 노드와 그의 자손들을 모두 모으면 그들도 하나의 트리가 구현이된다.
    • 재귀적속성으로 인해 트리를 다루는 코드들을 보통 재귀호출을 이용해 구현한다.

이진탐색트리 (Binary Search Tree)

  • ​ 이진탐색트리란 ?
    • 이진탐색과 연결리스트(linked list)를 결합한 자료구조의 일종이다.
    • 이진탐색의 탐색능력을 유지하면서 자료의 입력과 삭제를 가능하게끔 만들었다
    • 이진탐색트리를 순회할 때는 중위순회방식을 사용한다.(왼쪽서브트리 - 노드 -오른쪽서브트리 순서)source: imgur.com
  • 이진탐색트리의 핵심연산
    • 이진탐색트리의 핵심연산은 검색 , 삽입 ,삭제 세가지가있다.
    • 이진탐색트리의 생성, 삭제, 해당 이진탐색트리가 비어있는지 확인,트리순회등의 연산이있다.

우선순위 큐와 힙

  • 우선순위큐란
    • 들어간 순서에 상관없이 우선순위가 높은 데이터가 먼저 나오게된다.
    • 우선순위는 사용자가 결정해준다.
    • 우선순위는 사용자가 결정해주며 숫자가 될 수도 문자가 될 수도있고,높은숫자가 우선운위가높을수도 낮은숫자가 우선순위가 낮을수도 있는것이다. 또한, 우선순위가 같은 데이터도 존재할 수 있다.
  • 우선순위 큐를 구현방법
    • 배열을 기반으로 구현하는방법
    • 연결리스트를 기반으로 구현하는 방법
    • 힙을 이용하는 방법
  • 힙이란?

    • 힙은 이진트리이되 완전 이진트리이다.
    • 루트노드로 올라갈수록 저장된 값이 커지는 완전트리를 최대 힙이라하고 , 루트노드로 올라갈수록 저장된 값이 작아지는 완전트리를 최소 힙이라 한다.

2019

[세호/week6] 그래프의 개념과 정의, 탐색 방법

1 분 소요

그래프 그래프는 유한하고, 하나 이상의 원소를 갖는 Vertex 집합과 Vertex의 부분집합의 순서있는 쌍으로 이루어진 Edge의 집합으로 이루어진다. Edge는 Vertex의 쌍 (v1, v2)와 같이 나타내고, 방향그래프에서 순서는 유의미하다 헷갈리는 그래프 관련 ...

[지연/week4] 선형 자료구조 - 큐, 스택, 데크

최대 1 분 소요

자료구조란? 자료구조(data structure)는 전산학에서 자료를 효율적으로 이용할 수 있도록 컴퓨터에 저장하는 방법이다. 신중히 선택한 자료구조는 보다 효율적인 알고리즘을 사용할 수 있게 한다.

[세호/week2] 분할정복과 퀵정렬, 병합정렬

1 분 소요

분할 정복이란 문제를 둘 이상의 부분으로 나누어, 부분 문제에 대한 답을 재귀 호출을 이용해 계산하는 알고리즘 디자인. 분할 정복을 적용하기 위해서는 .. 문제를 둘 이상의 부분 문제로 나누는 자연스러운 방법이 있어야하고 부분 분제의 답을 조...

Algorithm Study day 1

최대 1 분 소요

Algorithm Study Week1 일자 : 2019년 10월 7일 월요일 Member : 이세호, 김범철, 이지연, 이지혜 “프로그래밍 대회에서 배우는 알고리즘 문제 해결 전략” 2, 3, 4장 키워드 : 시간복잡도와 Big-O 표기 Algospot 튜토리...

Week1 Keyword

최대 1 분 소요

Algorithm Study Week1 일자 : 2019년 10월 7일 월요일 Member : 이세호, 김범철, 이지연, 이지혜 “프로그래밍 대회에서 배우는 알고리즘 문제 해결 전략” 2, 3, 4장 키워드 : 시간복잡도와 Big-O 표기 Algospot 튜토리...

맨 위로 이동 ↑