(21) 算法分析的目的是______。
A. 找出數(shù)據(jù)結(jié)構(gòu)的合理性
B. 找出算法中輸入和輸出之間的關(guān)系
C. 分析算法的易懂性和可靠性
D. 分析算法的效率以求改進
[答案]D
[考點]數(shù)據(jù)結(jié)構(gòu)與算法
[評析]
為什么要講各種各樣的算法,只要達到功能不就行了嗎?
有些場合為了讓程序效率更高,必須改進算法。
我們二級熟悉的算法改進,如二分法查找比順序查找更快,仔細分析這些算法以求效率改進。
再比如選擇排序、插值排序、冒泡排序,哪個效率高?
我們分析算法,可知如果序列初始比較有序的情況下,冒泡法效率最高。
各種例子都說明D是正確答案。
(22) n個頂點的強連通圖的邊數(shù)至少有______。
A. n-1
B. n(n-1)
C. n
D. n+1
[答案]C
[考點]數(shù)據(jù)結(jié)構(gòu)與算法
[評析]
此題超綱不用看啦!
圖這一節(jié)超綱,軟考的程序員的難度也不考的,等考三級也考不到,只有計算機四級與高級程序員或以上級別才考到。
關(guān)于圖的概念,我們在這里結(jié)合樹來講。
通過前面的一些題,我們了解了樹與二叉樹,其實樹也算是圖的一種,樹從上到下是一對多關(guān)系的,而圖不單從上到下,而且可以是任意的多對多聯(lián)系,它還可以有回路(結(jié)點與線合成回路),無方向的叫無向圖,有箭頭方向的叫有向圖。
連通圖(又叫弱連通圖):有頂點間存在通路(就是2點間有條路徑,從這可到那)(如果是有向圖,則略去方向)。
強連通圖:圖中任何兩點都可相互到達(有向圖不能略去方向)。強連通圖一定是弱連通圖。
此題問要是強連通圖至少應(yīng)有的邊數(shù),我們可以設(shè)想個一個環(huán)的特例,假設(shè)箭頭全部是順時針(或逆時針),可以構(gòu)成任何兩點都可到達的強連通圖,假設(shè)有n個頂點,我們很快得出它的邊數(shù)也為n。
(23) 已知數(shù)據(jù)表A中每個元素距其最終位置不遠,為節(jié)省時間,應(yīng)采用的算法是______。
A. 堆排序
B. 直接插入排序
C. 快速排序
D. 直接選擇排序 考試大論壇
[答案]B
[考點]數(shù)據(jù)結(jié)構(gòu)與算法
[評析]
做此題時,我們可以回想一下每個選項的排序原理。
堆排序是邊建堆邊排序的過程,而建堆排序時的效率元素距其最終位置的遠近關(guān)系不大。
插入排序是把每個元素挨個比較之前的元素,插入到合適的位置,這種排序的比較次數(shù)很不固定,它決定于每個元素距其最終位置。
快速排序的每一趟可確定一個元素的最終位置,但以某個元素為標準的比較次數(shù)還是得比較剩下所有的,它的最大的特點是序列初始無序的情況下排序最快。(初始有序并不是每個元素距其最終位置不遠,而是有一些最終相鄰的元素初始已經(jīng)相鄰了或大致左右的順序已經(jīng)好了)。
直接選擇排序,就是每一趟選擇序列剩下的元素的一個最大值(或最小值)挨個排在首端(或尾端),是人腦最常使用的方法,所以被人腦最易理解。在電腦上,這種排序效率不受其初始位置的影響。
茂葉特注:上述解釋都是我自己的理解,書上并沒有如此解釋,有錯誤還望大俠們指正!
(24) 用鏈表表示線性表的優(yōu)點是______。
A. 便于插入和刪除操作
B. 數(shù)據(jù)元素的物理順序與邏輯順序相同
C. 花費的存儲空間較順序存儲少
D. 便于隨機存取
[答案]A
[考點]數(shù)據(jù)結(jié)構(gòu)與算法
[評析]
我們知道,如果是緊湊排列的話,數(shù)組在刪除一個其中一個元素時極為不方便,因為它需要把后面的元素都要往前移一個位置(插入的話則往后移)。而用鏈表就絕然不同了,它只需要改變指針的指向,指向這指向那的,其它元素都不用動。
所以便于插入和刪除操作。
(25) 下列不屬于結(jié)構(gòu)化分析的常用工具的是______。
A. 數(shù)據(jù)流圖
B. 數(shù)據(jù)字典
C. 判定樹
D. PAD圖
[答案]D
[考點]軟件工程基礎(chǔ)
[評析]
通過前面題的解釋,數(shù)據(jù)流圖屬于分析階段相信大家都有所了解了。
數(shù)據(jù)字典也是一種分析階段的工具。什么叫數(shù)據(jù)字典,我們可以這樣理解。假設(shè)給了你一個數(shù)據(jù)流圖,但上面的文字說明,比如"看書"、"練習(xí)"、"考試"、"拿證書"…(假設(shè)這些是數(shù)據(jù)(知識)的處理過程,但可能有些人認為有個"測試",實際上他的意思是"考試",如果寫在數(shù)據(jù)流圖上,其它人認為是"練習(xí)測試"的意思,這就造成了數(shù)據(jù)流圖不一致的理解,而數(shù)據(jù)流圖是開發(fā)人員和用戶都能看懂的,理解肯定是一致的。所以必須有個數(shù)據(jù)字典,它標識了數(shù)據(jù)流圖的所有名詞述語,就好比我們用英漢詞典一樣,不會再有不一致的理解了。
判定樹和判定表都是加工描述方法,當(dāng)然也是分析階段的。
PAD圖(問題分析圖)是詳細設(shè)計階段的工具,它的作用類似于程序流程圖和N-S圖。
關(guān)于程序流圖和N-S圖,二級很多科目都有介紹,前面的題中我也解釋過。
(26) 軟件開發(fā)的結(jié)構(gòu)化生命周期方法將軟件生命周期劃分成______。
A. 定義、開發(fā)、運行維護
B. 設(shè)計階段、編程階段、測試階段
C. 總體設(shè)計、詳細設(shè)計、編程調(diào)試
D. 需求分析、功能定義、系統(tǒng)設(shè)計
[答案]A
[考點]軟件工程基礎(chǔ)
[評析]
我們可從一個軟件的從無到有的過程來看,就是分析人員先分析,開發(fā)人員再開發(fā),最終運行和維護。
(27) 在軟件工程中,白箱測試法可用于測試程序的內(nèi)部結(jié)構(gòu)。此方法將程序看做是______。
A. 循環(huán)的集合
B. 地址的集合
C. 路徑的集合
D. 目標的集合
[答案]C
[考點]軟件工程基礎(chǔ)
[評析]
白盒測試,我們要深入源代碼的內(nèi)部;而黑盒測試,我們只關(guān)心輸入與輸出數(shù)據(jù)是否符合要求。
(28) 在數(shù)據(jù)管理技術(shù)發(fā)展過程中,文件系統(tǒng)與數(shù)據(jù)庫系統(tǒng)的主要區(qū)別是數(shù)據(jù)庫系統(tǒng)具有______。
A. 數(shù)據(jù)無冗余
B. 數(shù)據(jù)可共享
C. 專門的數(shù)據(jù)管理軟件
D. 特定的數(shù)據(jù)模型
[答案]D
[考點]數(shù)據(jù)庫設(shè)計基礎(chǔ)
[評析]
文件根據(jù)一些壓縮技術(shù)也可減少冗余,數(shù)據(jù)庫也有冗余,只是比文件少;
文件也可共享,只是比數(shù)據(jù)庫共享性能差;
也有專門的文件管理軟件;
數(shù)據(jù)庫發(fā)展的模型依次是:
層次模型、網(wǎng)狀模型、關(guān)系模型、面向?qū)ο竽P汀?/P>
其中關(guān)系模型目前應(yīng)用最廣泛。
(29) 分布式數(shù)據(jù)庫系統(tǒng)不具有的特點是______。
A. 分布式
B. 數(shù)據(jù)冗余
C. 數(shù)據(jù)分布性和邏輯整體性
D. 位置透明性和復(fù)制透明性
[答案]B
[考點]數(shù)據(jù)庫設(shè)計基礎(chǔ)
[評析]
如果論特點,當(dāng)然是優(yōu)點,數(shù)據(jù)冗余是種害處,怎能論特點?
何況分布式數(shù)據(jù)庫還減少了冗余。
(30) 下列說法中,不屬于數(shù)據(jù)模型所描述的內(nèi)容的是______。
A. 數(shù)據(jù)結(jié)構(gòu)
B. 數(shù)據(jù)操作
C. 數(shù)據(jù)查詢
D. 數(shù)據(jù)約束
[答案]C
[考點]數(shù)據(jù)庫設(shè)計基礎(chǔ)
[評析]
數(shù)據(jù)模型的三要素
1.數(shù)據(jù)結(jié)構(gòu)
數(shù)據(jù)結(jié)構(gòu)用于描述系統(tǒng)的靜態(tài)特性。在數(shù)據(jù)庫系統(tǒng)中,通常按照其數(shù)據(jù)結(jié)構(gòu)的類型來命名數(shù)據(jù)模型。
2.數(shù)據(jù)操作
數(shù)據(jù)操作用于描述系統(tǒng)的動態(tài)特征。數(shù)據(jù)操作是指對數(shù)據(jù)庫中各種對象(型)的實例(值)允許執(zhí)行的操作的集合,包括操作及有關(guān)的操作規(guī)則。操作有檢索、插入、刪除、修改。
3.數(shù)據(jù)完整性約束
數(shù)據(jù)完整性約束是一組完整性規(guī)則的集合。完整性規(guī)則是給定的數(shù)據(jù)模型中數(shù)據(jù)及其聯(lián)系所具有的制約和儲存規(guī)則,用以限定符合數(shù)據(jù)模型的數(shù)據(jù)庫狀態(tài)以及狀態(tài)的變化,以保證數(shù)據(jù)的正確、有效和相容。數(shù)據(jù)模型應(yīng)該反映和規(guī)定本數(shù)據(jù)模型必須遵守的、基本的、通用的完整性約束。此外,數(shù)據(jù)模型還應(yīng)該提供定義完整性約束的機制,以反映具體應(yīng)用所涉及的數(shù)據(jù)必須遵守的特定的語義約束。
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |