yoongrammer

목차 트리 순회 (Tree Traversal)트리의 모든 노드들을 방문하는 과정을 트리 순회(TreeTraversal)라고 합니다.선형 자료 구조(연결 리스트, 스택, 큐 등)는 순차적으로 요소에 접근하지만 트리 자료구조는 다른 방식을 사용해야 합니다. 일반적으로 트리 순회에는 다음과 같은 방법들이 있습니다.전위 순회 (Preorder)중위 순회 (Inorder)후위 순회 (Postorder)이러한 순회는 보통 재귀로 쉽게 구현할 수 있습니다.전위 순회 (Preorder Traversal)전위 순회는 깊이 우선 순회(DFT, Depth-First Traversal)이라고도 합니다. 트리를 복사하거나, 전위 표기법을 구하는데 주로 사용됩니다.트리를 복사할때 전위 순회를 사용하는 이유는 트리를 생성할 때 자..

목차[자료구조] 이진트리 (Binary tree) 알아보기이진트리(Binary tree)란 모든 노드들이 둘 이하의 자식을 가진 트리입니다.이진트리 유형전 이진트리 (Full Binary Tree or Strict Binary Tree)전 이진 트리는 모든 노드가 0개 또는 2개의 자식 노드를 갖는 트리입니다.완전 이진 트리 (Complete Binary Tree)완전 이진 트리는 마지막 레벨을 제외하고 모든 레벨이 완전히 채워져 있는 트리입니다.마지막 레벨은 꽉 차 있지 않아도 되지만 노드가 왼쪽에서 오른쪽으로 채워져야 합니다.포화 이진 트리 (Perfect Binary Tree)포화 이진 트리는 모든 내부 노드가 두 개의 자식 노드를 가지며 모든 잎 노드가 동일한 깊이 또는 레벨을 갖습니다.균형 이진..

목차트리 (Tree)트리 (Tree)란 노드들이 나무 가지처럼 연결된 비선형 계층적 자료구조입니다. 트리는 다음과 같이 나무를 거꾸로 뒤집어 놓은 모양과 유사합니다.트리는 또한 트리 내에 다른 하위 트리가 있고 그 하위 트리 안에는 또 다른 하위 트리가 있는 재귀적 자료구조이기도 합니다. 컴퓨터의 direcory구조가 트리 구조의 대표적인 예가 될 수 있습니다.트리 구조에서 사용되는 기본 용어노드 (Node)트리를 구성하고 있는 기본 요소노드에는 키 또는 값과 하위 노드에 대한 포인터를 가지고 있음.A, B, C, D, E, F, G, H, I, J간선 (Edge)노드와 노드 간의 연결선루트 노드 (Root Node)트리 구조에서 부모가 없는 최상위 노드root node : A부모 노드 (Parent N..

목차교착상태(Dead Lock) 해결 방법일반적으로 교착 상태를 해결하는 방법에는 세 가지가 있습니다.교착 상태 예방(Prevention) 또는 회피(Avoidance)교착 상태가 되지 않도록 합니다.교착 상태 탐지(Detection) 및 복구(Recovery)교착 상태가 탐지되면 시스템에 문제가 발생하지 않도록 조치를 취합니다.교착상태 무시(Ignore)교착 상태가 정말 드물게 발생하는 경우(1년에 한번) 교착 상태 예방 또는 탐지와 관련된 지속된 오버헤드 및 성능 저하를 발생 시키는 것보다 교착 상태가 발생하도록 하고 필요에 따라 재부팅하는 것이 더 나을 수 있습니다. (Unix 및 window를 포함한 대부분의 운영체제가 사용하는 방법) 교착 상태 예방 (Deadlock Prevention)교착 상..

목차교착상태(Dead Lock) 알아보기교착상태(Dead Lock)은 상호 배제에 의해 나타나는 문제점으로, 둘 이상의 프로세스들이 자원을 점유한 상태에서 서로 다른 프로세스가 점유하고 있는 자원을 요구하며 무한 대기하는 현상을 의미합니다.교착상태 조건교창상태가 일어나려면 다음과 같은 네 가지 조건을 모두 충족시켜야 합니다.상호 배제 (Mutual exclusion)자원은 한 번에 한 프로세스만이 사용할 수 있어야 한다.점유 대기 (Hold and wait)최소한 하나의 자원을 점유하고 있으면서 다른 프로세스에 할당되어 사용하고 있는 자원을 추가로 점유하기 위해 대기하는 프로세스가 있어야 한다.비선점 (No preemption)다른 프로세스에 할당된 자원은 사용이 끝날 때까지 강제로 빼앗을 수 없어야 한..