사전 주문 순회는 깊이 우선 검색과 동일합니까?


13

그것은 나에게 사전 주문 순회와 같고 DFS는 루트에서 왼쪽 분기까지 루트로 돌아간 다음 오른쪽 분기로 재귀 적으로 순회하는 경우와 같습니다. 내가 틀렸다면 저를 정정 해 주시겠습니까?

미리 감사드립니다!

답변:


10

사전 주문 순회는 순회이며, 이진 트리의 모든 노드를 방문합니다.

Depth First Search는 검색이며 특정 노드를 찾는 임의의 그래프를 둘러 쌉니다 (순환이 아닌 그래프 (일명 트리)와 관련이 없음)

이것만으로도 차이 이름이라고 부르기에 충분히 큰 차이입니다.


1
+1이지만 사전 및 사후 순회는 더 일반적인 DFS 전략의 특별한 경우라고 덧붙이고 싶습니다.
Frank

1
사전 주문 순회가 단순히 자식보다 먼저 노드를 처리하는 것을 의미하지 않습니까? 노드가 이진 트리 또는 트리를 형성한다고 어디에 말합니까?
Kilian Foth

@KilianFoth 나는 노드가있는 노드가 이웃 노드와 달리 노드의 계층 구조를 암시하기 때문에 트리 구조를 암시한다고 기대합니다. 계층의 맨 위는 트리의 루트입니다. 그러나 나는 모든 트리에서 이진이 아닌 트리에서도 사전 주문 통과 및 사후 주문 통과가 의미가 있다고 상상할 수 있습니다.
YoungJohn

1

예, 그러나 반대 방향이어야합니다 : DFS와 비슷합니다 PreOrder.
용어 PreOrder이진 트리 및 파서와 더 관련이 있습니다.
이진 트리의 다른 순회 순서와 비교하는 데 사용됩니다 : InOrder, PostOrderPreOrder.
위상 정렬은 주문 후 순회와 유사합니다 (모든 인접 노드를 방문한 후 노드를 스택으로 푸시).


내 생각은이 답변과 비슷합니다. 보다 구체적으로, 선주문은 DFS의 상위 카테고리의 특정 구현입니다. 사전 주문 아동 순회는 엄격하게 왼쪽에서 오른쪽으로 진행됩니다. 반면 일반 (부모) DFS의 경우 아동의 순회 순서는 정의되지 않으며 임의의 순서 일 수 있습니다.
Jerred S.

-1

Preorder에서 이진 트리를 탐색하려면 다음 작업이 수행됩니다.

  1. 뿌리를 방문
  2. 왼쪽 하위 트리를 탐색
  3. 오른쪽 하위 트리 탐색

즉, 아래 이미지에서 선주문 순서는 1,2,3,6,4,5,7,8,9,10,11,12입니다.

동일한 이미지에서 1,2,3,4,5,6,7,8,9,10,11,12는 DFS 용입니다.

DFS 출처 : http://datastructuresnotes.blogspot.in/2009/02/binary-tree-traversal-preorder-inorder.html

선주문 소스 : Wiki

DFS


9
이것은 이진 트리가 아닙니다. 이진 나무가 아닌 나무입니다.
Manoj R

"6"에 하위 노드가 있으면 어떻게됩니까?
Marjan Venema 2013

DFS 또는 사전 주문을 요청하고 있습니까?
Zedaiq

@ManojR 위에서 언급 한 소스에서 얻었습니다.
Zedaiq

이 그래프의 선주문은 동일한 답변을 제공합니다.
Charles Chow
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.