2009-08-13 3 views
21

누구나 주요 Java 데이터 구조에 대한 요약과 해당 시간의 복잡성 (add, find, remove와 같은 특정 작업에 대해)이 포함 된 웹 사이트에 대한 참조를 제공 할 수 있습니까? Hashtable은 찾음을 위해 O (1)이고, LinkedList은 O (n)입니다. 메모리 사용과 같은 일부 세부 사항도 좋을 것입니다.자바 데이터 구조 레퍼런스

이것은 알고리즘의 데이터 구조를 생각할 때 매우 유용합니다.

+1

Javadocs 이외는 무엇입니까? –

+1

그래, 자바 워드 프로세서는 모두 분리되어 있고 복잡성은 찾기가 쉽지 않다. 나는 각각의 세부 사항을 원하지 않는다. 단지 시간 복잡성을 지닌 단순한 요약 –

답변

23

자바의 구현은 일반적인 언어 불가지론 구현보다는 (복잡성의 관점에서) 다른 것을 생각하는 이유가 여기에있다? 자바 특정 주장하는 경우,

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)

+4

http://simplenotions.wordpress.com/2009/05/13/java-standard-data-structures-big에 감사드립니다. -o-notation/ –

+0

링크 중 2 개가 죽었습니다. 나는 그것을 편집 하겠지만 나는 당신의 글의 의미를 바꾸어야 만한다. – Daniel

+0

나는 지금 새 링크를 업데이트했다. – bluish

0

나는 (프로젝트에 대한 좋은 생각처럼 들리지만) 단일 개요 웹 사이트가 있다고 생각하지 않습니다. 문제의 일부는 각 알고리즘의 실행 방식에 대한 이해가 매우 중요하다고 생각합니다. 대부분의 경우 Big-O을 이해하는 것처럼 들리므로이를 가장 좋은 추측으로 사용합니다. 어떤 벤치마킹/프로파일 링을 통해 더 빠르게/더 느리게 실행되는지 확인하십시오.

그리고 예, Java docs은이 정보가 대부분 java.util에 있어야합니다.

0

주 컬렉션 클래스의 시간 및 공간 복잡성은 알려진 시간의 데이터 구조와 일치해야합니다. xity. Java와 관련하여 특별한 것이 없다고 생각합니다. (당신이 말한 것처럼) 해시 검색은 O (1)이어야합니다. here 또는 here을 볼 수 있습니다.