«recursion» 태그된 질문

재귀에 대한 질문은 그 자체에서 메서드 또는 함수를 호출하는 연습입니다.

3
중첩 된 함수 호출이 너무 많습니까?
StackOverflowException에 대해 MSDN 에서 인용했습니다 . 중첩 된 메소드 호출이 너무 많아 실행 스택이 오버 플로우 될 때 발생하는 예외입니다. Too many여기는 꽤 모호합니다. 너무 많은 시간이 너무 많은 시간을 어떻게 알 수 있습니까? 수천 개의 함수 호출? 수백만? 나는 그것이 어떤 방식으로 컴퓨터의 메모리 양과 관련이 있어야한다고 가정하지만 대략 …

6
이중 재귀 함수의 런타임을 어떻게 결정합니까?
임의로 이중 재귀 함수가 주어지면 런타임을 어떻게 계산합니까? 예 (의사 코드) : int a(int x){ if (x < = 0) return 1010; else return b(x-1) + a(x-1); } int b(int y){ if (y <= -5) return -2; else return b(a(y-1)); } 아니면 그 라인을 따라 뭔가. 이와 같은 것을 결정하기 …

4
TCO가 없을 때 스택을 날릴 염려가 언제 있습니까?
JVM을 대상으로하는 새로운 프로그래밍 언어에 대한 토론이있을 때마다 필연적으로 다음과 같은 사람들이 있습니다. "JVM은 테일 콜 최적화를 지원하지 않으므로 많은 폭발 스택을 예측합니다." 그 주제에는 수천 가지 변형이 있습니다. 이제 Clojure와 같은 일부 언어에는 사용할 수 있는 특별한 재귀 구문이 있음을 알고 있습니다. 내가 이해하지 못하는 것은 테일 콜 최적화가 …

2
재귀 함수 호출의 return 문 이유
난 그냥 내 마음에 의심했다. 다음과 같은 서브 루틴 (예를 들어 목록에서 요소를 검색)에는 끝에 return 문이 있습니다. list *search_list(list *l, item_type x) { if (l == NULL) return(NULL); if (l->item == x) return(l); else return( search_list(l->next, x) ); } 끝에 return 문의 중요성을 얻을 수 없습니다 (예 : return …

9
재귀에 대한 이해를 향상시키기위한 자료? [닫은]
현재로서는이 질문이 Q & A 형식에 적합하지 않습니다. 답변, 사실, 참고 자료 또는 전문 지식을 통해 답변이 뒷받침 될 것으로 예상되지만이 질문은 토론, 논쟁, 여론 조사 또는 광범위한 토론을 요구할 것입니다. 이 질문을 개선하고 다시 열 수 있다고 생각 되면 도움말 센터 를 방문하여 안내를 받으십시오 . 휴일 육년 전 …

2
누군가 Haskell의 메모에 대한 개념을 설명 할 수 있습니까?
(코딩 문제가 아닌 개념적 역학에 관한 것이기 때문에 여기서 질문하고 있습니다) 나는 작은 규모의 피보나치 수를 사용하는 작은 프로그램을 연구하고 있었지만 특정 수를 초과하면 고통스럽게 느려졌으며 약간의 인터넷 검색이 Haskell의 기술을 우연히 발견했습니다 Memoization. 그들은 다음과 같이 작동하는 코드를 보여주었습니다. -- Traditional implementation of fibonacci, hangs after about 30 slow_fib …

7
재귀 함수가 반복 / 루프를 가질 수 있습니까?
나는 재귀 함수에 대해 연구 해 왔으며 분명히 함수를 호출하고 반복 / 루프를 사용하지 않는 함수입니다 (그렇지 않으면 재귀 함수가 아닙니다). 그러나 예제를 위해 웹을 서핑하는 동안 (여덟 여왕 재귀 문제)이 기능을 발견했습니다. private boolean placeQueen(int rows, int queens, int n) { boolean result = false; if (row < n) …
12 java  recursion 

2
C ++에서의 역 추적 이해
C ++의 기본 사항을 잘 이해하고 재귀가 어떻게 작동하는지 이해합니다. 나는 고전적인 여덟 여왕 문제 와 같은 특정 문제를 발견 하고 역 추적 스도쿠를 해결했습니다. 나는 이것에 관해서는 상당히 길을 잃었다는 것을 알고 있습니다. 재귀 스택으로 돌아가서 문제를 해결하기 위해 다시 시작한다는 개념에 대해 생각을 할 수없는 것 같습니다. 펜과 …
12 c++  recursion 

7
재귀 —“분할 및 정복”또는“코드 재사용”
우리 모두가 알고 있듯이 재귀 는 그러한 문제 중 하나입니다. 머릿속을 감싸는 것은 프로그래밍 항해에서 "마일스톤"을 달성하는 것처럼 느껴집니다. 그러나 실제 문제에서 실제로 사용하는 경우 재귀의 메커니즘을 알면 충분하지 않습니다. 재귀가 가장 적합한 솔루션 인 문제의 본질도 이해해야합니다. 내 질문은 이것입니다 ... 재귀의 해결을 요구하는 "문제 패턴"은 무엇인가 재귀는 "분할 …
11 recursion 

3
반복 버전이 더 오래 걸리는 이유는 무엇입니까?
나는 http://programming.lispdream.com/blog/2011/06/recursion-vs-iteration/ 을 살펴 보았고 그의 계승 함수의 재귀적이고 반복적 인 구현의 구현에서 반복이 실제로 더 오래 걸리는 것을 보았습니다. 주어진 n = 1,000. 나는 이유를 알 수 없다 (그는 설명하지는 않지만 독자를위한 운동이라고 말합니다). 이 모든 것에 대해 새로움을 드려 죄송합니다.

4
재귀를 사용하여 문제를 해결할 수 있는지 여부를 결정하기 위해 고려해야 할 사항은 무엇입니까?
때로는 인터뷰에서 재귀를 사용하여 문제를 해결하기 위해 (예 : 1무한 정밀도 정수 추가 ) 또는 문제 자체가 재귀를 사용하기에 적합한 것으로 나타날 때. 때로는 문제 해결을 위해 재귀를 많이 사용하기 때문일 수 있으므로 많은 생각없이 재귀를 사용하여 문제를 해결합니다. 그러나 재귀를 사용하여 문제를 해결하는 것이 적합한 지 결정하기 전에 고려해야 …

3
대칭에서 고유 한 nxnxn 입방 격자의 모든 m 점 세트를 생성하는 알고리즘
상당히 계산적으로 복잡한 알고리즘을 구현 중이며 불필요한 작업을 수행하지 않도록 노력하고 싶습니다. nxnxn 입방 격자가 있습니다. 예를 들어 n = 2 인 경우 (0,0,0), (0,1,0), (1,0,0), (1,1,0), (0, 1,1), (0,0,1), (1,0,1), (1,1,1). 이 격자에서 나는 다음과 같은 모든 m 포인트 세트를 재귀 적으로 생성 할 것입니다. solve(set_of_points) { if set_of_points.size …

5
모든 재귀 함수를 반복으로 코딩 할 수 있습니까? [닫은]
휴무 . 이 질문은 더 집중되어야 합니다. 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? 이 게시물 을 편집 하여 한 가지 문제에만 집중할 수 있도록 질문을 업데이트하십시오 . 휴일 육년 전 . 재귀의 장점은 무엇입니까? 일부 프로그래밍 언어는 테일 재귀를 최적화 할 수 있지만 여전히 일반적인 용어로 재귀는 일반 루프보다 …
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.