2010-12-20 4 views
2

と私はいくつかの潜在的なインタビューの質問をします。その1つはツリーを使ってマップやリンクリストを実装できます。マップの適切な定義を探していて、ツリーを使ってマップを実装できるかどうかを確認するために、

しかし、私はグーグルで何時でもマップが何であるか、配列やハッシュテーブルとどのように違うかを明確には分かりません。誰でも明確な説明を提供できますか?

リンクリストをツリーとして記述できますか?

+1

個人的には、ウィキペディアのコンピュータサイエンスの記事は全体的に見て分かりやすいです。つまり、(一般的な)チュートリアルではなく、あなたが話している概念に全く慣れていない場合は、他の場所に行く方がよいでしょう。 –

答えて

0

マップ(リンク)をツリーとして作成できますか?

マップは、配列で表される通常はです。エントリがマップ内のどこにあるかを調べるには、キーを計算する必要があります。より良い説明のためにhereを見てください。

ツリー(未定義ノード数)は、リストを使用して実装できます(詳細は、hereを参照してください)。通常、リストはツリーとして実装されません。

データ構造上の古典であるthis bookを取得して、本当に素晴らしい情報をたくさん得ることをお勧めします。

1

マップ(別名辞書または連想配列)は、キーを使用して値をルックアップできるデータ構造です。

Javaマップは、HashMapまたはTreeMapとして実装できます。ハッシュマップは実装の可能性があると示唆しています。はい、Mapをツリーとして実装できます。

+0

通常の配列のインデックスをキーとみなすことはできませんか?したがって、マップはプレーンなバニラ配列とどう違うのですか? –

+0

自分自身を整数キーに制限することができます。しかし、マップは、ハッシュ可能で不変なオブジェクトをキーに使用できます。 – duffymo

+0

また、キーの間隔が広いと配列が非効率になります(スパースになります)。 – lijie

関連する問題