안녕하세요 좋은 사람들이 stackoverflow! 나는 이해할 수없는 이상한 문제가있다. private static void resi(int [][] matrica,int row, int col) {
if (matrica[row][col] != 0) {
next(matrica,row, col); // <--- this the line
"주어진 애플리케이션에 적합한 알고리즘을 설계하는 것은 어려운 작업입니다. 중요한 창조 작업이 필요하며 문제를 해결하고 솔루션을 에테르에서 꺼내야합니다. 다른 사람의 아이디어를 수정하고 그것을 수정하거나 조금 더 나아지게 조정할 수 있습니다. 알고리즘 디자인에서 선택할 수있는 공간은 엄청 나서 충분히 자유롭게 자신을 걸 수 있습니다. " 나는 등 를 역 추
백 트랙킹 알고리즘을 사용하여 N-Queen 문제를 해결했으며 C#에서 고유하고 구별되는 솔루션을 모두 생성 할 수 있습니다. 모든 행에서 유효한 위치를 찾아서 재귀 수준을 제한했지만 알고리즘은 N> 15에서 절망적으로 느려질 것입니다. 그 이유는 모든 새로운 솔루션에 대해 8 가지 대칭 대응을 생성하고이를 발견 된 솔루션. 이들 중 어느 것도 이미 포함되
정규식을 작성하는 동안 입력 크기가 증가하는 동안 상당히 성능 인이라는 프로파일을 발견했습니다. a+b
나는 간단한 벤치 마크를 프로파일했습니다 : Regex regex = new Regex("a+b", RegexOptions.Compiled);
const int maxInputSize = 100;
const int n = 1000;
strin
문자열 치환을위한 프로그램을 작성하는 임무를 부여 받았습니다. 논리를 이해하지만이 프로그램의 Backtrack의 정확한 의미는 아닙니다. swap이 호출 될 때, permutate()이 호출 될 때 for-loop 기능과 백 트랙의 정확한 의미를 설명하십시오. # include <stdio.h>
void swap (char *x, char *y)
우리가 출력 매개 변수가 void foo(set<int> *x)
여기서 X는 실제로 예상되는 매개 변수가 정말 나쁜 일을 것을 알고,이 리눅스 시스템 호출에서 매우 일반적이다. 그러나 C++의 경우 이는 좋은 코딩 방법이 아닙니다. 나는 문자열 목록을 역 추적하고 각 목록에서 가능한 모든 문자열 조합을 반환해야하는 시나리오가 있습니다. a b
d e
나는 방법은 25c5 조합을 찾는 재귀 적 방법 for(int i=0;i<25;++i)
for(int j=i+1;j<25;++j)
for(int k=j+1;k<25;++k)
for(int l=k+1;l<25;++l)
for(int m=l+1;m<25;++m)
{//}
이 코드를 변환하려합니다. 순환 식으
나는 백 트랙킹을 사용하여 N 개의 여왕 문제를 해결하려고 노력했습니다. 내가 인터넷에서 발견 한 접근법의 대부분은 벡터를 포함하고있어서 인터넷의 일부 애플릿처럼 솔루션을 시각화하기가 어렵습니다. 필자가 생각해 낸 해결책은 사용 된 동적 2D 배열의 인덱싱과 관련하여 많은 문제를 겪고 있으며 Dev-C++ 디버거를 사용하여 알아낼 수 없습니다. 도움 및/또