JavaScript 배열에 값이 포함되어 있는지 확인하는 가장 간결하고 효율적인 방법은 무엇입니까? 이것이 내가 아는 유일한 방법입니다. function contains(a, obj) { for (var i = 0; i < a.length; i++) { if (a[i] === obj) { return true; } } return false; } 이것을 달성하는 더 좋고 간결한 방법이 있습니까? 이것은 …
Big O Notation 실행 시간과 상각 시간에 대해 배우고 있습니다. O (n) 선형 시간 의 개념을 이해합니다 . 입력의 크기가 알고리즘의 성장에 비례하여 영향을 미친다는 것을 의미합니다 ... 예를 들어 2 차 시간 O (n 2 ) 등도 마찬가지입니다 (N (n!) 시간의 순열 생성기와 같이 계승에 의해 증가합니다. 예를 들어, …
프로젝트 오일러 및 기타 코딩 공모전은 종종 최대 실행 시간을 갖거나 사람들이 특정 솔루션의 실행 속도를 자랑합니다. 파이썬의 경우 때때로 접근 방식이 다소 복잡합니다 __main__. 즉 타이밍 코드를 추가하는 것 입니다. 파이썬 프로그램 실행 시간을 프로파일 링하는 좋은 방법은 무엇입니까?
질문 알고리즘의 시간 복잡성을 찾는 방법은 무엇입니까? SO에 질문을 게시하기 전에 무엇을 했습니까? 나는 이것 , 이것 과 다른 많은 링크를 겪었다. 그러나 시간 복잡성을 계산하는 방법에 대한 명확하고 직접적인 설명을 찾을 수있는 곳은 없습니다. 내가 뭘 알 겠어 ? 아래 코드와 같이 간단한 코드를 말하십시오. char h = 'y'; …
Big-O 표기법을 이해하지만 많은 함수에 대해 계산 방법을 모르겠습니다. 특히, 피보나치 시퀀스의 순진한 버전의 계산 복잡성을 알아 내려고 노력했습니다. int Fibonacci(int n) { if (n <= 1) return n; else return Fibonacci(n - 1) + Fibonacci(n - 2); } 피보나치 수열의 계산 복잡성은 무엇이며 어떻게 계산됩니까?
시간 복잡성에서 찾은 리소스는 시간 복잡성 방정식의 용어, 특히 비 다항식 예제를 무시해도 괜찮은지 확실하지 않습니다. n 2 + n + 1 형식의 무언가가 주어지면 마지막 두 용어는 중요하지 않다는 것이 분명합니다 . 구체적으로, 2 n 과 n * (2 n )의 두 가지 분류가 주어지면 두 번째는 첫 번째와 …
SO re Java 해시 맵 및 O(1)조회 시간 에 대한 흥미로운 주장을 보았습니다 . 누군가 왜 이것이 그렇게 설명 할 수 있습니까? 이러한 해시 맵이 내가 구입 한 해시 알고리즘과 크게 다르지 않으면 충돌이 포함 된 데이터 세트가 항상 존재해야합니다. 어떤 경우에는 조회가 O(n)아닌 것 O(1)입니다. 사람은인지 설명 할 수 …
BFS의 기본 알고리즘 : set start vertex to visited load it into queue while queue not empty for each edge incident to vertex if its not visited load into queue mark vertex 따라서 시간 복잡성은 다음과 같습니다. v1 + (incident edges) + v2 + (incident edges) + .... + vn …
하루의 주가를 나타내는 n 개의 정수 배열이 주어 졌다고 가정 합니다. 우리는 한 쌍 찾으려 (buyDay, sellDay) 와, buyDay ≤ sellDay 우리가 주식을 구입 한 경우 있도록, buyDay 하고 그것을 판매 sellDay , 우리는 우리의 이익을 극대화하는 것입니다. 가능한 모든 (buyDay, sellDay) 쌍 을 시도하고 그들 모두에서 최선을 다하는 알고리즘에 …