답변:
트리는 단지 제한된 형태의 그래프입니다.
나무는 방향 (부모 / 자식 관계)을 가지며주기를 포함하지 않습니다. 방향성 비순환 그래프 (또는 DAG) 범주에 적합합니다. 따라서 트리는 하위가 하나의 부모 만 가질 수있는 제한이있는 DAG입니다.
중요한 것은 Trees는 재귀 데이터 구조가 아닙니다. 위의 제한 때문에 재귀 데이터 구조로 구현할 수 없습니다. 그러나 일반적으로 재귀 적이 지 않은 DAG 구현도 사용할 수 있습니다. 내가 선호하는 트리 구현은 중앙 집중식 맵 표현이며 비재 귀적입니다.
그래프는 일반적으로 가장 먼저 넓게 또는 깊이로 먼저 검색됩니다. Tree도 마찬가지입니다.
설명하는 대신 그림으로 표시하는 것을 선호합니다.
실시간으로 나무
실제 사용 그래프
예,지도는 그래프 데이터 구조로 시각화 될 수 있습니다.
이런 모습을 보면 인생이 더 쉬워집니다. 트리는 각 노드에 부모가 하나만 있다는 것을 알고있는 장소에서 사용됩니다. 그러나 그래프에는 여러 개의 선행 작업이있을 수 있습니다 (일반적으로 부모라는 용어는 그래프에 사용되지 않음).
실제로는 그래프를 사용하여 거의 모든 것을 나타낼 수 있습니다. 예를 들어지도를 사용했습니다. 각 도시를 노드로 간주하면 여러 지점에서 도달 할 수 있습니다. 이 노드로 이어지는 포인트를 선행 작업이라고하며이 노드로 이어지는 포인트를 후속 작업이라고합니다.
전기 회로도, 주택 계획, 컴퓨터 네트워크 또는 하천 시스템은 그래프의 몇 가지 예입니다. 많은 실제 사례가 그래프로 간주 될 수 있습니다.
기술 다이어그램은 다음과 같습니다
나무 :
그래프 :
아래 링크를 참조하십시오. 그것들은 나무와 그래프에 관한 거의 모든 질문에 대답 할 것입니다.
참고 문헌 :
다른 답변은 유용하지만 각 속성이 누락되었습니다.
무향 그래프, 이미지 출처 : Wikipedia
직접 그래프, 이미지 소스 : Wikipedia
감독 또는 (그래프의 모든 모서리에 적용 할 것이다) 방향성이 될 수 있습니다
당으로 위키 백과 :
예를 들어, 정점이 파티에서 사람을 나타내고 두 사람이 악수하면 경계가있는 경우 B가 A와 악수하는 경우에만 A가 사람 B와 악수 할 수 있기 때문에이 그래프는 방향이 지정되지 않습니다. 대조적으로, 사람 A로부터 사람 B 로의 에지가 감탄 B에 대응하면, 감탄이 반드시 왕복 운동 할 필요는 없기 때문에이 그래프가 지시된다.
위의 속성에 약간의 겹침이 있습니다. 특히 마지막 두 속성은 나머지 속성에 의해 암시됩니다. 그럼에도 불구하고 그들 모두는 주목할 가치가 있습니다.
트리에서 각 노드 (루트 노드 제외)에는 정확히 하나의 선행 노드와 하나 또는 두 개의 후속 노드가 있습니다. 주문, 사전 주문, 주문 후 및 너비 우선 순회를 사용하여 순회 할 수 있습니다. 트리는주기가없는 DAG (Directed Acyclic Graph)라고하는 특수한 종류의 그래프입니다. 트리는 계층 적 모델입니다.
그래프에서 각 노드에는 하나 이상의 선행 노드 및 후속 노드가 있습니다. 그래프는 DFS (Depth First Search) 및 BFS (Breadth First Search) 알고리즘을 사용하여 순회합니다. 그래프는주기를 가지므로 트리보다 복잡합니다. 그래프는 네트워크 모델입니다. 유향 그래프와 무향 그래프의 두 종류의 그래프가 있습니다.
나무는 분명합니다. 자식이있는 노드로 구성된 재귀 데이터 구조입니다.
맵 (일명 사전)은 키 / 값 쌍입니다. 지도에 키를 제공하면 연관된 값이 반환됩니다.
트리를 사용하여지도를 구현할 수 있습니다. 혼란스럽지 않기를 바랍니다.
업데이트 : "지도"에 대한 "그래프"를 혼동하는 것은 매우 혼란 스럽습니다.
그래프는 나무보다 복잡합니다. 나무는 재귀적인 부모 / 자식 관계를 암시합니다. 나무를 가로 지르는 자연적인 방법이 있습니다 : 깊이 우선, 너비 우선, 레벨 순서 등
그래프는 노드 사이에 단방향 또는 양방향 경로를 가질 수 있고 주기적 또는 비 주기적 일 수 있습니다. 그래프가 더 복잡하다고 생각합니다.
적절한 데이터 구조 텍스트 (예 : "알고리즘 디자인 매뉴얼")에서 커서 검색을 수행하면 여러 SO 답변보다 더 많은 정보를 얻을 수 있다고 생각합니다. 수동적 인 경로를 취하지 말고 스스로 조사해 보는 것이 좋습니다.
트리는 특별한 형태의 그래프, 즉 최소 연결 그래프이며 두 정점 사이에 하나의 경로 만 있습니다.
그래프 에는 둘 이상의 경로가있을 수 있습니다. 즉, 그래프는 노드간에 단방향 또는 양방향 경로 (에지)를 가질 수 있습니다.
또한 자세한 내용을 볼 수 있습니다 : http://freefeast.info/difference-between/difference-between-trees-and-graphs-trees-vs-graphs/
수학에서 그래프는 객체 쌍이 링크로 연결된 일련의 객체를 나타냅니다. 상호 연결된 객체는 꼭짓점이라고하는 수학적인 추상화로 표현되며, 한 쌍의 꼭짓점을 연결하는 링크를 가장자리라고합니다. [1] 일반적으로 그래프는 정점에 대한 점 세트로 다이어그램 형식으로 표시되며 모서리에 대한 선 또는 곡선으로 연결됩니다. 그래프는 이산 수학 연구의 대상 중 하나입니다.
나무는 다음과 같은 Digraph입니다.
a) 가장자리 방향이 제거되면 연결되고 비 주기적입니다.
- 당신은 그것이 비 주기적이라는 가정을 제거 할 수 있습니다
- 유한 한 경우 연결되어 있다는 가정을 제거 할 수도 있습니다.
b) 하나의 뿌리를 제외한 모든 정점이 1
c) 뿌리는 0도이다
- 노드가 극소수 인 경우 루트가 0이라고 가정하거나 루트 이외의 노드가 1 도라는 가정을 제거 할 수 있습니다.
참조 : http://www.cs.cornell.edu/courses/cs2800/2016sp/lectures/lec27-29-graphtheory.pdf