2010-12-20 2 views
2

나는 몇 가지 잠재적 인 면접 질문을하고 있는데, 그 중 하나는 나무를 사용하여지도 또는 연결된 목록을 구현할 수 있다는 것입니다.지도의 좋은 정의를 찾고, 나무를 사용하여지도를 구현할 수 있다면

하지만 시간이 지나도지도가 정확히 무엇인지, 예를 들어 배열이나 해시 테이블과 어떻게 다른지 명확하지 않습니다. 누구든지 명확한 설명을 제공 할 수 있습니까?

링크 된 목록을 트리로 작성할 수 있습니까?

+1

개인적으로 위키 백과의 컴퓨터 과학 기사가 전반적으로 훌륭하다는 것을 알았습니다. 즉, 그들은 (일반적으로) 튜토리얼이 아니며, 그들이 말하는 개념에 대해 전혀 익숙하지 않은 경우 다른 곳으로가는 것이 좋습니다. –

답변

0

지도 (지도)와 연결된 목록을 트리로 작성할 수 있습니까?

지도는 배열로 표시되는 이고 일반적으로입니다. 항목이지도에서 어디로 이동하는지 확인하려면 을 계산해야합니다. 더 자세한 설명은 here을보십시오.

트리 (노드 수는 미정)는 목록을 사용하여 구현할 수 있습니다 (자세한 내용은 here 참조). 목록은 일반적으로 나무로 구현되지 않습니다.

나는 데이터 구조에 고전 인 this book을 얻고 정말로 좋은 정보를 많이 얻을 것을 권합니다.

1

Map, 즉 사전 또는 연관 배열은 키를 사용하여 값을 조회 할 수있는 데이터 구조입니다.

Java Map은 HashMap 또는 TreeMap으로 구현 될 수 있습니다. 이는 해시 맵이 가능한 구현 중 하나임을 암시합니다. 네, Map을 트리로 구현할 수 있습니다.

+0

일반 배열의 인덱스를 키로 간주 할 수 없습니까? 따라서 맵은 일반 바닐라 배열과 어떻게 다른가요? –

+0

자신을 정수형 키로 제한 할 수 있습니다. 그러나, Map는 해시 가능의 불변 인 오브젝트를 키에 사용할 수 있습니다. – duffymo

+0

또한 배열이 키 간격이 넓어지면 배열이 비효율적이됩니다 (스파 스가됩니다). – lijie

관련 문제