«algorithm-analysis» 태그된 질문

5
나누기 및 정복 알고리즘 – 왜 두 개 이상의 부분으로 나눠지지 않습니까?
quicksort 및 mergesort와 같은 나누기 및 정복 알고리즘에서 입력은 일반적으로 (적어도 소개 텍스트에서는) 두 개로 분할되고 두 개의 작은 데이터 세트는 재귀 적으로 처리됩니다. 두 개의 반쪽이 전체 데이터 세트를 처리하는 작업의 절반 미만을 차지하는 경우 문제를 더 빨리 해결할 수 있다는 것이 의미가 있습니다. 그러나 왜 데이터 세트를 세 …


5
알고리즘 : O (n)과 O (nlog (n))을 어떻게 합합니까?
중복을 찾아서 제거하는 다음 알고리즘이 있습니다. public static int numDuplicatesB(int[] arr) { Sort.mergesort(arr); int numDups = 0; for (int i = 1; i < arr.length; i++) { if (arr[i] == arr[i - 1]) { numDups++; } } return numDups; } 최악의 경우 시간 복잡성을 찾으려고합니다. 나는 mergesort가라는 것을 알고 nlog(n)있으며 …

8
정렬 된 데이터가 필요한 이진 검색이 선형 검색보다 나은 이유는 무엇입니까?
나는 선형 검색이 순진한 접근 방식이며 바이너리 검색이 더 나은 점근 적 복잡성으로 인해 성능보다 우수하다고 들었습니다. 그러나 바이너리 검색 전에 정렬이 필요할 때 선형 검색보다 나은 이유를 이해하지 못했습니다. 선형 검색은 O(n)이진 검색입니다 O(log n). 그것은 이진 검색이 더 낫다는 말의 기초 인 것 같습니다. 그러나 이진 검색에는 O(n …

2
빠른 정렬을 위해 2N lnN 비교 이해
Sedgewick 's Algorithms book에서 quicksort 분석을 진행했습니다. 그는 N 개의 개별 항목 배열을 정렬하는 동안 빠른 정렬에서 비교 횟수에 대해 다음과 같은 반복 관계를 작성합니다. 나는 이것을 이해하는 데 어려움을 겪고 있습니다 ... 어떤 요소가 피벗이 될 때 1 / N 확률이 필요하다는 것을 알고 있으며 k가 피봇이되면 왼쪽 하위 …

7
Big Oh 표기법은 상수 값을 언급하지 않습니다
나는 프로그래머이고 방금 알고리즘을 읽기 시작했습니다. 나는 Bog Oh, Big Omega 및 Big Theta라는 표기법을 완전히 확신하지 못합니다. 그 이유는 Big Oh의 정의에 따라, 항상 f (x)보다 크거나 같은 함수 g (x)가 있어야한다고 명시되어 있습니다. 또는 n> n0의 모든 값에 대해 f (x) <= cn입니다. 정의에서 상수 값을 언급하지 않는 …


1
Damerau-Levenshtein 개선 가능?
나는 최근 Wikipedia의 의사 코드에서 Damerau-Levenshtein 거리 알고리즘을 구현했습니다. 나는 그것이 작동하는 방법을 정확하게의 설명을 찾을 수 없습니다와 의사처럼 완전히 가치가없는 변수 이름을 사용 DA, DB, i1, 그리고 j1왼쪽이 내 머리를 긁적. 다음은 Python에서 구현 한 것입니다 : https://gist.github.com/badocelot/5327337 파이썬 구현을 통해 프로그램을 살펴보고 무슨 일이 일어나고 있는지 파악하고 변수의 …
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.