1. 재귀로 구현 2. 반복으로 구현
참고
한 지점에서 다른 특정 지점까지의 최단 경로를 구해야 하는 경우그리디 알고리즘매번 '가장 비용이 적은 노드'를 선택해서 임의의 과정을 반복하기 때문음의 간선이 없을 때 정상적으로 동작한다.음의 간선: 0보다 작은 값을 가지는 간선 (현실 세계에서는 표현될 수 없다.)알
참고구간트리는 특정 구간에서 특정한 값을 뽑아올때 유용하게 사용int arr\[] = {7, 4, 5, 1, 9, 5, 2, 11, 10};구간트리를 배우지 않았다면 for루프를 통해서 가장 작은 값이나 가장 큰 값을 구할겁니다.시간 복잡도는 O(n)입니다. 하지만 구
참고
참고
참고
참고유클리드 호제법은 2개의 자연수 또는 정식의 최대공약수를 구하는 알고리즘의 하나이다.호제법이란 말은 두 수가 서로 상대방 수를 나누어서 결국 원하는 수를 얻는 알고리즘을 나타낸다.2개의 자연수(또는 정식) a, b에 대해서 a를 b로 나눈 나머지를 r이라 하면(단,
참고
참고벨만-포드(Bellman-Ford) 알고리즘한 노드에서 다른 노드까지의 최단거리를 구하는 알고리즘벨만포드는 가중치가 음수 일 때도 사용이 가능합니다. 하지만 다익스트라 알고리즘에 비해 느리므로 가중치가 모두 양수일 경우에는 굳이 벨만포드 알고리즘을 사용할 필요가 없
참고
참고하나의 컴포넌트로 이루어진 무방향 그래프에서 한 정점을 제거했을 때 그래프가 두개 이상의 컴포넌트로 나누어지는 정점무방향 그래프여기서 빨간색 테두리로 이루어진 정점들중 하나를 지울 경우 컴포넌트가 2개로 나누어지게 됩니다.이러한 성질을 가지는 정점들을 단절점이라고
참고, 참고2DFS 스패닝 트리는 그래프에서 DFS를 어느 정점 u에 대해 실행하였을 때, u를 루트로 하는 트리정점 u에서 시작하여 자기 자신으로 돌아오는 경로가 있는 것을 Cyclic이라 하며, 그 경로를 Cycle이라 한다. Cycle이 존재할 경우 그 그래프는
참고filter 메소드를 활용해 유니크한 값을 뽑아낼 수 있다.배열로 결과값을 리턴하기 때문에 문자열을 원하면 toString()을 뒤에 붙여주면 되고, 넘버타입을 원하면 Number()로 감싸주면 된다.원본을 보존하면서 잘라내는 방법원본을 훼손하며 잘라내는 방법
1. 반복문 이용 2. zip 이용
1. 수학 2. 다이나믹 프로그래밍 3. 그래프 이론 4. 문자열 5. 그리디 알고리즘 6. 그래프 탐색 7. 정렬 8. 세그먼트 트리 9. 트리 10. 이분 탐색 11. 깊이 우선 탐색 12. 조합론 13. 누적 합 14. 비트마스킹 15. 분
https://blog.naver.com/PostView.naver?blogId=hermet&logNo=57456541&redirect=Dlog&widgetTypeCall=true&directAccess=false