«algorithm-analysis» 태그된 질문

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

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

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

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

4
(언제) 해시 테이블 조회 O (1)입니까?
해시 테이블 조회는 일정한 시간에 작동한다고 말합니다. 해시 값을 계산하면 배열 조회에 대한 색인이 제공됩니다. 그러나 이것은 충돌을 무시합니다. 최악의 경우 모든 항목이 동일한 버킷에 도달하고 조회 시간이 선형이됩니다 ( Θ ( n )Θ(n)\Theta(n) ). 데이터에 해시 테이블 조회를 실제로 만들 수있는 조건이 있습니까? 그게 유일한 평균, 또는 해시 테이블이 …


3
이진 검색이 삼진 검색보다 빠른 이유는 무엇입니까?
이진 검색을 사용하여 요소 의 배열을 검색하려면 최악의 경우 반복이 필요합니다. 각 단계에서 검색 공간의 절반을 잘라 내기 때문입니다. 대신 '삼항 검색'을 사용하는 경우 각 반복마다 검색 공간의 3 분의 2를 잘라내므로 최악의 경우 반복 ...NNNlog2Nlog2⁡N\log_2 Nlog3N&lt;log2Nlog3⁡N&lt;log2⁡N\log_3 N < \log_2 N 삼항 검색이 더 빠른 것 같습니다. 왜 이진 검색을 …

2
Reynolds & Tymann의 성장 정의 순서
저는 Carl Reynolds와 Paul Tymann (Schaum 's Outlines에서 출판)의 Principles of Computer Science (2008) 라는 책을 읽고 있습니다. 두 번째 장에서는 단순히 이름 목록을 반복하고 주어진 이름이 목록에서 발견되면 TRUE를 반환하는 순차적 검색의 예제와 함께 알고리즘을 소개합니다. 저자는 계속해서 말합니다 (17 페이지). 순차 검색 알고리즘의 "성장 순서"는 n이라고합니다. 이에 대한 …

3
기능적 언어에 대한 알고리즘 복잡도는 어떻게 모델링됩니까?
알고리즘 복잡도는 하위 수준 세부 사항과 독립적으로 설계되었지만 명령형 모델 (예 : 배열 액세스 및 트리의 노드 수정에 O (1) 시간이 걸림)을 기반으로합니다. 순수한 기능적 언어에서는 그렇지 않습니다. Haskell 목록은 액세스하는 데 선형 시간이 걸립니다. 트리에서 노드를 수정하려면 트리의 새 사본을 작성해야합니다. 그렇다면 기능적 언어에 대한 알고리즘 복잡성의 대체 모델링이 …

4
"분류"를 측정하는 방법
어레이의 "정렬"을 측정하는 표준 방법이 있는지 궁금합니다. 가능한 최대 반전의 수를 갖는 배열이 최대 정렬되지 않은 것으로 간주됩니까? 즉, 기본적으로 가능한 한 정렬되거나 반대로 정렬되지 않습니다.

2
순진한 셔플 링은 얼마나 무증상입니까?
각 항목을 임의로 선택한 다른 항목으로 교체하여 배열을 섞는이 '순진한'알고리즘이 올바르게 작동하지 않는 것으로 잘 알려져 있습니다. for (i=0..n-1) swap(A[i], A[random(n)]); 구체적으로, n 개의nn 반복 마다, n 개의nn 선택 중 하나 가 (균일 한 확률로) 이루어 지므로 , 계산을 통해 n 개의nnn^n 가능한 '경로' 가 존재 한다; 가능한 순열의 개수 …

4
O와 Ω은 최악의 경우와 가장 관련이있는 방법은 무엇입니까?
오늘 우리는 이진 검색을 사용하여 정렬 된 배열에서 요소를 찾기위한 매우 간단한 알고리즘을 강의에서 논의했습니다 . nnn 요소 배열에 대한 점근 적 복잡성을 결정하라는 요청을 받았습니다 . 내 생각은 log 2 n 이 최악의 경우 작업 수 이기 때문에 분명히 O(logn)O(log⁡n)O(\log n) 또는 O(log2n)O(log2⁡n)O(\log_2 n) 가 더 구체적이라는 것 입니다. …

3
하드웨어 / 구현이 알고리즘의 시간 / 공간 복잡성에 영향을 줍니까?
나는 CS 학생조차 아니기 때문에 이것은 멍청한 질문 일지 모르지만 나와 함께 견뎌주십시오 ... 컴퓨터 이전 시대에는 서랍 배열과 같은 배열 데이터 구조 만 구현할 수 있습니다. 값을 추출하기 전에 해당 색인이있는 드로어를 찾아야하므로 배열 검색의 시간 복잡도는 이진 검색을 가정하는 입니다.O(log(n))O(log(n))O(log(n)) 그러나 컴퓨터의 발명은 큰 차이를 만들었습니다. 최신 컴퓨터는 …

8
계산 복잡성에 대한 지식이없는 프로그래머가 문제가 되는가?
나는 대학에서 운동을 배정 받았다. 나는 그것을 집으로 가져 와서 그것을 해결하기 위해 알고리즘을 프로그래밍하려고 시도했다. 그래프와 관련이 있고 연결된 구성 요소를 찾는 것이라고 생각한다. 그런 다음 마음에 들어온 가장 사소한 것을 강사에게 보여주었습니다. 간단한 관찰 후, 그는 내 솔루션의 런타임 복잡성이 불가피하고 더 효율적인 것을 보여주었습니다. 그리고 계산 복잡성에 …

2
욕심 많은 알고리즘이 올바른지 증명하는 방법
나는 욕심 많은 알고리즘을 가지고 있다고 생각하지만 확실하지 않습니다. 올바른지 어떻게 확인합니까? 욕심 많은 알고리즘의 정확성을 입증하는 데 사용할 기술은 무엇입니까? 일반적인 패턴이나 기술이 있습니까? 나는 이것이 초보자를 가리키는 데 사용할 수 있는 참조 질문 이되기를 희망 합니다. 따라서 일반적인 범위보다 광범위합니다. 적어도 하나의 예로 설명되어 있지만 많은 상황을 다루는 …

2
C의 void 유형이 빈 / 하단 유형과 유사하지 않은 이유는 무엇입니까?
Wikipedia와 내가 찾은 다른 소스 void는 빈 유형이 아닌 C 유형을 단위 유형으로 나열 합니다. 나는 void빈 / 하단 유형의 정의에 더 잘 맞는 것처럼 혼란 스럽습니다 . void내가 알 수있는 한 값이 없습니다 . 반환 유형이 void 인 함수는 함수가 아무것도 반환하지 않으므로 일부 부작용 만 수행 할 수 …
28 type-theory  c  logic  modal-logic  coq  equality  coinduction  artificial-intelligence  computer-architecture  compilers  asymptotics  formal-languages  asymptotics  landau-notation  asymptotics  turing-machines  optimization  decision-problem  rice-theorem  algorithms  arithmetic  floating-point  automata  finite-automata  data-structures  search-trees  balanced-search-trees  complexity-theory  asymptotics  amortized-analysis  complexity-theory  graphs  np-complete  reductions  np-hard  algorithms  string-metrics  computability  artificial-intelligence  halting-problem  turing-machines  computation-models  graph-theory  terminology  complexity-theory  decision-problem  polynomial-time  algorithms  algorithm-analysis  optimization  runtime-analysis  loops  turing-machines  computation-models  recurrence-relation  master-theorem  complexity-theory  asymptotics  parallel-computing  landau-notation  terminology  optimization  decision-problem  complexity-theory  polynomial-time  counting  coding-theory  permutations  encoding-scheme  error-correcting-codes  machine-learning  natural-language-processing  algorithms  graphs  social-networks  network-analysis  relational-algebra  constraint-satisfaction  polymorphisms  algorithms  graphs  trees 

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