2007年電子科技大學(xué)計算機專業(yè)基礎(chǔ)試題

字號:

第一部分 數(shù)據(jù)結(jié)構(gòu) (共 75分)
    一、單項選擇題(每題 2分,共10分)
    1.表頭表尾均為空表的廣義表是( )。
    ① () ② (()) ③ ((),()) ④ ((()))
    2. 對 下列 4個序列,以第一個關(guān)鍵字為基礎(chǔ)進(jìn)行用快速排序算法進(jìn)行排序,在第一趟過程中移動記錄次數(shù)最多的是 ( )
    ① 92,96,100,110,42,35,30,88
    ② 92,96,88,42,30,35,110,100
    ③ 100,96,92,35,30,110,88,42
    ④ 42,30,35,92,100,96,88,110
    3. 實現(xiàn)圖的廣度優(yōu)先搜索算法時,使用的數(shù)據(jù)結(jié)構(gòu)是 ( )
    ① 棧
    ② 隊列
    ③ 十字鏈表
    ④ 三元組
    4.在有向圖G的鄰接矩陣中,頂點Vi 的度是 ( )。
    ① 鄰接矩陣中第 i行元素之和
    ② 鄰接矩陣中第 i列元素之和
    ③ 鄰接矩陣中第 i行和第i列元素之和
    ④ 鄰接矩陣中第 i行元素之和與第i列元素之和的值
    5.能有效縮短關(guān)鍵路徑長度的方法是( )
    ① 縮短任意一個活動的持續(xù)時間
    ② 縮短關(guān)鍵路徑上任意一個關(guān)鍵活動的持續(xù)時間
    ③ 縮短多條關(guān)鍵路徑上共有的任意一個關(guān)鍵活動的持續(xù)時間
    ④ 縮短所有關(guān)鍵路徑上共有的任意一個關(guān)鍵活動的持續(xù)時間
    二、填空題(每空 2分,共 8 分)
    1. 由一棵二叉樹的后序序列和 可確定這棵二叉樹。
    2. 二叉樹結(jié)點數(shù) n與邊數(shù)e的關(guān)系為 。
    3. 在各種查找算法中,平均查找長度與關(guān)鍵字個數(shù) n無關(guān)的方法是 。
    4. 若希望得到樹高較矮的生成樹,則采用圖的 遍歷算法。
    三、判斷題(用√表示對,用×表示錯。每題 2分,共 12 分)
    1. 循環(huán)隊列中不存在隊列滿的問題。( )
    2. 將一個新結(jié)點插入到二叉排序樹中,該結(jié)點一定成為葉結(jié)點。( )
    3. 用單鏈表示的有序表可以使用折半查找方法來提高查找速度。( )
    4. 若有向圖中每個頂點的入度和出度均為 1,則該有向圖必有回路。( )
    5. 已知二叉排序樹的先序序列,能確定該二叉排序樹。( )
    6. 交換完全二叉樹所有結(jié)點的左右子樹,得到的二叉樹仍是完全二叉樹。( )
    四、簡答題(每題 6分,共 30 分)
    1.若一個有向圖的鄰接矩陣中主對角線以下的元素均為0,則該圖一定不存在回路。該說法是否正確?為什么?
    2. 在完全二叉樹中,設(shè)結(jié)點數(shù)為 n,
    ( 1)如何斷定該完全二叉樹中度為1的結(jié)點數(shù)n1?
    ( 2)給定結(jié)點x的編號m,又如何根據(jù)該編號斷定x是否為葉結(jié)點?
    3. 當(dāng)查找表有既能較快查找又能適應(yīng)動態(tài)變化的需求時,選用什么查找方法最適合?并簡述其理由。
    4. 在某個通信系統(tǒng)中,報文的字符集為 a,b,c,d,e,f,g,h八種,其出現(xiàn)頻率分別為6,28,8,9,13,22,4和1,試為各字符設(shè)計二進(jìn)制編碼,使得報文編碼長度最短。給出各字符的二進(jìn)制編碼和報文編碼長度。
    5. 設(shè) L是不帶頭結(jié)點單鏈表的頭指針,P是指向鏈表中某個結(jié)點的指針,該結(jié)點既不是第一個結(jié)點,也不是最后一個結(jié)點,S是指向待插入新結(jié)點的指針,用下面 ① -- ⑦選項完成 A、B功能。
    A. 在P所指結(jié)點前面插入 S所指結(jié)點的語句序列是( );
    B. 在第一個結(jié)點前面插入 S所指結(jié)點的語句序列是( );
    ① P↑.next :=S;
    ② Q:= P;
    ③ L:= S;
    ④ P:= L;
    ⑤ WHILE ( P↑.next <> Q ) DO P:= P↑.next;
    ⑥ S↑.next:= P↑.next;
    ⑦ S↑.next:= L↑.next;
    五、算法題(共 15 分)
    1. 設(shè)p,q分別指向兩個不帶頭結(jié)點的單循環(huán)鏈表中的某個結(jié)點,試編寫一個算法,用O(1)時間將這兩個單鏈表合并為一個,并令p指向p和q兩者data域值較小的結(jié)點。(5分)
    PROC xyz( p, q );
    { p,q分別指向兩個不帶頭結(jié)點的單循環(huán)鏈表中的某個結(jié)點,結(jié)點結(jié)構(gòu)為數(shù)據(jù)域data和指針域next}
    ENDP;
    2. 設(shè)二叉樹采用二叉鏈表存儲,結(jié)點結(jié)構(gòu)為 lchild、data和rchild,試編寫輸出二叉樹中從根結(jié)點到每個葉結(jié)點的路徑的算法。設(shè)二叉樹最長路徑結(jié)點個數(shù)小于m,可以使用隊列S[1:m],初始時S.rear=S.front=1。(10分)
    PROC RootToLeaf(bt:bitreptr );
    { bt為二叉樹根指針,S[1:m]為隊列, 初始時S.rear=S.front=1}
    ENDP;{ RootToLeaf }
    第二部分 操作系統(tǒng) (共 75分)
    六、單項選擇題(在每小題 2分,共 20 分)
    1. 在 UNIX中的索引結(jié)點可以看成:( )
    ① 文件目錄
    ② 文件相關(guān)信息說明
    ③ 設(shè)備控制塊
    ④ 訪問的主機對象
    2.根據(jù)作業(yè)說明書中的信息,對作業(yè)進(jìn)行控制, 稱此種作業(yè)為( )
    ①計算型作業(yè)
    ②終端型作業(yè)
    ③聯(lián)機作業(yè)
    ④脫機作業(yè)
    3.不會產(chǎn)生內(nèi)部碎片的存儲管理( )。
    ① 分頁式存儲管理
    ② 分段式存儲管理
    ③ 固定分區(qū)式存儲管理
    ④ 段頁式存儲管理
    4.空白表中,空白區(qū)按其長度由小到大進(jìn)行查找的算法稱為( )算法。
    ① 適應(yīng)
    ② 最差適應(yīng)
    ③ 最先適應(yīng)
    ④ 先進(jìn)先出
    5.為使虛存系統(tǒng)有效地發(fā)揮其預(yù)期的作用,所運行的程序應(yīng)具有的特性是( )。
    ① 該程序不應(yīng)含有過多的I/O操作
    ② 該程序的大小不應(yīng)超過實際的內(nèi)存容量
    ③ 該程序應(yīng)具有較好的局部性(Locality)
    ④ 該程序的指令相關(guān)不應(yīng)過多。
    6.快表在計算機系統(tǒng)中是用于( )的。
    ① 存儲文件信息
    ② 與主存交換信息
    ③ 地址變換
    ④ 存儲通道程序
    7.在下列文件中,不便于文件增、刪操作的是( )。
    ① 索引文件
    ② 連續(xù)文件
    ③ Hash文件
    ④ 串聯(lián)文件
    8.在采用SPOOLing技術(shù)的系統(tǒng)中,用戶的打印數(shù)據(jù)首先被送到( )。
    ① 磁盤固定區(qū)域
    ② 內(nèi)存固定區(qū)域
    ③ 終端
    ④ 打印機
    9.如果I/O設(shè)備與存儲設(shè)備間的數(shù)據(jù)交換不經(jīng)過CPU來完成,則這種數(shù)據(jù)交換方式是( )
    ① 程序查詢方式
    ② 中斷方式
    ③ DMA方式
    ④ 無條件存取方式
    10.在可變式分區(qū)存儲管理中的拼接技術(shù)可以( )。
    ① 縮短訪問周期
    ② 增加主存容量
    ③ 加速地址變換
    ④ 使空閑區(qū)集中
    七、多項選擇題(在每小題的五個備選答案中,選出二個至五個正確的答案 ,并將其號碼分別填在題干的括號內(nèi),多選,少選、錯選,均無分。每小題2分,共10分)
    1. 采用按序分配資源策略的目的是( )
    ① 預(yù)防死鎖的方法
    ② 占有且等待資源
    ③ 非搶奪資源
    ④ 破壞循環(huán)等待資源
    ⑤ 互斥使用資源
    2.如果系統(tǒng)中有N個進(jìn)程,則在等待隊列中的進(jìn)程個數(shù)可能為( )。
    ① 1
    ② N
    ③ N-1
    ④ N-2
    ⑤ N+1
    3.一個進(jìn)程被喚醒意味著( )。
    ① 該進(jìn)程重新占有了CPU
    ② 它的優(yōu)先權(quán)變?yōu)?BR>    ③ 其PCB移到等待隊列隊首
    ④ 進(jìn)程變?yōu)榫途w狀態(tài)
    ⑤ 進(jìn)程獲得了資源,具備了運行條件
    4.當(dāng)用戶程序執(zhí)行訪管指令時,中斷裝置將使中央處理器( )
    ① 維持在目態(tài)
    ② 從目態(tài)轉(zhuǎn)換到管態(tài)
    ③ 從管態(tài)轉(zhuǎn)換到目態(tài)
    ④ 維持在管態(tài)
    ⑤ 從管態(tài)轉(zhuǎn)換到目態(tài)執(zhí)行系統(tǒng)調(diào)用
    5.采用動態(tài)重定位方式裝入的作業(yè),在執(zhí)行中允許( )。
    ① 用戶有條件地移動
    ② 地址變換
    ③ 操作系統(tǒng)有條件地移動
    ④ 操作系統(tǒng)無條件地移動
    ⑤ 用戶無條件地移動
    八、判斷并改錯題(正確的劃上 “√”,錯誤的劃上“╳”,每小題2分,共20分)
    1.( )在串信通信中引入緩沖區(qū),假設(shè)增加一位緩沖區(qū)則可以放寬1個單位的中斷響應(yīng)時間,給定8位緩沖則放寬8個單位的中斷響應(yīng)時間。
    2.( )分頁存儲管理采用重定位技術(shù)實現(xiàn)頁式地址變換的。
    3.( )在頁式管理中采用可變分配局部置換能使系統(tǒng)中的物理塊得到充分利用,但有可能影響其他進(jìn)程的運行。
    4.( )索引順序文件是按記錄鍵排序的。
    5.( )設(shè)備控制器是CPU與I/O設(shè)備之間的接口,它接收從CPU發(fā)來的命令,并控制I/O設(shè)備工作。
    6.( )程序鏈接是討論程序怎樣裝入內(nèi)存的方法。
    7.( )銀行家的算法中的安全檢查就是檢查系統(tǒng)是否存在安全序列。
    8.( )在有線程和進(jìn)程的系統(tǒng)中,CPU的占用是由線程調(diào)度和進(jìn)程調(diào)度協(xié)調(diào)進(jìn)行的,才能保證CPU的正常執(zhí)行。
    9.( )對換空間管理的主要目標(biāo)是提高進(jìn)程換入和換出的速度。
    10.( )多級反饋隊列靜態(tài)調(diào)度算法,能較好地滿足各種類型用戶的需求。
    九、簡答題 (共 25分)
    1.(9分)某系統(tǒng)采用頁式存儲管理策略擁有邏輯空間32頁,每頁2K,擁有物理空間1M。寫出頁的邏輯地址格式。若不考慮訪問權(quán)限等,進(jìn)程的頁表有多少項?每項至少有多少位?如果物理空間減少一半,頁表相應(yīng)作怎樣的改變?
    2.(8分)一個多道程序系統(tǒng),用戶空間為100K,有四臺打印機;采用在主存的作業(yè)不能移動的動態(tài)分區(qū)方式管理主存。主存空間采用首次適應(yīng)算法,靜態(tài)分配打印機,對作業(yè)采用計算時間短的作業(yè)優(yōu)先調(diào)度算法管理。今有如下所示的作業(yè)序列,請分別列出各個作業(yè)的開始執(zhí)行時間、完成時間和周轉(zhuǎn)時間(按十進(jìn)制計算)。注意:忽略系統(tǒng)開銷。
    作業(yè)名 進(jìn)入輸入井的時間 需計算時間 需打印機臺數(shù) 主存需求量
    JOB1 8.0時 1小時 2臺 20K
    JOB2 8.2時 0.6小時 1臺 60K
    JOB3 8.4時 0.5小時 1臺 25K
    JOB4 8.6時 1小時 3臺 20K
    JOB5 9.0時 0.5小時 2臺 20K
    3.(8分)假設(shè)一個文件系統(tǒng)基于索引分配策略來管理塊,假設(shè)每個文件有一個目錄項,該目錄項可給出文件名字、第一個索引塊以及文件的長度。第一個索引塊最多依次指向249個文件數(shù)據(jù)塊并且指向下一個索引塊。如果文件的當(dāng)前位置在邏輯塊1992處,并且下一個操作將訪問邏輯塊308,那么必須從磁盤中讀取多少個物理塊?解釋一下您的答案。