나는 keysCollection을 Dictionary<long, object>
으로 사용하는 클래스가 있으며 다른 클래스에는 키만 전달하려고합니다.액세스 사전 처리 KeyCollection 유지
나는 사전의 (a HashTable
같은) theorical O(1)
별 액세스 인덱스가 있음을 알고 있지만 나는 목록에 keyCollection를 변환 할 경우, 액세스는 O(n)
로 변경합니다.
O(1)
을 계속 유지하면서 keyCollection을 클래스에 전달할 수 있습니까?
수정 : .NET 2.0을 사용하고 있습니다.
미리 감사드립니다.
하면 "액세스"정의 ... 당신이 의미하는 경우 "인덱스 읽기", 액세스는 여전히 O (1), 실제로 해시 테이블보다 반드시 빠름 * O (1)입니다. 사실, O (1)은 키에 의한 액세스에만 적용됩니다 ** 키의 ** 목록에는 아무런 의미가 없습니다 ** - 목록으로 무엇을하고 싶습니까? –
@MarcGravell : 그렇습니다. 인덱스 (.Contains())를 통한 액세스를 의미합니다. –
@MarcGravell : 사전에 특정 키 값이 포함되어 있는지 알기 위해 키 컬렉션이 필요하므로 키가 필요합니다. –