«efficiency» 태그된 질문

문제를 해결하면서 가능한 적은 자원 (예 : 시간, 공간)을 사용하십시오. 질문이 실행 시간을 언급하는 일반적인 알고리즘 질문이 아니라 리소스 사용에 관한 것이라면이 태그를 사용하십시오.


4
다항식 시간을 왜“효율적”이라고합니까?
컴퓨터 과학에서 가장 다항식 인 복잡성이 효율적인 것으로 간주되는 이유는 무엇입니까? 실용적인 응용 프로그램 (a)의 경우 복잡도가 알고리즘은 과 같이 시간에 실행되는 알고리즘보다 훨씬 빠르지 만 첫 번째 알고리즘 은 비효율적 인 것으로 간주되지만 후자는 효율적입니다. 논리는 어디에 있습니까?!nlognnlog⁡nn^{\log n}n80n80n^{80} (a) 예를 들어 우주의 원자 수는 약 합니다.1080108010^{80}


3
순진 곱셈보다 효율적인 요인 알고리즘
반복 및 재귀를 모두 사용하여 계승을 코딩하는 방법을 알고 있습니다 (예 n * factorial(n-1): 예). 나는 팩토리얼을 재귀 적으로 반으로 나누어 더 효율적인 코딩 방법이 있음을 교과서에서 (추가 설명없이) 읽었습니다. 왜 그런지 이해합니다. 그러나 나는 스스로 코딩을 시도하고 싶었지만 시작해야 할 곳을 모른다고 생각합니다. 친구가 기본 사례를 먼저 쓰라고 제안했습니다. …

5
정렬 된 배열에 요소 추가
(실제적인 문제뿐만 아니라 알고리즘 관점에서) 가장 빠른 방법은 무엇입니까? 다음 줄을 따라 뭔가를 생각하고있었습니다. 배열의 끝에 추가 한 다음 bubblesort를 사용하여 가장 가까운 경우 (시작시 완전히 정렬 된 배열)를 가지고 선형 실행 시간 (가장 좋은 경우)을 갖습니다. 반면에 정렬 된 배열로 시작한다는 것을 알면 이진 검색을 사용하여 주어진 요소의 삽입 …

7
알고리즘 (및 일반적으로 효율성)이 덜 중요 해지고 있습니까?
계산 능력을 구매하는 것이 과거보다 훨씬 저렴하기 때문에 알고리즘에 대한 지식과 효율성이 덜 중요 해지는가? 무한 루프를 피하고 싶을 것이기 때문에 모든 것이 진행되는 것은 아닙니다. 그러나 하드웨어가 더 좋다면 어떻게 든 소프트웨어가 더 나빠질 수 있습니까?
29 efficiency 

3
선택이 버블 정렬보다 빠른 이유는 무엇입니까?
위키 피 디아에 작성 "... 선택은 일종의 거의 항상 일종의 거품과 그놈 종류 능가."고 둘 다 가지고 있지만 선택 정렬이 버블 정렬보다 빠른 것으로 간주되는 이유를 누구에게나 설명해 줄 수 있습니까? 최악의 시간 복잡도 : O(n2)O(n2)\mathcal O(n^2) 비교 횟수 : O(n2)O(n2)\mathcal O(n^2) 최고의 시간 복잡성 : 버블 정렬 :O(n)O(n)\mathcal O(n) …

2
대략적인 조회를 지원하는 효율적인 맵 데이터 구조
필자는 효율적인 근사 키 조회 (예 : 문자열의 레 벤슈 테인 거리)를 지원하여 입력 키에 가장 근접한 일치를 반환하는 데이터 구조를 찾고 있습니다. 지금까지 내가 찾은 가장 적합한 데이터 구조는 Burkhard-Keller 나무 이지만이 목적을 위해 다른 / 더 나은 데이터 구조가 있는지 궁금합니다. 편집 : 내 특정 사례에 대한 자세한 …

3
동적 그래프의 최단 경로 검색
현재 유 방향 그래프에서 최단 경로를 연구하고 있습니다. dijkstra 또는 bellman-ford와 같이 네트워크에서 가장 짧은 경로를 찾기위한 효율적인 알고리즘이 많이 있습니다. 그러나 그래프가 동적이라면 어떻게 될까요? 동적이라고 말하면 프로그램을 실행하는 동안 정점을 삽입하거나 제거 할 수 있습니다. 새 그래프에서 가장 짧은 경로 알고리즘을 다시 실행할 필요없이 가장자리 e를 삽입 한 …

3
AKS 우선 순위 테스트는 실제로 다른 테스트보다 빠릅니다.
PRIMES ⊆ P를 증명하기위한 목록이나 컴퓨터에서 실질적인 우선 순위 테스트를위한 실질적인 알고리즘과 같이 AKS 우선 순위 테스트 를 이해하는 방법에 대한 아이디어를 얻으려고 합니다. 테스트에는 다항식 런타임이 있지만 높은 수준과 가능한 높은 상수가 있습니다. 따라서, 프리 액티브에서 다른 원시성 테스트를 능가 하는 은 무엇입니까? 여기서 은 소수의 자릿수이며 "surpass"는 일반적인 …

7
두 배열에서 다른 하나의 요소입니다. 효율적으로 찾는 방법?
코딩 인터뷰를 준비 중이며이 문제를 해결하는 가장 효율적인 방법을 알 수 없습니다. 정렬되지 않은 숫자로 구성된 두 개의 배열이 있다고 가정 해 봅시다. 배열 2에는 배열 1에없는 숫자가 포함됩니다. 두 배열 모두 반드시 같은 순서로 또는 같은 인덱스에있는 숫자가 무작위로 없습니다. 예를 들면 다음과 같습니다. 배열 1 [78,11, 143, 84, …

3
계 승률을 소수로 계산하는 가장 효율적인 방법은 무엇입니까?
계수 후 계수를 효율적으로 계산하는 알고리즘을 알고 있습니까? 예를 들어 프로그래밍하고 싶습니다. for(i=0; i<5; i++) sum += factorial(p-i) % p; 그러나 p계승을 직접 적용하기위한 큰 숫자 (프라임)입니다 (p≤108)(p≤108)(p \leq 10^ 8) . 파이썬에서는이 작업이 정말 쉽지만 최적화 방법을 알고 싶습니다.

6
구간에서 두 숫자의 최대 XOR 찾기 : 이차보다 더 잘 할 수 있습니까?
두 개의 숫자 과 r 이 주어지고 l ≤ i에 대해 max ( i ⊕ j ) 를 찾고 싶다고 가정 해 봅시다 .lllrrrmax(i⊕j)max(i⊕j)\max{(i\oplus j)} .l≤i,j≤rl≤i,j≤rl\le i,\,j\le r 순진한 알고리즘은 단순히 모든 가능한 쌍을 확인합니다. 예를 들어 루비에는 다음이 있습니다. def max_xor(l, r) max = 0 (l..r).each do |i| (i..r).each …

2
병합 정렬에서 "분할"단계를 피할 수 있습니까?
따라서 병합 정렬은 나누기 및 정복 알고리즘입니다. 위의 다이어그램을 보면서 기본적으로 모든 나누기 단계를 무시할 수 있는지 생각했습니다. 2만큼 점프하면서 원래 배열을 반복하면 인덱스 i 및 i + 1에서 요소를 가져 와서 자체 정렬 배열에 넣을 수 있습니다. 이러한 하위 배열을 모두 갖추면 (그림에 표시된대로 [7,14], [3,12], [9,11] 및 [2,6]) …

7
DFA가 NFA보다 효율적이라고 말할 수 있습니까?
방금 계산 이론에 대해 읽기 시작했습니다. 어느 것이 더 강력한 지 (문자열 수용에서) 비교하면 둘 다 동일합니다. 그러나 효율성은 어떻습니까? DFA는 나가는 가장자리가 하나 뿐이며 모호성이 없으므로 NFA에 비해 빠릅니다. 그러나 NFA의 경우 가능한 모든 사례를 확인해야하며 시간이 오래 걸립니다. DFA가 NFA보다 더 효율적이라고 말할 수 있습니까? 그러나 뇌의 다른 …

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.