近年の鄭州軽工業大学のデータ構造試験論文

近年のデータ構造試験紙:

リンク: https://pan.baidu.com/s/1_ns6dbps8i6UyLN5RNJJiw?pwd=g3z2 
抽出コード: g3z2

2019-2020 (2) データ構造 本試験用紙 
 
1. 短答式問題(全10問、100点) 
1. ある二分木のプレオーダー列とインオーダー列は、それぞれABDGEHCFIとDGBHEACIFであることがわかっています。そして、その二分木に対応する森を描画します。
 
正解: 
8 点中、二分木 4 点、フォレスト 4 点。
 
 
 
分析: 
 
2. 初期状態が空であるバランスのとれたバイナリ ソート ツリーにノード (50、75、80、35、40、28、63、51、8、21) を順番に挿入します。これにより、ツリーはバランス a のままになります。二分木。挿入とバランスの過程を順番に描いてください。
 
正解: 
正しく挿入されたノードごとに 10 ポイント中 1 ポイント。
 
 
 
 
 
分析: 
 
3. コミュニケーションに使用されるメッセージが a、b、c、d、e、f、g、h の文字で構成されており、メッセージ内に出現する文字の頻度が 3、8、12、21、17 であると仮定します。 、19、4、16。
(1) 構築したハフマン木を描画します (構築過程を描画します);
(2) 各文字のハフマン コードを与えます。
正解: 
ハフマン木の答えは一意ではありません。
構築プロセスは 7 つのステップであり、各ステップで 1 ポイントが付与されます。正しいコーディングには 3 ポイント。
 
 
分析: 
 
4. 既知の重み付き無向グラフの隣接行列を次の図に示します
 
(1) グラフとその隣接リストを描画してください;
(2) 頂点 A から開始して、グラフの深さ優先の走査シーケンスと幅を書き込みます-first traversal sequence;
(3) 頂点 A から開始し、Prim のアルゴリズムを使用してグラフの最小全域木を見つけ、解のプロセスを描画します。
正解: 
(1) 正しいグラフには 4 ポイント、正しい隣接リストには 4 ポイント (隣接リストは一意ではありません)。
 (1) グラフが正しい場合は 4 ポイント、隣接リストが正しい場合は 4 ポイント (隣接リストは一意ではありません)。
 
 (1) グラフが正しい場合は 4 ポイント、隣接リストが正しい場合は 4 ポイント (隣接リストは一意ではありません)。
 
 



 
(2) それぞれの正しいシーケンスは 1 ポイントを獲得し (トラバーサル シーケンスは一意ではありません)、合計 2 ポイントを獲得します。
DFS シーケンス:ABECFDG
BFS シーケンス:ABCDEFG
(3) 最小スパニングツリーは 1 ステップあたり 1 ポイント、合計 6 ポイントです。
 分析
 

 
5. AOE ネットワークは重み付き有向グラフです。グラフの頂点はイベントを表し、有向辺はアクティビティを表し、辺の重みはアクティビティを完了するコストを表します。特定のプロジェクトが複数のアクティビティに分解できると仮定して、次の図はプロジェクトのさまざまなアクティビティ間の優先関係と各アクティビティに必要な時間を示しています。以下の質問に答えてください。


(1) 2 つのトポロジカル ソート シーケンスを書き出します;
(2) 各イベントおよび各アクティビティの最も早い発生時刻と最も遅い発生時刻を見つけます。
(3) クリティカル パスを見つけて、プロジェクトを完了するために必要な最小時間を指定します。
 
正解: 
(1) トポロジカル ソート シーケンスは正しく 2 ポイントを獲得します (シーケンスは一意ではありません)
     v1,v2,v4,v5,v3,v6,v7,v8
    v1,v2,v3,v4,v5,v6,v7 ,v8
 
(3 ) を入力すると、正解で 2 ポイントを獲得できます。
時間余裕が 0 のアクティビティ: A、E、L、M、クリティカル パスは v1、v2、v6、v7、v8
プロジェクトに必要な最小時間は 11 です。
 
 
解析: 
 
6. 下図に示す 3 次 B ツリーに対して、以下の操作を順番に実行し、各ステップの結果を描画します。
(1) 65 個挿入 (2) 25 個挿入 (3) 55 個挿入 (4) 100 個削除 (5) 80 個削除
 
正解: 
1 問正解につき 2 点。
 
 
分析: 
 
7. 検索キーワードのセット (32、15、7、11、4、28、56、61、79) が与えられた場合、ハッシュ テーブルの長さは m=12 です。剰余法に従ってハッシュを設計してください。各レコードの検索確率が等しいと仮定した関数。
(1) 競合を線形検出で処理してハッシュ化(解決処理を与える)したハッシュテーブルを描画し、検索成功時と失敗時の平均検索長を計算する。
(2)チェーンアドレス法により競合処理を行ったハッシュテーブルを描画し、検索成功時と失敗時の平均検索長を計算する。
正解: 
各クイズには 5 ポイントの価値があり、そのうち 3 ポイントはハッシュ テーブルの正しい構築に対して与えられ、1 ポイントは平均検索長の正しい計算に対して与えられます。ハッシュ関数の例: H(key) = kye % 11.
(1) 線形検出と再ハッシュ
H(32) = 32 % 11 = 10
H(15) = 15 % 11 = 4
H(7) = 7 % 11 = 7
H(11) = 11 % 11 = 0
H ( 4) = 4 % 11 = 4 (4+1) % 12 = 5
H(28) = 28 % 11 = 6
H(56) = 56 % 11 = 1
H(61) = 61 % 11 = 6 (6 + 1) % 12 = 7; (6+2) % 12 = 8
H(79) = 79 % 11 = 2
 
検索成功時の平均検索長: ASL = (7*1 + 1*2 + 1* 3)/ 9 = 12/9 = 4/3;
ルックアップが失敗した場合の平均ルックアップ長: ASL = (4+3+2+1+6+5+4+3+2+1+2)/11 = 33/ 11 = 3。
(2) チェーンアドレス法:
  
検索成功時の平均検索長:ASL = (7*1 + 2*2)/9 = 11/9、
検索失敗時の平均検索長:ASL = (2*5) + 1*4 + 3*2)/11 = 20/11。
 
分析: 
 
8. あなたが知っているできるだけ多くの安定したソート方法と不安定なソート方法をリストし、不安定性を証明するためにそれぞれの不安定なソート方法の例を示してください。
 
正解: 
安定したソート方法には、直接挿入ソート、バブル ソート、マージ ソート、および連鎖基数ソートが
含まれます。(2 ポイント) 不安定なソート方法には、ヒル ソート、クイック ソート、単純選択ソート、およびヒープ ソートが含まれます。(2 ポイント)
例:
シーケンス 1 3 2 2、ヒル ソート後は 1 2 2 3、(1 ポイント)
シーケンス 2 2 3 1、クイック ソート後は 1 2 2 3、(1 ポイント)
シーケンス 2 3 2 1 、ヒープソート後は 1 2 2 3; (1 点)
シーケンス 2 2 3 1、単純選択ソート後は 1 2 2 3; (1 点)
 
分析: 
 
9. 単一リンクリスト構造の定義は次のとおりです:
typedef struct LNode{    int data ;    struct LNode *next; }LNode, *LinkList;先頭ノードを持つ単一リンクリスト L が与えられた場合、リスト内の各ノード要素の値は一意であるため、各ノードの要素値を出力します単一リンクリストを降順に並べ、占有ストレージスペースを解放します (要件: アルゴリズムのスペース複雑度は O(1))。アルゴリズムの記述には C または C++ 言語を使用してください。正解: 採点基準は以下の通りです。(1) 課題で必要な機能が実現でき、アルゴリズムが正しく、表現が明確で、コードが標準化されている 8点(2) 課題で必要な機能が実現できる実現でき、アルゴリズムに論理的誤りがなく、コード表現に文法上の誤りが若干ある(事務的な誤りの性質)。7~8点獲得できる。 (4) 主題が要求する機能を実現でき、アルゴリズムがバグ(特殊な入力の場合、正しい結果が得られない場合がある)、4~6点獲得可能(5) コア関数の実装方法を表現できる、アルゴリズムに論理的誤りがある、2~3点獲得可能










*LinkList;先行ノードを持つ単一リンクリスト L が与えられた場合、テーブル内のノード要素の値は一意です。直接挿入ソート方法を使用して L 内のノードを値の降順に並べ、時間を分析してみてください。アルゴリズムの複雑さ。アルゴリズムの記述には C または C++ 言語を使用してください。正解: 


















 

 







採点基準は以下の通りです。
(1) 課題で必要な機能が実現でき、アルゴリズムが正しく、表現が明確で、コードが標準化されている 8点
(2) 課題で必要な機能が実現できる、アルゴリズムに論理エラーがなく、コード式に少量の文法エラー(事務的なエラーの性質)がある)、7〜8点を獲得できます。 (4)トピックで必要な機能を実現でき、アルゴリズムにバグがあり
ます(特殊な入力の場合、正しい結果が得られない場合があります)、4~6点を獲得できます
(5) コア機能を表現できている アルゴリズムに論理的な誤りがある場合、2~3点が与えられます
。コア関数が実装されていない場合、アルゴリズムに重大な論理エラーがある場合、0 ~ 2 点が与えられます。参考コードは次
のとおりです。
void Sort(LinkList &L)
{  p = L-> next->next;        L->next- >next=NULL;      while( p!=NULL){    q = p->next;              pre = L;                  while( pre->next!=NULL && pre->next-> data > p-data){       pre = pre ->data;    }    p->next = pre->next;      pre->next = p;    p=q;                  } }時間計算量は O( )解析です。 














 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Supongo que te gusta

Origin blog.csdn.net/qq_61228493/article/details/131425393
Recomendado
Clasificación