«algorithm-analysis» 태그된 질문

정확성, 런타임 및 공간 사용을 포함하여 알고리즘의 속성을 결정하는 과학 및 기술에 대한 질문. 알고리즘 런타임에 대한 질문은 [runtime-analysis] 태그를 사용하십시오.


2
곱하기 확률보다 로그 확률을 더 빠르게 추가하는 이유는 무엇입니까?
문제를 해결하기 위해 컴퓨터 과학에서 종종 여러 확률의 곱을 계산하려고합니다. P(A,B,C) = P(A) * P(B) * P(C) 가장 간단한 방법은 단순히이 숫자를 곱하는 것입니다. 이것이 바로 제가하려는 것입니다. 그러나 상사는 확률의 로그를 추가하는 것이 좋습니다. log(P(A,B,C)) = log(P(A)) + log(P(B)) + log(P(C)) 이것은 로그 확률을 제공하지만 필요한 경우 나중에 확률을 …

3
역 Ackermann보다 느린 성장 기능이 런타임 범위에 나타 납니까?
일부 복잡한 알고리즘 ( union-find )은 점근 적 시간 복잡성에 나타나는 거의 일정한 역 Ackermann 함수를 가지며, 거의 일정한 역 Ackermann 항이 무시되는 경우 최악의 시간 최적입니다. 역 행성 Ackermann보다 근본적으로 느리게 성장하는 함수 (예 : 다항식 또는 지수 등의 변환에서 Ackermann과 동등하지 않은 함수의 역수)를 포함하여 알려진 가장 최악의 …

7
시간 복잡도 알고리즘 의 특징은 무엇입니까 ?
때로는 알고리즘을 신중하게 검사하면서 시간의 복잡성을 쉽게 식별 할 수 있습니다. 두 개의 중첩 루프가있는 알고리즘 NNN은 분명히 N2N2N^2 입니다. 두 값 의 NNN 그룹의 가능한 모든 조합을 탐색하는 알고리즘 은 분명히 2N2N2^N 입니다. 그러나 나는 Θ(NlogN)Θ(Nlog⁡N)\Theta(N \log N) 복잡성을 가진 알고리즘을 "스팟"하는 방법을 모른다 . 예를 들어 재귀 병합 …


1
Ukkonen 알고리즘의 런타임은 알파벳 크기에 어떻게 의존합니까?
나는 Ukkonen 알고리즘의 점근 적 실행 시간에 대한 문제에 관심이 있습니다. 아마도 선형 (?) 시간에 접미사 트리 를 구성하는 가장 인기있는 알고리즘 일 것 입니다. Dan Gusfield (섹션 6.5.1)의 "문자열, 나무 및 시퀀스에 대한 알고리즘"책에서 인용 한 내용은 다음과 같습니다. "... Aho-Corasick, Weiner, Ukkonen 및 McCreight 알고리즘은 모두 공간이 필요하거나 …

3
두 알고리즘을 비교하기 위해 런타임 대신 비교를 사용하는 이유는 무엇입니까?
몇 개의 CS 연구 논문에서 두 알고리즘의 효율성을 비교하기 위해 실제 컴퓨팅 시간 자체가 아닌 알고리즘의 총 키 비교 수가 사용됩니다. 두 프로그램을 모두 실행하고 알고리즘을 실행하는 데 필요한 총 시간을 계산하여 어느 것이 더 나은지 비교할 수없는 이유는 무엇입니까?

4
Randomized Quicksort가 O (n log n)의 최악의 런타임 비용을 갖는 이유
무작위 빠른 정렬 은 피벗 요소가 임의로 선택되는 빠른 정렬의 확장입니다. 이 알고리즘의 최악의 시간 복잡도는 무엇입니까? 나에 따르면, 임의로 선택된 피벗이 정렬 되거나 역 정렬 된 순서 로 선택되면 최악의 경우가 발생하기 때문에 O ( n2)영형(엔2)O(n^2) 이어야합니다 . 그러나 일부 텍스트에서 [1] [2] 최악의 시간 복잡도는 O ( n …

2
더 어려운 점 : 정렬 된 덱 섞기 또는 셔플 된 줄 정렬하기?
고유 한 요소로 구성된 배열이 있습니다. 당신은 비교기 (두 요소 와 취하고 true iff 반환 하는 블랙 박스 함수 )와 진정한 임의의 비트 소스 (인수를 취하지 않고 독립적으로 균일하게 임의의 비트를 반환하는 블랙 박스 함수)에 액세스 할 수 있습니다. 다음 두 가지 작업을 고려하십시오.엔엔nㅏㅏa비비ba &lt; bㅏ&lt;비a < b 배열이 현재 …

2
Randomized Quicksort의 장점은 무엇입니까?
Motwani와 Raghavan은 자신의 책 Randomized Algorithms 에서 RandQS 기능인 Randomized quicksort에 대한 설명으로 소개를 시작합니다. 나는 이것에 대해 얼마 동안 (약간 힘이 부족한) 두뇌를 쌓아 왔지만 매번 중간 요소 (크기가 아닌 색인)를 선택하는 것 보다이 알고리즘이 어떤 이점을 가지고 있는지 알 수 없었습니다. 내가 볼 수없는 것은 이것이 있다고 가정합니다. …

4
알고리즘의 재귀와 생성 함수
조합론은 컴퓨터 과학에서 중요한 역할을합니다. 알고리즘 설계뿐만 아니라 분석에서도 조합 방법을 자주 사용합니다. 예를 들어 , 그래프에서 -vertex 커버 세트 를 찾는 한 가지 방법은 모든 \ binom {n} {k} 가능한 서브 세트를 검사 할 수 있습니다 . 이항 함수가 기하 급수적으로 증가하는 동안 k 가 고정 상수 인 경우 …

1
무차별 들로네 삼각 분할 알고리즘의 복잡성
Mark de Berg 등의 "Computational Geometry : Algorithms and Applications" 책 에는 들로네 삼각 분할 (Delaunay Triangulation) 계산을위한 매우 간단한 무차별 알고리즘이 있습니다. 이 알고리즘은 유효한 들로네 삼각 분할 (Delaunay Triangulation)에 나타나지 않을 수있는 다른 가장자리 인 잘못된 가장자리 라는 개념을 사용합니다 . 각 단계에서 알고리즘은 이러한 잘못된 모서리를 찾아서 …

4
연결된 목록에서 빠른 정렬을 사용하지 않는 이유는 무엇입니까?
빠른 정렬 알고리즘은 다음 단계로 나눌 수 있습니다 피벗을 식별하십시오. 피벗을 기준으로 연결된 목록을 분할하십시오. 연결된 목록을 재귀 적으로 두 부분으로 나눕니다. 이제 항상 마지막 요소를 피벗으로 선택하면 피벗 요소 (1 단계)를 식별하는 데 시간이 걸립니다.O(n)O(n)\mathcal O(n) 피벗 요소를 식별 한 후 데이터를 저장하고 다른 모든 요소와 비교하여 올바른 파티션 …

4
퀵 정렬은 아이들에게 설명
작년에 나는 “유치원을위한 양자 역학”에 관한 환상적인 논문을 읽고있었습니다 . 쉬운 종이 아니었다. 이제 가장 간단한 단어로 퀵 정렬을 설명하는 방법이 궁금합니다. 평균 복잡도가 이고 유치원 클래스에 가장 좋은 경우와 최악의 경우가 무엇인지 어떻게 증명할 수 있습니까? 아니면 적어도 초등학교에서?O ( n 로그n )영형(엔로그⁡엔)O(n \log n)

2
힙 정렬 된 목록을 하나의 정렬 된 목록으로 병합 하는 시간 알고리즘 제공
아마도이 질문은 전에 요청되었습니다. CLRS (2nd Ed) 문제 6.5-8에서 온 것입니다. 정렬 된 목록을 하나의 정렬 된 목록으로 병합 하는 시간 알고리즘을 제공 하십시오. 여기서 은 모든 입력 목록의 총 요소 수입니다. (힌트 : 병합 에는 최소 힙을 사용하십시오 .)O(nlgk)O(nlg⁡k)O(n \lg k)kkknnnkkk 있기 때문에 목록과 전체 분류 값을, 우리는 각 …

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