for i <--- 1 step i <--- 2* i while i< n do
for j <--- 1 step j <---2* j while j<n do
if j = 2*i
for k = 0 step k <--- k+ 1 while k < n do
.... CONSTANT NUMBER OF ELEMENTARY OPER
문제가 있습니다. 해결을 위해 노력하고 있으며 도움을 많이 주셔서 감사합니다! 어떤 시간 복잡도는 ... 외부 for 루프는 n 번 실행됩니다. 내부 루프에서 k+= log n을 처리하는 방법을 잘 모르겠습니다. 내 생각은 그것이 O (n^2)입니다. log (n)을 k에 추가하는 것은 추가 n 개의 루프를 얻는 것은 아니지만 O (n * log n)보다
나누기 및 정복 기법을 사용하여 숫자에 전원을 공급하는 프로그램을 구현했습니다 (^ n). 버전 1 : def input_params():
a=input('Input \'a\' & \'n\' for a^n:')
n=input('')
result=power(a,n)
print (result)
def power(a,n):
하나의 표준 C 라이브러리 함수가 너무 오래 걸려서 전체 시스템 (프로세스 집합)이 기본적으로 "딸꾹질"이라고 생각하는 성능 문제가 있습니다. 라이브러리 함수 호출에 주석을 달아 주면 딸꾹질이 사라집니다. 이렇게하면 이런 유형의 것을 증명하기 위해 어떤 표준 방법이 있는지 조사하게되었습니다. 함수가 전체 시스템을 잠깐 멈추게하는지 (다른 프로세스가 일시적으
일부 NP는 완성되었지만 "빠른"알고리즘을 알고있는 언어가 있습니까? 나는 평균적으로 잘 할 수있는 배낭과 같은 것을 의미하지는 않습니다. 즉, 최악의 경우에도 런타임은 2^n^엡실론과 같습니다. 결과는 엡실론> 0에 대해 유지되며 결과는 다음과 같습니다. 임의로 0에 가깝도록 허용하십시오.
크기가 n = 100 인 알고리즘은 실행하는 데 21 초가 걸립니다. 크기 n = 1000의 경우 31 초가 걸리고 n = 10000의 경우 41 초가 걸립니다. 실행중인 복잡성은 무엇입니까? 내가 O (n) 일 때 T (n) = (21 * 1000)/100 = 210s (O (n)이 아님) O O (log n) = (21 * log1000)/log100
범용 컴파일러의 최대 허용 가능한 점근 적 런타임은 무엇입니까? 설명을 위해 : 컴파일 된 프로그램 자체가 아니라 컴파일 과정 자체가 복잡합니다. 프로그램 크기, 예를 들어 소스 코드 문자, 명령문, 변수, 프로 시저, 기본 블록, 중간 언어 명령어, 어셈블러 명령어 등의 수에 따라 다릅니다. 이것은 사용자의 관점에 따라 다르므로 커뮤니티 위키입니다. 컴파
병합 알고리즘은 두 개의 입력 배열 중 가장 작은 요소를 반복적으로 비교하고 두 개의 작은 배열 중 하나를 출력으로 이동하여 두 개의 정렬 된 입력 배열을 정렬 된 출력 배열로 병합합니다. 이제 우리는 (정렬) 출력 배열로 동일한 길이의 세 정렬 입력 어레이 (A1, A2 및 A3)을 병합 할 필요하며 두 가지 방법이있다 : 상기 병합 사용 은 알고리즘을