中國人民公安大學2004年碩士研究生入學考試計算機軟件技術基礎試題
中國人民公安大學2004年碩士研究生入學考試計算機軟件技術基礎試題內容簡介
中國人民公安大學2004年碩士研究生入學考試計算機軟件技術基礎試題
一、名詞解釋和名詞比較(每題5分,共30分)
1.樹
2.虛擬存儲管理
3.管理信息係統
4.計算機病毒
5.比較數據與信息
6.比較投影運算和選擇運算
二、簡答題(每題10分,共60分)
1.給定一個不帶頭結點的線性鏈表(頭指針為head),如何實現在一個結點p的前麵插入一個結點s?要求寫出具體的實現算法,描述語言采用類C語言。
2.在一個任意二叉樹中,若有n0個葉子結點,n2個度為2的結點,請問n0和n2之間存在什麼關係?要求給出證明過程。
3.操作係統中,產生死鎖的原因和必要條件分別是什麼?
4.軟件工程中,為什麼采用原型法作為係統分析與設計的一個工具?實現原型的一般途徑是什麼?
5.簡要說明開放係統互聯參考模型OSI各層協議的功能。
6.計算機網絡安全要求包括幾個方麵?
三、綜合題(第1題25分,第2題20分,第3題15分,共60分)
1.假設有三個分別命名為a、b、c的塔座,在塔座a上插有3個直徑大小各不相同、依小到大編號為1,2,3的圓盤。現要求將塔座a上的3個圓盤移至塔座c上並且仍按同樣順序疊排。圓盤移動時必須遵守下列規則:
1)每次隻能移動一個圓盤;
2)圓盤可以插在a、b、c中的任一塔座上;
3)任何時刻都不能將一個較大的圓盤壓在較小的圓盤之上。
下麵給出了符合上述要求的實現圓盤的移動操作的類C語言算法。
void hanoi(int n, char x, char y, char z)
//注釋:將塔座x上按直徑由小到大且自上而下編號為1至n的n個圓盤按規則搬到塔//座z上,y用作輔助塔。搬動操作move(x,n,z)定義為將編號為n的圓盤從x移到z。
1 {
2if (n==1)
3move(x,1,z);
4else {
5hanoi(n-1,x,z,y);
6move(x,n,z);
7hanoi(n-1,y,x,z);
8}
9}
請根據以上說明完成下述
..............................