データ構造インタビューのトップ 50 の質問と回答
ここでは、夢の仕事に就くための、新人および経験豊富な候補者向けのデータ構造面接の質問と回答を紹介します。
1) データ構造とは何ですか?
データ構造とは、データが編成および操作される方法を指します。 データアクセスをより効率的にする方法を模索しています。 データ構造を扱うとき、私たちは XNUMX つのデータだけでなく、さまざまなデータのセットと、それらが組織的にどのように相互に関係できるかに焦点を当てます。
2) ファイルと構造体ストレージ構造を区別します。
両方のデータ構造の主な違いは、アクセスされるメモリ領域です。 コンピュータ システムのメイン メモリに存在する構造を扱う場合、これはストレージ構造と呼ばれます。 補助構造を扱う場合、それをファイル構造と呼びます。
無料 PDF ダウンロード: データ構造インタビューの質問と回答
3) 二分探索はいつ適用するのが最適ですか?
二分検索は、要素がすでに順序付けられているか、並べ替えられている場合にリストを検索するのに最適なアルゴリズムです。 リストは中央から検索され、その中央の値がターゲット検索キーでない場合は、リストの下半分または上位半分のどちらで検索を続けるかを確認します。 その後、分割と検索は同じ方法で続行されます。
4)とは リンクリスト?
リンク リストは、各ノードがそれに続くノードに接続された一連のノードです。 これにより、データ ストレージ用のチェーンのようなリンクが形成されます。
5) XNUMX 次元のすべての要素を参照するにはどうすればよいですか? アレイ?
0 次元配列内のすべての要素を参照するには、インデックス付きループを使用する必要があります。そのため、カウンターは XNUMX から配列サイズ - XNUMX まで実行されます。 このように、ループカウンターを配列の添字として使用することで、すべての要素を順番に参照できます。
6) データ構造はどの分野に適用されますか?
データ構造は、データが関係するほぼすべての側面で不可欠です。 一般に、効率的なデータ構造を含むアルゴリズムは、数値解析、 オペレーティングシステムいくつか例を挙げると、AI、コンパイラ設計、データベース管理、グラフィックス、統計分析などです。
7) LIFOとは何ですか?
LIFO は Last In First Out の短縮形です。 データがどのようにアクセス、保存、取得されるかを指します。 このスキームを使用すると、最後に保存されたデータが最初に抽出される必要があります。 これは、最初のデータにアクセスするには、この最初のデータより前に保存されていた他のすべてのデータをまず取得して抽出する必要があることも意味します。
8 ) キューとは何ですか?
キューは、データのリストまたはストリームをシミュレートできるデータ構造です。 この構造では、一方の端に新しい要素が挿入され、もう一方の端から既存の要素が削除されます。
9) 二分木とは何ですか?
バイナリ ツリーは、左ノードと右ノードの XNUMX つのノードを持つデータ構造の一種です。 プログラミングでは、バイナリ ツリーはリンク リスト構造の拡張です。
10) 再帰関数を扱う場合、どのデータ構造が適用されますか?
再帰は、終了条件に基づいて自分自身を呼び出す関数であり、スタックを利用します。 LIFO を使用すると、再帰関数の呼び出しによって戻りアドレスが保存されるため、呼び出し終了後に呼び出し関数に戻る方法がわかります。
11) スタックとは何ですか?
スタックは、最上位の要素のみにアクセスできるデータ構造です。 データがスタックに格納されると、各データは下に押し下げられ、最後に追加されたデータが一番上に残ります。
12) 二分探索木の説明
二分探索ツリーは、データを非常に効率的に取得できる方法でデータを保存します。 左側のサブツリーには、ノードのキー値未満のキーを持つノードが含まれ、右側のサブツリーには、ノードのキー値以上のキーを持つノードが含まれます。 さらに、両方のサブツリーは二分探索ツリーでもあります。
13) 多次元配列とは何ですか?
多次元配列では、複数のインデックスを使用してデータを格納します。 これは、ボード ゲームのデータ表現、複数の列にデータが格納されているテーブルなど、単一次元のインデックスを使用して表現できないデータを格納する場合に役立ちます。
14) リンク リストは線形または非線形のデータ構造とみなされますか?
それは、リンク リストをどこに適用するかによって異なります。 ストレージに基づいている場合、リンク リストは非線形とみなされます。 一方、アクセス戦略に基づいている場合、リンク リストは線形であるとみなされます。
15) 動的メモリ割り当てはデータ管理にどのように役立ちますか?
動的メモリ割り当てでは、単純な構造化データ型を格納できることに加えて、個別に割り当てられた構造化ブロックを組み合わせて、必要に応じて拡張および縮小する複合構造を形成できます。
16) FIFOとは何ですか?
FIFO は先入れ先出しの略で、キュー内でデータがどのようにアクセスされるかを表すために使用されます。 キュー リストに挿入されたデータのうち、最も長いデータが最初に削除されます。
17) 順序付きリストとは何ですか?
順序付きリストは、リスト内の各ノードの位置がそのキー コンポーネントの値によって決定されるリストで、リストを走査するにつれてキー値が増加するシーケンスを形成します。
18) マージソートとは何ですか?
マージ ソートは、データを並べ替えるための分割統治アプローチです。 一連のデータでは、隣接するデータがマージされ、並べ替えられて、より大きな並べ替えられたリストが作成されます。 これらの並べ替えられたリストは再び結合されて、さらに大きな並べ替えられたリストが形成され、単一の並べ替えられたリストが得られるまで続けられます。
19) NULL と VOID を区別する
Null は値ですが、Void はデータ型識別子です。 Null 値が与えられた変数は空の値を示します。 void は、初期サイズがないポインターを識別するために使用されます。
20) リンクリストの主な利点は何ですか?
リンク リストは簡単に変更できるため、理想的なデータ構造です。 つまり、リンク リストの編集は、リスト内の要素の数に関係なく機能します。
21) PUSH と POP の違いは何ですか?
プッシュとポップは、データがスタックに格納および取得される方法に適用されます。 プッシュはデータが追加されることを意味し、データがスタックに「プッシュ」されることを意味します。 一方、ポップはデータの取得を意味し、特にアクセスされている最上位のデータを指します。
22) 線形探索とは何ですか?
線形検索とは、ターゲット キーがシーケンシャル データ構造内で検索される方法を指します。 このメソッドでは、リスト内の各要素がチェックされ、ターゲット キーと比較されます。 このプロセスは、見つかるまで、またはファイルの終わりに達するまで繰り返されます。
23) 変数宣言はメモリ割り当てにどのような影響を与えますか?
割り当てまたは予約されるメモリの量は、宣言される変数のデータ型によって異なります。 たとえば、変数が整数型であると宣言されている場合、その変数用に 32 ビットのメモリ ストレージが予約されます。
24) スタックに対するヒープの利点は何ですか?
ヒープはスタックよりも柔軟性があります。 これは、ヒープのメモリ領域を必要に応じて動的に割り当てたり割り当て解除したりできるためです。 ただし、ヒープのメモリは、そのスタックと比較すると低速になる場合があります。
25) 後置式とは何ですか?
後置式は、各演算子がそのオペランドの後に続く式です。 この形式の利点は、部分式を括弧でグループ化したり、演算子の優先順位を考慮したりする必要がないことです。
26) データ抽象化とは何ですか?
データ抽象化は、複雑なデータ問題を管理可能なチャンクに分割するための強力なツールです。 これは、データ オブジェクトがどのように表現されメモリに格納されるかを過度に気にすることなく、関係するデータ オブジェクトとこれらのデータ オブジェクトに対して実行される操作を最初に指定することによって適用されます。
27) 二分探索木に新しい項目を挿入するにはどうすればよいですか?
挿入されるデータが一意の値 (つまり、ツリー内の既存のエントリではない) であると仮定すると、最初にツリーが空かどうかを確認します。 空の場合は、ルート ノードに新しい項目を挿入するだけです。 空でない場合は、新しい項目のキーを参照します。 ルートのキーより小さい場合は、ルートの左側のサブツリーに挿入し、そうでない場合は、ルートの右側のサブツリーに挿入します。
28) 配列に対する選択ソートはどのように機能しますか?
選択ソートは非常に直感的なソート アルゴリズムですが、必ずしも効率的であるとは限りません。 このプロセスでは、最小の要素が最初に特定され、下付き文字 XNUMX の要素と置き換えられ、それによって最小の要素が最初の位置に配置されます。
次に、サブ配列内に残っている最小の要素が添字 1 ~ n-1 の隣に配置され、添字 1 の要素と交換され、XNUMX 番目に小さい要素が XNUMX 番目の位置に配置されます。 最後の要素まで同じ方法でステップが繰り返されます。
29) 符号付き数値と符号なし数値は記憶にどのような影響を与えますか?
符号付き数値の場合、最初のビットは正か負かを示すために使用されるため、8 ビットが不足します。 符号なしの数値を使用すると、その数値に使用できるすべてのビットが得られます。 この効果は数値範囲で最もよくわかります (符号なし 0 ビット数値の範囲は 255 ~ 8 ですが、符号付き 128 ビット数値の範囲は -127 ~ +XNUMX です)。
30) バイナリ ツリーが持つことができるノードの最小数はいくつですか?
バイナリ ツリーには最小でゼロのノードを含めることができます。これは、ノードが NULL 値を持つ場合に発生します。 さらに、バイナリ ツリーには 1 つまたは 2 つのノードを含めることもできます。
31) 動的データ構造とは何ですか?
動的データ構造は、プログラムの実行に応じて拡張および縮小する構造です。 データのサイズに応じて調整できるため、データを操作する柔軟な手段が提供されます。
32) ポインタはどのようなデータ構造に適用されますか?
リンク リストで使用されるポインタは、データ構造内でさまざまな用途に使用できます。 この概念を利用するデータ構造には、スタック、キュー、リンク リスト、バイナリ ツリーなどがあります。
33) すべての宣言ステートメントはメモリ内に固定予約をもたらしますか?
ポインタを除いて、ほとんどの宣言はこれに対応します。 ポインタ宣言では、データ用のメモリではなく、ポインタ変数のアドレス用のメモリが割り当てられます。 データに対する実際のメモリ割り当ては実行時に行われます。
34) ARRAY とは何ですか?
配列を扱う場合、データは、データ シーケンス内の要素番号を参照するインデックスを使用して保存および取得されます。 これは、データに任意の順序でアクセスできることを意味します。 プログラミングでは、配列は多数のインデックス付き要素を持つ変数として宣言されます。
35) プライオリティキューを実装する場合に必要なキューの最小数はどれくらいですか?
この場合に必要なキューの最小数は XNUMX です。 XNUMX つのキューは優先順位の並べ替えを目的としており、もう XNUMX つのキューは実際のデータの保存に使用されます。
36) どのソートアルゴリズムが最も速いと考えられていますか?
ソート アルゴリズムには、クイック ソート、バブル ソート、バルーン ソート、基数ソート、マージ ソートなど、さまざまな種類があります。各アルゴリズムは特定のデータ構造とデータ セットに合わせて設計されているため、どれが最も高速であるとは言えません。 それは並べ替えたいデータセットによって異なります。
37) STACK と ARRAY を区別します。
スタックは LIFO パターンに従います。 これは、データ アクセスが、最初のデータが抽出されるときに最後のデータが格納されるシーケンスに従うことを意味します。 一方、配列は特定の順序に従いません。代わりに、配列内のインデックス付き要素を参照することによってアクセスできます。
38) 二分探索木を探索するための基本的なアルゴリズムを教えてください。
1.ツリーが空の場合、ターゲットはツリー内に存在しないため、検索を終了します
2. ツリーが空でない場合、ターゲットはツリー内にあります
3. ターゲットがルート項目にあるかどうかを確認します
4. ターゲットがルート項目にない場合は、ターゲットがルートの値より小さいかどうかを確認します
5. ターゲットがルートの値より小さい場合は、左側のサブツリーを検索します
6. それ以外の場合は、適切なサブツリーを検索します
39) デキューとは何ですか?
デキューは両端のキューです。 両端からエレメントを抜き差しできる構造です。
40) バブルソートとは何ですか?どのように実行しますか?
バブル ソートは、配列などのデータ構造に適用できる並べ替え手法の XNUMX つです。 これは、隣接する要素を比較することで機能し、順序が間違っている場合は値を交換します。 この方法では、小さい値がリストの上部に「バブル」し、大きい値が下部に沈みます。
41) リンクリストの構成要素は何ですか?
リンクされたリストには通常、先頭と末尾の XNUMX つの部分があります。 頭と尾の間には実際のノードがあります。 これらすべてのノードは順番にリンクされます。
42) 選択の並べ替えはどのように機能しますか?
選択ソートは、リストから最小の番号を選択して先頭に配置することで機能します。 このプロセスは、リストの最後に向かって XNUMX 番目の位置に対して繰り返されます。 最も単純な並べ替えアルゴリズムです。
43) グラフとは何ですか?
グラフは、一連の順序付きペアを含むデータ構造の XNUMX つのタイプです。 これらの順序付きペアはエッジまたはアークとも呼ばれ、データを保存および取得できるノードを接続するために使用されます。
44) 線形データ構造と非線形データ構造を区別します。
線形データ構造とは、データ要素が隣接する構造である。 線形データ構造の例には、配列、リンク リスト、スタック、キューなどがあります。 一方、非線形データ構造は、各データ要素が XNUMX つ以上の隣接するデータ要素に接続できる構造です。 非線形データ構造の例には、ツリーやグラフなどがあります。
45) AVL ツリーとは何ですか?
AVL ツリーは、常に部分的にバランスが取れた状態にある二分探索ツリーの一種です。 バランスは、根からのサブツリーの高さの差として測定されます。 この自己平衡ツリーは、そのように設計された最初のデータ構造であることが知られています。
46) 二重リンクリストとは何ですか?
二重リンク リストは、データ要素間の走査を両方向に実行できる特殊なタイプのリンク リストです。 これは、すべてのノードに XNUMX つのリンク (XNUMX つは次のノードにリンクし、もう XNUMX つは前のノードに接続) を設けることで可能になります。
47) ハフマンのアルゴリズムとは何ですか?
ハフマンのアルゴリズムは、指定された重みから最小の重み付きパス長を持つ拡張バイナリ ツリーを作成するために使用されます。 これは、各データ要素の出現頻度を含むテーブルを利用します。
48) フィボナッチ検索とは何ですか?
フィボナッチ検索は、ソートされた配列に適用される検索アルゴリズムです。 分割統治アプローチを利用することで、ターゲット要素に到達するまでに必要な時間を大幅に短縮できます。
49) 再帰的アルゴリズムを簡単に説明します。
再帰的アルゴリズムは、問題をより小さな管理可能なサブ問題に分割することによって問題をターゲットにします。 XNUMX つのサブ問題を処理した後の XNUMX つの再帰の出力は、次の再帰プロセスへの入力になります。
50) リンクリスト内のターゲットキーをどのように検索しますか?
リンク リストでターゲット キーを見つけるには、順次検索を適用する必要があります。 各ノードが走査されてターゲット キーと比較され、異なる場合はリンクをたどって次のノードに進みます。 この走査は、ターゲットキーが見つかるか、最後のノードに到達するまで続きます。
これらの面接の質問は、あなたのビバ(口頭)にも役立ちます。 私たちの専門家チームは、次のリストを作成しました。 人事ラウンドの面接で最も一般的な質問と回答 データ構造の採用面接中に面接官が尋ねる可能性があること。
データ構造に関する非常に有益かつ基本的な質問です。
いいですね…しかし、さらに多くのトピックを取り上げる必要があります。
タンク…私にとってはとても効果的でした…
とても役に立ちました、ありがとう
ありがとう……。 これは私にとって本当に役に立ちます
ありがとう…とても助かりました…
ありがとう、それは最も重要な質問です
とても役に立ちました…
ありがとう、とても役に立ちました
Ty
ありがとう、このビバの声は私にとってとても大切なもので、あなたのページを見つけられてうれしいです、ありがとう♥
幸運を祈ります😊
管理者は非常にフルに使用しています。
とても助かります
とても助かりました、ありがとう
素敵な質問シリーズ
データ構造に関するいくつかの難しい質問もこれに含めていただけますか。
とても助かりました
とても有益でした
面白い。 そして役に立ちます
とても有益で役に立ちます…
良い…
Tysm..その言葉は私にとって助けになります..
データ構造に関するインタビューベースの質問について明確なアイデアを得ることができました。
とても参考になりました
ありがとう、とても役に立ちます
ありがとうございます…今日は私のビバです。おそらくこれらが最も好意的な質問になるでしょう…ありがとうございます。
とても助かります…ありがとう
IAM
政府試験の準備をしています。discareer.guru99 は役に立ちましたか、それとも役に立たなかったでしょうか、返信していただけますか
生天
役立つ質問
Tqsm それは私にとって非常に役に立ちます、ありがとう
とても有益です。すべてまとめてくれてありがとう
とても役に立ちました、ありがとう
それに対するメモ
とても便利 … わかりやすい
はい
素晴らしい!! 学習用の質問と回答は本当に簡単でシンプルで、最終的なテストは最高の価格でした!!
あなたの先生、ありがとうございまし
とても素敵な質問で助かりました。
いいですね…続けてください。
このような貴重な質問をしていただき、誠にありがとうございます…
優れた質問セットですが、さらに質問を追加する必要があります
ありがとう
とても助かりました、ありがとう……………………。
ありがとうございました
ありがとうございました
とても参考になりました
どうもありがとう
ありがとうございました
本当に助かりました。
ありがとうございました
Ty
本当にありがとうございます
重要な質問をありがとう
とても助かります。 さらにトピックを追加してください。 どうもありがとう
良いコレクションです