データ構造(Javaインタビューの質問)

1. 8つの並べ替えアルゴリズムとは何ですか?

2.クエリアルゴリズムとは何ですか?

3. zsetの基本的な実装を知っていますか?

4. Bツリー、AVLツリー、赤黒木を知っていますか?赤黒木に近いパフォーマンスのデータ構造を知っていますか?

5. Javaで一般的に使用されるデータ構造は何ですか

配列、リンクリスト、スタック、キュー、ヒープ、ツリー

6.配列とリンクリストの違いは何ですか?

メモリ空間への配列データの格納はシーケンシャルです。リンクリストは順序付けられていません。配列のサイズは変更できません。リンクリストは変更できます。
配列はインデックスを介してクエリされますが、追加と削除に時間がかかります。メモリアドレスを移動する必要があります。リンクされたリストは
、追加と削除高速です。つまり、クエリが遅く、トラバースする必要があります。

7.迅速な分類の原則、時間と空間の複雑さ

(1)参照番号を取得
(2)小さい方を左側に配置し、大きい方を右側に配置
(3 両側の中央の値を取得
(4)上記の手順を繰り返します
(5)時間の複雑度O(nlogn)、空間の複雑度O(logn )

8.ヒープソートの原則

(1)ヒープは特別な種類の完全なバイナリツリーです。完全なバイナリツリーは一種のツリーです。最下層を除いて、各層はいっぱいです。
(2)大きなトップヒープ:すべての子ノードは親ノードより小さく、小さなトップツリーヒープ:大規模な子ノード以外のすべての親
(3)大規模なソート・ヒープビッグトップ、小さなヒープ確立するために、トップ降順に小型の確立
(4)バイナリロジックは、実際にバイナリーツリー、または基礎のアレイを構築する必要はありません
( 5)時間の複雑度O(nlog2n)、空間の複雑度O(1)

9.二分木を例にとると、ディープ検索(スタック)とワイド検索(ハッシュテーブル)の実装方法

深さ優先探索DFS:前順走査は、順トラバーサル、後順走査で、スタックを達成するために使用することができる
BFS BFSを:木の幅に沿ってトラバースは、キューで実現することができます

51件のオリジナル記事を公開しました Likes2 訪問数1853

おすすめ

転載: blog.csdn.net/qq_42972645/article/details/105658073