«algorithms» 태그된 질문

알고리즘은 문제에 대한 추상 솔루션을 정의하는 일련의 잘 정의 된 단계입니다. 문제가 알고리즘 설계 및 분석과 관련이있을 때이 태그를 사용하십시오.

11
실제로 다른 정렬 알고리즘보다 퀵 정렬이 더 나은 이유는 무엇입니까?
표준 알고리즘 과정에서 quicksort 는 평균 이고 최악의 경우 입니다. 동시에, 최악의 경우에는 ( sortsort 와 heapsort 와 같은 , 심지어 가장 좋은 경우에는 선형 시간 ( bubblesort 와 같은 )이지만 메모리가 추가로 필요한 다른 정렬 알고리즘이 연구 됩니다.O를 ( N 2 ) O ( N 로그 없음을 )O(nlogn)O(nlog⁡n)O(n \log …

3
알고리즘 분석의 마법 뒤에 시스템이 있습니까?
알고리즘의 실행 시간을 분석하는 방법에 대한 많은 질문이 있습니다 (예 : 런타임 분석 및 알고리즘 분석 참조 ). 예를 들어 중첩 루프 또는 분할 및 정복 알고리즘의 비용 분석을 요구하는 경우와 유사하지만 대부분의 답변은 맞춤형으로 보입니다. 반면에, 다른 일반적인 질문에 대한 답변 은 몇 가지 예를 통해 더 큰 그림 …

14
그래프를보고 다른 지점과 가장 가까운 지점을 즉시 찾을 수있는 이유는 무엇입니까?하지만 프로그래밍에 O (n) 시간이 걸립니까?
내가 명확히하자 : 주어진 점 수 n의 산점도를 감안할 때, 정신적으로 플롯의 어떤 점에 가장 가까운 점을 찾으려면 그래프의 대부분의 점을 즉시 무시하고 선택 범위를 근처의 작고 일정한 점으로 좁 힙니다. . 그러나 프로그래밍에서 점 집합 n이 주어지면, 가장 가까운 점을 찾으려면 시간 인 다른 모든 점을 확인해야합니다 .O ( …

4
유한 오토마타를 정규식으로 변환하는 방법?
표준 알고리즘 (예 : Thompson 's algorithm )을 사용하면 정규식을 동일한 언어를 수용하는 (최소) NFA로 쉽게 변환 할 수 있습니다 . 그러나 다른 방향은 더 지루한 것처럼 보이고 때로는 결과 표현이 지저분합니다. NFA를 동등한 정규식으로 변환하기위한 알고리즘은 무엇입니까? 시간 복잡성 또는 결과 크기와 관련하여 장점이 있습니까? 이것은 참조 질문이어야합니다. 방법에 …

13
“일부 테스트 사례 시도”휴리스틱을 속이는 방법 : 올바르게 보이지만 실제로는 잘못된 알고리즘
어떤 문제에 대한 알고리즘이 올바른지 테스트하기 위해 일반적인 출발점은 여러 간단한 테스트 사례에서 직접 알고리즘을 실행하는 것입니다. 몇 가지 간단한 "코너 사례를 포함하여 몇 가지 예제 인스턴스에서 시도해보십시오. ". 이것은 휴리스틱입니다. 알고리즘에 대한 많은 잘못된 시도를 신속하게 제거하고 알고리즘이 작동하지 않는 이유를 이해하는 데 좋은 방법입니다. 그러나 알고리즘을 학습 할 …

2
BIT : 이진 인덱스 트리의 직관은 무엇이며 어떻게 생각 되었습니까?
이진 색인 트리는 다른 데이터 구조와 비교할 때 문헌이 적거나 거의 없습니다. 그것이 가르치는 유일한 곳 은 topcoder tutorial 입니다. 튜토리얼이 모든 설명에서 완료되었지만 그러한 나무의 직관을 이해할 수 없습니까? 어떻게 발명 되었습니까? 정확성에 대한 실제 증거는 무엇입니까?

5
같은 목적에 맞는 다른 알고리즘 / 데이터 구조를 배우는 이유는 무엇입니까?
학부생이었던 이래로이 질문이 궁금합니다. 일반적인 질문이지만 아래 예를 자세히 설명하겠습니다. 최대 흐름 문제와 같은 많은 알고리즘을 보았습니다 .Ford-Fulkerson, Edmonds-Karp & Dinic과 같은 3 가지 알고리즘을 알고 있습니다. 데이터 구조 (예 : 힙)에는 이진 힙, 이항 힙 및 피보나치 힙이 있으며 피보나치 힙은 전체적으로 가장 복잡합니다. 나를 혼란스럽게하는 것은 : 우리가 …

3
어떤 시간 복잡도 분석 표기법을 사용해야하는지 어떻게 알 수 있습니까?
대부분의 입문 알고리즘 클래스에는 (Big O) 및 와 같은 표기법 이 도입되며 일반적으로 학생은이 중 하나를 사용하여 시간 복잡성을 찾는 방법을 배웁니다.Θ영형OOΘΘ\Theta 그러나 , 및 와 같은 다른 표기법이 있습니다 . 한 표기법이 다른 표기법보다 선호되는 특정 시나리오가 있습니까?Ω ω영형ooΩΩ\Omegaωω\omega


8
그래프 검색 : 너비 우선 및 깊이 우선
그래프를 검색 할 때는 폭 우선 및 깊이 우선의 두 가지 쉬운 알고리즘이 있습니다 (보통 모든 인접 그래프 노드를 대기열 (폭 우선) 또는 스택 (깊이 우선)에 추가하여 수행). 자, 서로의 장점이 있습니까? 내가 생각할 수있는 것 : 데이터가 그래프 내부에서 상당히 아래로 내려갈 것으로 예상되는 경우 그래프 의 더 깊은 …

6
숫자에 대한 기본 연산에 일정한 시간이 걸린다고 어떻게 가정 할 수 있습니까?
일반적으로 알고리즘에서는 숫자의 비교, 덧셈 또는 뺄셈에 신경 쓰지 않습니다 . 시간 에서 실행한다고 가정 합니다. 예를 들어, 비교 기반 정렬이 이라고 말할 때 이것을 가정 하지만, 숫자가 레지스터에 맞지 않을 때는 일반적으로 숫자를 배열로 나타내므로 기본 연산에는 요소 당 추가 계산이 필요합니다.O ( 1 )O(1)O(1)O ( n 로그n )O(nlog⁡n)O(n\log …

4
MapReduce의 참신함은 무엇입니까?
몇 년 전 MapReduce 는 분산 프로그래밍의 혁명으로 호평 을 받았습니다. 또한있어왔다 비판 하지만, 전반적으로 열정적 인 과대 광고가 있었다. 심지어 특허를 받았습니다! [1] 이름은 연상 map과 reduce기능적인 프로그래밍,하지만 난 읽을 때 (위키 백과) 맵 단계 : 마스터 노드는 입력을 가져 와서 작은 하위 문제로 나누고 작업자 노드에 분배합니다. 작업자 …

3
배열 인터리빙을위한 적절한 알고리즘
2n2엔2n 요소 의 배열이 제공됩니다 a1,a2,…,an,b1,b2,…bn에이1,에이2,…,에이엔,비1,비2,…비엔a_1, a_2, \dots, a_n, b_1, b_2, \dots b_n 작업은 결과 배열이 다음과 같은 내부 알고리즘을 사용하여 배열을 인터리브하는 것입니다. b1,a1,b2,a2,…,bn,an비1,에이1,비2,에이2,…,비엔,에이엔b_1, a_1, b_2, a_2, \dots , b_n, a_n 내부 요구 사항이 없으면 새 배열을 쉽게 만들고 시간 알고리즘을 제공하는 요소를 복사 할 수 있습니다 .O(n)영형(엔)\mathcal{O}(n) 위치 …

9
크기가 커질수록 더 쉽게 문제가 있습니까?
이것은 우스운 질문 일지 모르지만 입력의 크기가 커질수록 실제로 더 쉽게 문제가 발생할 수 있습니까? 나는 실제적인 문제가 이런 것이 아닌지 의심하지만, 우리는이 속성을 가진 퇴보적인 문제를 발명 할 수있다. 예를 들어, 크기가 커지거나 기괴한 방식으로 동작함에 따라 "자체 해결"을 시작할 수 있습니다.


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