무작위 화 알고리즘과 재귀 적 알고리즘의 차이

Anonim

무작위 화 알고리즘과 재귀 적 알고리즘의 실행 중 무작위 선택 무작위 화 알고리즘은 알고리즘을 실행하는 동안 무작위로 선택하여 논리에 무작위성을 부여합니다. 이 무작위성으로 인해 고정 된 입력에 대해서도 알고리즘의 동작이 변경 될 수 있습니다. 많은 문제에서 무작위 알고리즘은 가장 간단하고 효율적인 솔루션을 제공합니다. 재귀 알고리즘은 동일한 문제의 더 작은 하위 문제에 대한 해결책을 찾아 냄으로써 문제에 대한 해결책을 찾을 수 있다는 아이디어를 기반으로합니다. 재귀는 컴퓨터 과학의 문제에 대한 해결책을 찾는 데 널리 사용되며 많은 고급 프로그래밍 언어가 재귀를 지원합니다.

무작위 알고리즘이란 무엇입니까?

무작위 알고리즘은 알고리즘의 실행을 안내하는 무작위 선택을함으로써 임의성 감각을 통합합니다. 통상, 의사 난수 제네레이터에 의해 생성 된 난수 세트를 추가 입력으로서 받아 들여 실시합니다. 이로 인해 고정 된 입력에 대해서도 알고리즘의 동작이 변경 될 수 있습니다. Quicksort는 임의성의 개념을 사용하는 널리 알려진 알고리즘이며 입력 속성에 관계없이 실행 시간이 O (n log n)입니다. 또한 무작위 증분 건설 방법은 계산 기하학에서 볼록한 선체와 같은 건물 구조에 사용됩니다. 이 방법에서는 입력 점을 임의로 치환 한 다음 하나씩 구조에 삽입합니다. 무작위 알고리즘을 구현하는 것은 동일한 문제에 대한 결정 론적 알고리즘을 구현하는 것보다 상대적으로 간단합니다. 무작위 알고리즘을 설계 할 때 가장 큰 과제는 시간과 공간의 복잡성에 대한 점근 분석을하는 것입니다.

재귀 알고리즘이란 무엇입니까? 재귀 알고리즘은 같은 문제의 더 작은 하위 문제에 대한 해답을 발견함으로써 문제에 대한 해결책을 찾을 수 있다는 생각에 기반한다. 재귀 알고리즘에서, 함수는 그 자체의 초기 버전의 관점에서 정의됩니다. 이 자체 참조는 자체를 영원히 참조하지 않도록 종료 조건을 가져야합니다. 종료 조건은 자체를 참조하기 전에 확인됩니다. 재귀 알고리즘의 초기 단계는 문제의 재귀 적 정의의 기본 절과 관련이 있습니다. 초기 단계 다음에 오는 단계는 문제의 귀납적 조항과 관련이 있습니다. 재귀 알고리즘은 여러 상황에서보다 단순한 솔루션을 제공하며 동일한 문제에 대한 반복 알고리즘보다 자연스러운 사고 방식에 더 가깝습니다. 그러나 일반적으로 재귀 알고리즘은 더 많은 메모리를 필요로하며 계산 비용이 많이 든다.

무작위 추출 알고리즘과 재귀 알고리즘의 차이점은 무엇입니까?무작위 알고리즘은 알고리즘 실행에 영향을 미칠 수있는 무작위 선택을 통해 무작위성을 사용하는 알고리즘이며 재귀 알고리즘은 문제를 해결할 수있는 해결책을 찾음으로써 문제에 대한 해결책을 찾을 수 있다는 생각에 기반한 알고리즘입니다. 같은 문제의 작은 하위 문제. 무작위 알고리즘의 무작위성 때문에 알고리즘의 동작은 동일한 입력에 대해서도 (알고리즘의 다른 실행에서) 바뀔 수 있습니다. 그러나 이것은 재귀 알고리즘에서는 가능하지 않으며 재귀 알고리즘의 동작은 고정 된 입력에 대해 동일합니다.