목록트리 (3)
고코딩
순회는 이진 트리에 있는 모든 노드를 한번씩 방문하여 노드가 가지고 있는 데이터를 처리하는 것이다. 여기서 처리라 함은 노드 안의 데이터를 출력할 수도 있고, 데이터 값을 변환할수도 있다. 순회의 종류에는 총3가지가 있다. 전위순회 중위순회 후위순회 현재 노드를 방문하여 데이터를 읽는 작업을 D또는 V라고 한다. 현재 노드의 왼쪽 서브트리로 이동하는 작업을 L이라고 한다. 현재 노드의 오른쪽 서브트리로 이동하는 작업을 R이라고 한다. 전위 순회 전위 순회의 순서는 현재노드(V) -> 왼쪽 서브트리(L) -> 오른쪽 서브트리(R) 순으로 순회 한다. VLR 이라고도 부른다. 전위 순회로 트리를 순회하면 방문하는 노드의 순서이다. 중위 순회 중위 순회의 순서는 왼쪽 서브트리(L) -> 현재노드(V) -> 오..
앞서 포스팅한 스택과 큐는 자료구조에서 선형 구조라고 한다. 선형 구조는 데이터가 순차적으로 나열되어진 형태를 말하는데, 트리는 비선형구조로 이루어져있다. 비선형구조는 데이터가 계층적(혹은 망)으로 구성되어있다. 선형구조와 비선형구조의 차이점은 구성형태뿐만 아니라 용도에서도 차이점이 들어나느데, 선형구조는 자료를 저장하고 꺼내는 것에 초점이 맞춰져 있고, 비선형구조는 표현에 초점이 맞춰져 있다. 보통 컴퓨터의 폴더 구조가 대표적인 트리의 형태를 가지고 있다. 트리(Tree)의 개념 계층적인 자료를 표현하는데 적합한 자료구조 이다. 노드(node)와 간선(edge)"브랜치(Branch)라고도 불린다" 로 구성되어 있다. 제일 최상위에 위치한 노드를 루트노드(Root Node)라 부르고 나머지 노드들을 서브..
자료 구조는 현실세계에 존재하는 데이터를 효율적으로 저장할 수 있는 구조화 표현의 개념이라고 할 수 있다. 그럼 왜 자료 구조를 알아야 하는것일까? 컴퓨터에는 메모리,CPU, 스토리지가 존재하는데 데이터가 중구난방으로 존재하게 되면 CPU가 메모리나 스토리지에 저장되어있는 데이터를 찾는데 오랜시간이 소비되게 된다. 이 말은 즉, 프로그램의 속도를 저하시키게 된다. 데이터가 자료구조의 개념에 기반하여 저장되어있다면 CPU가 자료를 찾는데 드는 시간은 짧아지고 효율적이 사용이 될 것이다. 자료 구조의 분류는 단순구조, 선형구조, 비선형구조, 파일구조로 나뉘어져 있다. 단순 구조 프로그래밍시 변수도 크기가 커지면 여러공간에 변수를 나눠서 저장하게 된다. 변수의 데이터 타입에 따라 구조도 바뀌게 된다 선형 구조..