본문 바로가기
반응형

알고리즘/트리5

백준 1068번 : 트리 java 이 문제는 트리를 이용하는 문제로 트리를 만들고 노드를 추가, 삭제한 다음 리프 노드의 개수를 세는 문제입니다. 이 문제를 풀 때 조심해야하는 점은 0번이 아닌 다른 노드가 루트 노드가 될 수 있고 이진트리라는 말이 없기 때문에 자식 노드가 3개 이상일 수 있다는 것입니다. 이러한 점 때문에 이 문제에서 쓸 트리를 배열에 저장하는 방식을 통해서 만들었습니다. parent 배열은 만들어 자신의 부모 노드를 저장할 배열을 만든 후 노드가 제거되면 그 자식 노드까지 제거되도록 dfs를 이용하였습니다. 코드를 바로 보여드리겠습니다. import java.io.*; import java.util.*; public class Main { static int N; static int[] parent; static b.. 2022. 6. 26.
백준 1647번 : 도시 분할 계획 java 이 문제는 최소 비용 신장 트리를 구성하는 문제입니다. 저는 프림 알고리즘을 이용하여 이 문제를 해결하였고 이 알고리즘에 대한 설명은 아래의 문제에 있습니다. 백준 1922번 : 네트워크 연결 java 이 문제는 최소 비용 신장 트리를 만드는 방법입니다. 최소 비용 신장 트리를 만드는 방법에는 프림 알고리즘과 크루스칼 알고리즘이 있습니다. 저는 이 문제를 풀 때 프림 알고리즘을 선택해서 dy-coding.tistory.com 저는 프림 알고리즘을 이용하여 최소 비용 신장 트리를 만든 다음 간선 중에서 가장 큰 가중치를 가진 간선을 제거하여 마을을 2개로 나누었습니다. 바로 코드를 보여드리겠습니다. import java.io.*; import java.util.*; public class Main { pu.. 2022. 6. 19.
백준 1922번 : 네트워크 연결 java 이 문제는 최소 비용 신장 트리를 만드는 방법입니다. 최소 비용 신장 트리를 만드는 방법에는 프림 알고리즘과 크루스칼 알고리즘이 있습니다. 저는 이 문제를 풀 때 프림 알고리즘을 선택해서 풀었습니다. 크루스칼 알고리즘을 이용하여 최소 비용 신장 트리를 만드는 방법은 아래의 링크에 있습니다. 백준 1197번 : 최소 스패닝 트리 java 이 문제는 최소 비용 신장 트리를 만드는 문제입니다. 최소 비용 신장 트리를 만들기 위한 알고리즘에는 크루스칼 알고리즘과 프림 알고리즘이 있습니다. 크루스칼 알고리즘은 간단히 말해서 dy-coding.tistory.com 프림 알고리즘이란 임의의 정점을 기준으로 그 정점의 경로와 연결된 다른 정점들의 경로 중에서 가장 가중치가 적은 경로를 선택하며 최소 비용 신장 트리를 .. 2022. 6. 18.
백준 5639번 : 이진 검색 트리 java 이 문제는 값을 입력을 받아 이진트리를 만드는 문제입니다. 전위 순회, 후위 순회에 대한 자료는 아래의 글에서 확인하실 수 있습니다. https://dy-coding.tistory.com/entry/%EB%B0%B1%EC%A4%80-1991%EB%B2%88-%ED%8A%B8%EB%A6%AC-%EC%88%9C%ED%9A%8C-java 백준 1991번 : 트리 순회 java 이 문제는 트리를 만들어서 노드를 삽입 후 전위 순회, 중위 순회, 후위 순회한 결과를 출력하는 문제입니다. 전위 순회와 중위 순회, 후위 순회에 대한 설명은 네이버 백과사전에 자세히 나와있 dy-coding.tistory.com 바로 소스 코드를 확인하도록 하겠습니다. import java.io.*; public class Main{ .. 2022. 5. 30.
백준 1991번 : 트리 순회 java 이 문제는 트리를 만들어서 노드를 삽입 후 전위 순회, 중위 순회, 후위 순회한 결과를 출력하는 문제입니다. 전위 순회와 중위 순회, 후위 순회에 대한 설명은 네이버 백과사전에 자세히 나와있습니다. 링크를 아래에 두도록 하겠습니다. https://terms.naver.com/entry.naver?docId=2270429&cid=51173&categoryId=51173 이진 트리 이진 트리(binary tree)는 모든 노드들의 자식 노드가 두 개 이하인 트리를 의미하는데, [그림 7-42]가 이진 트리의 예다. 이런 이진 트리에서는 서브 트리가 두 개 이하기 때문에 서브 트리는 왼쪽 서 terms.naver.com 이제 코드를 보여드리겠습니다. import java.io.*; public class Ma.. 2022. 5. 30.
반응형