누구나 주요 Java 데이터 구조에 대한 요약과 해당 시간의 복잡성 (add, find, remove와 같은 특정 작업에 대해)이 포함 된 웹 사이트에 대한 참조를 제공 할 수 있습니까? Hashtable
은 찾음을 위해 O (1)이고, LinkedList
은 O (n)입니다. 메모리 사용과 같은 일부 세부 사항도 좋을 것입니다.자바 데이터 구조 레퍼런스
이것은 알고리즘의 데이터 구조를 생각할 때 매우 유용합니다.
누구나 주요 Java 데이터 구조에 대한 요약과 해당 시간의 복잡성 (add, find, remove와 같은 특정 작업에 대해)이 포함 된 웹 사이트에 대한 참조를 제공 할 수 있습니까? Hashtable
은 찾음을 위해 O (1)이고, LinkedList
은 O (n)입니다. 메모리 사용과 같은 일부 세부 사항도 좋을 것입니다.자바 데이터 구조 레퍼런스
이것은 알고리즘의 데이터 구조를 생각할 때 매우 유용합니다.
자바의 구현은 일반적인 언어 불가지론 구현보다는 (복잡성의 관점에서) 다른 것을 생각하는 이유가 여기에있다? 자바 특정 주장하는 경우,
NIST Dictionary of Algorithms and Data Structures
:하지만
Java standard data structures Big O notation
Java Collections cheatsheet V2을 (즉, 이유는 바로 다양한 데이터 구조의 복잡성에 대한 일반적인 기준을 참조하지 죽은 링크이지만 this is the first version of the cheatsheet)
나는 (프로젝트에 대한 좋은 생각처럼 들리지만) 단일 개요 웹 사이트가 있다고 생각하지 않습니다. 문제의 일부는 각 알고리즘의 실행 방식에 대한 이해가 매우 중요하다고 생각합니다. 대부분의 경우 Big-O을 이해하는 것처럼 들리므로이를 가장 좋은 추측으로 사용합니다. 어떤 벤치마킹/프로파일 링을 통해 더 빠르게/더 느리게 실행되는지 확인하십시오.
그리고 예, Java docs은이 정보가 대부분 java.util
에 있어야합니다.
나는 매우 유용한 The Collections Framework 페이지, 특히 모든 인터페이스/클래스가 설명되어있는 Outline of the Collections Framework 페이지를 발견했습니다. 불행히도 big-O 정보는 없습니다.
여기에 언급 된 특정 리소스를 볼 수 없었습니다. 과거에 큰 도움이되었습니다. 너의 복잡성을 알아라!
Javadocs 이외는 무엇입니까? –
그래, 자바 워드 프로세서는 모두 분리되어 있고 복잡성은 찾기가 쉽지 않다. 나는 각각의 세부 사항을 원하지 않는다. 단지 시간 복잡성을 지닌 단순한 요약 –