재귀 란 무엇입니까?
컴퓨터 과학에서 많은 문제는 분열 및 정복 전략이 필요합니다. 재귀 기술은이 전략을 사용합니다. 가장 간단한 형태로 재귀는 최종 제품을 결정할 때까지 문제를 작은 문제로 나누는 기능입니다. 컴퓨터 과학은 수학 및 논리의 플랫폼에서 설립되었습니다. 재귀는 수십 년 동안이 더 큰 프레임 워크의 일부였으며 오늘날 대부분의 컴퓨터 프로그래밍 언어에서 찾을 수 있습니다.
동적 프로그래밍은 재귀 구현으로 구성 요소에 문제가 발생합니다. 이 프로세스는 각 하위 문제가 이전 문제의 결과를 요구하는 큰 문제 내에서 문제의 중첩을 가능하게합니다. 이러한 유형의 기능적 재귀는 배열 조작 내에서 일반적입니다.
이 스타일의 프로그래밍은 관리 가능한 구성 요소에 문제를 단순화하기 때문에 유리합니다. 또한 모듈 식 소프트웨어 개발의 이점이 있습니다. 이 모듈 식 접근법은 재사용 가능한 구성 요소의 생성을 가능하게합니다컴퓨터 응용 프로그램 전체에서.
컴퓨터 응용 프로그램 내에서 보안 기능을 작성할 때 재귀가 잘 작동합니다. 애플리케이션의 각 화면에는 필드가 표시되어야하는지 결정하는 특정 비즈니스 규칙이 필요할 수 있습니다. 그런 다음 각 화면에 개별 보안 코드를 작성하면 데이터를 사용자에게 렌더링하고 필요한 가시성 제한을 적용하기 전에 모든 화면을 읽도록 재귀 함수를 만들 수 있습니다.
그래픽 디자인은 재귀 문제에 적합한 또 다른 영역입니다. 정사각형 안에 정사각형을 만들도록 설계된 프로그램을 상상해보십시오. 더 작은 사각형은 더 큰 사각형의 기능 요구 사항을 가질 것이며, 유일한 변화는 두 사각형의 치수입니다.
정렬 알고리즘은 항목 목록을 특정 순서로 정렬 해야하는 논리적 문제입니다. 이러한 유형의 문제 해결에는 일정한 셔플 링이 필요합니다최종 목록이 원하는대로 주문 될 때까지 새 목록에 목록의 목록. 이 문제를 해결하기위한 좋은 접근법은 최종 목록에 정렬 될 때까지 목록을 계속 뒤섞는 재귀 루프를 만드는 것입니다.
.소프트웨어 자동화의 힘은 재귀를 사용하는 것이 대부분의 시스템 소유자에게 사소한 것처럼 보입니다. 일반적으로 보안 기능 및 열 정렬에는 마우스의 간단한 클릭 또는 키보드 스트로크가 필요할 것으로 예상됩니다. 이 간단한 행동의 표지 아래에는 재귀의 복잡성과 우아함이 있습니다.