當前位置:首頁 » 服務存儲 » 存儲空間和比較次數
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

存儲空間和比較次數

發布時間: 2022-08-16 16:25:14

Ⅰ 判斷題: 插入排序演算法將數據交換次數降到了O(N). ()

最多(n-1)(n+4),都是O(n*log2n),最多為3(n-1),基數排序,是穩定的排序!;是不穩定的排序,是穩定的排序;

2 折半插入排序;2,希望對你有幫助;
使用一個輔存空間,希望列舉的對你有幫助;
使用一個輔存空間,a[0]做「哨兵」(即a[0]不存數據: 比較最少為;
移動次數最少為0:n-1次;

4 簡單選擇排序:比較和移動次數最少時間復雜度表示為O(n*log2n),2-路插入排序 等等很多的排序方法: 比較和移動次數沒有好壞之分;

3 冒泡排序;
使用一個輔助存儲空間,最多時間復雜度表示為O(n2)!
比如n個順序存儲元素進行排序;2
移動次數 最少0,而是用作輔存空間使用)的情況
1 直接插入排序,是穩定的排序:比較次數 最少與最多同,最多時間復雜度表示為o(n2),最多為n的平方;

7 2-路歸並排序,這里就不一一列舉了;

6 堆排序;2
使用一個輔助存儲空間,都是n*log2n(其中2為底;
移動次數最少為0,是不穩定的排序:比較和移動次數沒有好壞之分,下邊表示同),是穩定的排序;
需要n個輔助存儲空間:比較次數 最少n-1次;最多(n-1)(n+2),以下也如此表示);(n的平方;

另外還有很多的排序方法如 希爾排序,最多時間復雜度為O(n2),是穩定的排序;
比較和移動次數最多的時間復雜度表示為O(n2),各種排序說的也太多了;
使用一個輔存空間,都是O(n*log2n);
使用的輔助存儲空間最少為log2n: 比較次數沒有多少之分,這里講幾種簡單的吧;

5 快速排序都不知道怎麼回答,均是n(n-1),
移動次數 最少0


數據結構 嚴蔚敏版

Ⅱ 計算機二級公共基礎知識要點

為了方便計算機等級試,特意整理出來的。第一章數據結構與演算法1演算法是解題方案的准確而完整的描述,它不等於程序,也不等於計算方法。基本特徵:可行性、確定性、有窮性、擁有足夠的情報。2演算法復雜度主要包括時間復雜度和空間復雜度。時間復雜度:用來衡量演算法執行過程中所需要的基本運算次數。空間復雜度:用來衡量演算法執行過程中所需要的存儲空間。3數據結構研究的主要內容:(1)數據的邏輯結構(2)數據的存儲結構(3)對各種數據結構進行的運算4研究數據結構的主要目的:提高數據處理的效率。5數據結構的定義:指相互關聯的數據元素的集合。6數據的邏輯結構反映數據元素之間的邏輯關系,數據的存儲結構是數據的邏輯結構在計算機存儲空間的存放形式。同一種邏輯結構可以採用不同存儲結構,但影響數據處理效率。7數據結構分為兩大類型:線性結構與非線性結構常見線性結構:線性表、棧、隊列、線性鏈表常用非線性結構:樹、二叉樹、圖8線性表示由n(n>=0)個相同類型的數據元素構成的有限序列。結構特徵:(1)數據元素在表中的位置由序號決定,數據元素之間的相對位置是線性的(2)對於一個非空線性表,有且只有一個根節點a1,它無前件,有且只有一個終端結點an,它無後件,除根結點與終端結點外,其他所有結點有且只有一個前件,也有且只有一個後件。基本存儲結構:(1)順序存儲(2)鏈式存儲9順序表的插入運算時需要移動元素,在等概率情況下,平均需要移動n/2個元素。10進行順序表的刪除運算時也需要移動元素,在等概率情況下,平均移動(n-1)/2個元素。11棧只能在棧頂插入或刪除元素,是一種先進後出FILO(或稱為後入先出LIFO)的線性表。12隊列是只能從隊尾插入元素,在隊頭刪除元素,是一種先進先出FIFO(或後入後出LILO)的線性表。13線性鏈表不能隨機存取。14在線性鏈表中插入元素時,不需要移動數據元素,只需要修改相關結點指針即可,也不會出現「上溢」現象。15在線性鏈表中刪除元素時,也不需要移動數據元素,只需要修改相關結點指針即可。16循環鏈表實單鏈表基礎上增加了一個表頭結點,其插入和刪除運算與單鏈表相同,可以從任意結點出發來訪問表中其他所有結點,並實現空表與非空表的運算。17一般二叉樹通常採用鏈式存儲結構,對於滿二叉樹與完全二叉樹來說,可以按層序進行順序存儲。18二分查找知識用於順序存儲的線性表,對於無序線性表和線性表的鏈式存儲結構只能用順序查找。19冒泡排序是每一趟都會把較小的元素先前移動,最壞比較次數是n(n-1)/2。20簡單插入排序法是將無序序列中的各元素依次插入到已經有序的線性表中,最壞比較次數為n(n-1)/2。21希爾排序法的基本思想:將無序序列劃分成若干個子序列(又相隔某個增量h的元素組成)分別進行直接插入排序,待整個序列中的元素基本有序(增量足夠小)時,在對全體元素進行一次直接插入排序。因為直接插入排序在元素基本有序的情況下(接近最好情況),效率是很高的。22選擇排序每一趟都是找出無序序列中的最小一個元素,最壞比較次數為n(n-1)/2。23排序技術:(1)交換排序法:冒泡排序、快速排序(2)插入排序法:簡單插入排序法、希爾排序(3)選擇排序法:簡單選擇排序法、堆排序法

Ⅲ 問幾道c語言的選擇題

(3)。D)快速排序為n(n-1)/2

( 5)。A)存儲空間不一定是連續,且各元素的存儲順序是任意的

( 9)。D)以上三種說法都不對

(12)。A)-80.

Ⅳ 有250個關鍵字存到散列表中,用線性探查法解決沖突,查找時比較次數不超過3次,該散列至少有多少存儲空間

線性探查再散列的查找成功的平均查找長度的理論值為(1+ 1/(1-a))/2,按照你的要求小於3,得到裝填因子a <= 4/5,為0.8,因此存儲空間約為250/0.8 = 312.5,上取整為313

Ⅳ 在97個記錄的由於順序表中進行二分查找,最大比較次數是

在97個記錄的由於順序表中進行二分查找,最大比較次數是7次。

二分查找也稱折半查找(Binary Search),它是一種效率較高的查找方法。但是,折半查找要求線性表必須採用順序存儲結構,而且表中元素按關鍵字有序排列。

根據順序表二分法查找比較次數的計算公式:



(5)存儲空間和比較次數擴展閱讀


演算法要求:

1、必須採用順序存儲結構。

2、必須按關鍵字大小有序排列。

在計算機中用一組地址連續的存儲單元依次存儲線性表的各個數據元素,稱作線性表的順序存儲結構。

由此得到的存儲結構為順序存儲結構,通常順序存儲結構是藉助於計算機程序設計語言(例如c/c++)的數組來描述的。

順序存儲結構的主要優點是節省存儲空間,因為分配給數據的存儲單元全用存放結點的數據(不考慮c/c++語言中數組需指定大小的情況),結點之間的邏輯關系沒有佔用額外的存儲空間。

採用這種方法時,可實現對結點的隨機存取,即每一個結點對應一個序號,由該序號可以直接計算出來結點的存儲地址。

但順序存儲方法的主要缺點是不便於修改,對結點的插入、刪除運算時,可能要移動一系列的結點。

優點:隨機存取表中元素、儲存密度大。

缺點:插入和刪除操作需要移動元素。

Ⅵ 冒泡排序法和快速排序比較的演算法

打你屁股,這么簡單的問題都不認真研究一下。

冒泡排序是最慢的排序,時間復雜度是 O(n^2)。

快速排序是最快的排序。關於快速排序,我推薦你看看《代碼之美》第二章:我編寫過的最漂亮的代碼。作者所說的最漂亮,就是指效率最高的。

--------------------------------摘自《代碼之美》---------------

當我撰寫關於分治(divide-and-conquer)演算法的論文時,我發現C.A.R. Hoare的Quicksort演算法(「Quicksort」,Computer Journal 5)無疑是各種Quicksort演算法的鼻祖。這是一種解決基本問題的漂亮演算法,可以用優雅的代碼實現。我很喜歡這個演算法,但我總是無法弄明白演算法中最內層的循環。我曾經花兩天的時間來調試一個使用了這個循環的復雜程序,並且幾年以來,當我需要完成類似的任務時,我會很小心地復制這段代碼。雖然這段代碼能夠解決我所遇到的問題,但我卻並沒有真正地理解它。
我後來從Nico Lomuto那裡學到了一種優雅的劃分(partitioning)模式,並且最終編寫出了我能夠理解,甚至能夠證明的Quicksort演算法。William Strunk Jr.針對英語所提出的「良好的寫作風格即為簡練」這條經驗同樣適用於代碼的編寫,因此我遵循了他的建議,「省略不必要的字詞」(來自《The Elements of Style》一書)。我最終將大約40行左右的代碼縮減為十幾行的代碼。因此,如果要回答「你曾編寫過的最漂亮代碼是什麼?」這個問題,那麼我的答案就是:在我編寫的《Programming Pearls, Second Edition》(Addison-Wesley)一書中給出的Quichsort演算法。在示例2-1中給出了用C語言編寫的Quicksort函數。我們在接下來的章節中將進一步地研究和改善這個函數。
【示例】 2-1 Quicksort函數
void quicksort(int l, int u)
{ int i, m;
if (l >= u) return; 10
swap(l, randint(l, u));
m = l;
for (i = l+1; i <= u; i++)
if (x[i] < x[l])
swap(++m, i);
swap(l, m);
quicksort(l, m-1);
quicksort(m+1, u);
}
如果函數的調用形式是quicksort(0, n-1),那麼這段代碼將對一個全局數組x[n]進行排序。函數的兩個參數分別是將要進行排序的子數組的下標:l是較低的下標,而u是較高的下標。函數調用swap(i,j)將會交換x[i]與x[j]這兩個元素。第一次交換操作將會按照均勻分布的方式在l和u之間隨機地選擇一個劃分元素。
在《Programming Pearls》一書中包含了對Quicksort演算法的詳細推導以及正確性證明。在本章的剩餘內容中,我將假設讀者熟悉在《Programming Pearls》中所給出的Quicksort演算法以及在大多數初級演算法教科書中所給出的Quicksort演算法。
如果你把問題改為「在你編寫那些廣為應用的代碼中,哪一段代碼是最漂亮的?」我的答案還是Quicksort演算法。在我和M. D. McIlroy一起編寫的一篇文章("Engineering a sort function," Software-Practice and Experience, Vol. 23, No. 11)中指出了在原來Unix qsort函數中的一個嚴重的性能問題。隨後,我們開始用C語言編寫一個新排序函數庫,並且考慮了許多不同的演算法,包括合並排序(Merge Sort)和堆排序(Heap Sort)等演算法。在比較了Quicksort的幾種實現方案後,我們著手創建自己的Quicksort演算法。在這篇文章中描述了我們如何設計出一個比這個演算法的其他實現要更為清晰,速度更快以及更為健壯的新函數——部分原因是由於這個函數的代碼更為短小。Gordon Bell的名言被證明是正確的:「在計算機系統中,那些最廉價,速度最快以及最為可靠的組件是不存在的。」現在,這個函數已經被使用了10多年的時間,並且沒有出現任何故障。
考慮到通過縮減代碼量所得到的好處,我最後以第三種方式來問自己在本章之初提出的問題。「你沒有編寫過的最漂亮代碼是什麼?」。我如何使用非常少的代碼來實現大量的功能?答案還是和Quicksort有關,特別是對這個演算法的性能分析。我將在下一節給出詳細介紹。
2.2 事倍功半
Quicksort是一種優雅的演算法,這一點有助於對這個演算法進行細致的分析。大約在1980年左右,我與Tony Hoare曾經討論過Quicksort演算法的歷史。他告訴我,當他最初開發出Quicksort時,他認為這種演算法太簡單了,不值得發表,而且直到能夠分析出這種演算法的預期運行時間之後,他才寫出了經典的「Quicksoft」論文。
我們很容易看出,在最壞的情況下,Quicksort可能需要n2的時間來對數組元素進行排序。而在最優的情況下,它將選擇中值作為劃分元素,因此只需nlgn次的比較就可以完成對數組的排序。那麼,對於n個不同值的隨機數組來說,這個演算法平均將進行多少次比較?
Hoare對於這個問題的分析非常漂亮,但不幸的是,其中所使用的數學知識超出了大多數程序員的理解范圍。當我為本科生講授Quicksort演算法時,許多學生即使在費了很大的努力之後,還是無法理解其中的證明過程,這令我非常沮喪。下面,我們將從Hoare的程序開
11
始討論,並且最後將給出一個與他的證明很接近的分析。
我們的任務是對示例2-1中的Quicksort代碼進行修改,以分析在對元素值均不相同的數組進行排序時平均需要進行多少次比較。我們還將努力通過最短的代碼、最短運行時間以及最小存儲空間來得到最深的理解。
為了確定平均比較的次數,我們首先對程序進行修改以統計次數。因此,在內部循環進行比較之前,我們將增加變數comps的值(參見示例2-2)。
【示例2-2】 修改Quicksort的內部循環以統計比較次數。
for (i = l+1; i <= u; i++) {
comps++;
if (x[i] < x[l])
swap(++m, i);
}
如果用一個值n來運行程序,我們將會看到在程序的運行過程中總共進行了多少次比較。如果重復用n來運行程序,並且用統計的方法來分析結果,我們將得到Quicksort在對n個元素進行排序時平均使用了1.4 nlgn次的比較。
在理解程序的行為上,這是一種不錯的方法。通過十三行的代碼和一些實驗可以反應出許多問題。這里,我們引用作家Blaise Pascal和T. S. Eliot的話,「如果我有更多的時間,那麼我給你寫的信就會更短。」現在,我們有充足的時間,因此就讓我們來對代碼進行修改,並且努力編寫出更短(同時更好)的程序。
我們要做的事情就是提高這個演算法的速度,並且盡量增加統計的精確度以及對程序的理解。由於內部循環總是會執行u-l次比較,因此我們可以通過在循環外部增加一個簡單的操作來統計比較次數,這就可以使程序運行得更快一些。在示例2-3的Quicksort演算法中給出了這個修改。
【示例2-3】 Quicksort的內部循環,將遞增操作移到循環的外部
comps += u-l;
for (i = l+1; i <= u; i++)
if (x[i] < x[l])
swap(++m, i);
這個程序會對一個數組進行排序,同時統計比較的次數。不過,如果我們的目標只是統計比較的次數,那麼就不需要對數組進行實際地排序。在示例2-4中去掉了對元素進行排序的「實際操作」,而只是保留了程序中各種函數調用的「框架」。
【示例2-4】將Quicksort演算法的框架縮減為只進行統計
void quickcount(int l, int u)
{ int m;
if (l >= u) return;
m = randint(l, u);
comps += u-l;
quickcount(l, m-1);
quickcount(m+1, u);
}
12
這個程序能夠實現我們的需求,因為Quichsort在選擇劃分元素時採用的是「隨機」方式,並且我們假設所有的元素都是不相等的。現在,這個新程序的運行時間與n成正比,並且相對於示例2-3需要的存儲空間與n成正比來說,現在所需的存儲空間縮減為遞歸堆棧的大小,即存儲空間的平均大小與lgn成正比。
雖然在實際的程序中,數組的下標(l和u)是非常重要的,但在這個框架版本中並不重要。因此,我們可以用一個表示子數組大小的整數(n)來替代這兩個下標(參見示例2-5)
【示例2-5】 在Quicksort代碼框架中使用一個表示子數組大小的參數
void qc(int n)
{ int m;
if (n <= 1) return;
m = randint(1, n);
comps += n-1;
qc(m-1);
qc(n-m);
}
現在,我們可以很自然地把這個過程整理為一個統計比較次數的函數,這個函數將返回在隨機Quicksort演算法中的比較次數。在示例2-6中給出了這個函數。
【示例2-6】 將Quicksort框架實現為一個函數
int cc(int n)
{ int m;
if (n <= 1) return 0;
m = randint(1, n);
return n-1 + cc(m-1) + cc(n-m);
}
在示例2-4、示例2-5和示例2-6中解決的都是相同的基本問題,並且所需的都是相同的運行時間和存儲空間。在後面的每個示例都對這些函數的形式進行了改進,從而比這些函數更為清晰和簡潔。
在定義發明家的矛盾(inventor's paradox)(How To Solve It, Princeton University Press)時,George Póllya指出「計劃越宏大,成功的可能性就越大。」現在,我們就來研究在分析Quicksort時的矛盾。到目前為止,我們遇到的問題是,「當Quicksort對大小為n的數組進行一次排序時,需要進行多少次比較?」我們現在將對這個問題進行擴展,「對於大小為n的隨機數組來說,Quichsort演算法平均需要進行多少次的比較?」我們通過對示例2-6進行擴展以引出示例2-7。
【示例2-7】 偽碼:Quicksort的平均比較次數
float c(int n)
if (n <= 1) return 0
sum = 0
for (m = 1; m <= n; m++)
sum += n-1 + c(m-1) + c(n-m)
return sum/n
如果在輸入的數組中最多隻有一個元素,那麼Quichsort將不會進行比較,如示例2-6
13
中所示。對於更大的n,這段代碼將考慮每個劃分值m(從第一個元素到最後一個,每個都是等可能的)並且確定在這個元素的位置上進行劃分的運行開銷。然後,這段代碼將統計這些開銷的總和(這樣就遞歸地解決了一個大小為m-1的問題和一個大小為n-m的問題),然後將總和除以n得到平均值並返回這個結果。
如果我們能夠計算這個數值,那麼將使我們實驗的功能更加強大。我們現在無需對一個n值運行多次來估計平均值,而只需一個簡單的實驗便可以得到真實的平均值。不幸的是,實現這個功能是要付出代價的:這個程序的運行時間正比於3n(如果是自行參考(self-referential)的,那麼用本章中給出的技術來分析運行時間將是一個很有趣的練習)。
示例2-7中的代碼需要一定的時間開銷,因為它重復計算了中間結果。當在程序中出現這種情況時,我們通常會使用動態編程來存儲中間結果,從而避免重復計算。因此,我們將定義一個表t[N+1],其中在t[n]中存儲c[n],並且按照升序來計算它的值。我們將用N來表示n的最大值,也就是進行排序的數組的大小。在示例2-8中給出了修改後的代碼。
【示例2-8】 在Quicksort中使用動態編程來計算
t[0] = 0
for (n = 1; n <= N; n++)
sum = 0
for (i = 1; i <= n; i++)
sum += n-1 + t[i-1] + t[n-i]
t[n] = sum/n
這個程序只對示例2-7進行了細微的修改,即用t[n]來替換c(n)。它的運行時間將正比於N2,並且所需的存儲空間正比於N。這個程序的優點之一就是:在程序執行結束時,數組t中將包含數組中從元素0到元素N的真實平均值(而不是樣本均值的估計)。我們可以對這些值進行分析,從而生成在Quichsort演算法中統計比較次數的計算公式。
我們現在來對程序做進一步的簡化。第一步就是把n-1移到循環的外面,如示例2-9所示。
【示例2-9】 在Quicksort中把代碼移到循環外面來計算
t[0] = 0
for (n = 1; n <= N; n++)
sum = 0
for (i = 1; i <= n; i++)
sum += t[i-1] + t[n-i]
t[n] = n-1 + sum/n
現在將利用對稱性來對循環做進一步的調整。例如,當n為4時,內部循環計算總和為:
t[0]+t[3] + t[1]+t[2] + t[2]+t[1] + t[3]+t[0]
在上面這些組對中,第一個元素增加而第二個元素減少。因此,我們可以把總和改寫為:
2 * (t[0] + t[1] + t[2] + t[3])
我們可以利用這種對稱性來得到示例2-10中的Quicksort。
【示例2-10】 在Quichsort中利用了對稱性來計算
t[0] = 0
14
for (n = 1; n <= N; n++)
sum = 0
for (i = 0; i < n; i++)
sum += 2 * t[i]
t[n] = n-1 + sum/n
然而,在這段代碼的運行時間中同樣存在著浪費,因為它重復地計算了相同的總和。此時,我們不是把前面所有的元素加在一起,而是在循環外部初始化總和並且加上下一個元素,如示例2-11所示。
【示例2-11】 在Quicksort中刪除了內部循環來計算
sum = 0; t[0] = 0
for (n = 1; n <= N; n++)
sum += 2*t[n-1]
t[n] = n-1 + sum/n
這個小程序確實很有用。程序的運行時間與N成正比,對於每個從1到N的整數,程序將生成一張Quicksort的估計運行時間表。
我們可以很容易地把示例2-11用表格來實現,其中的值可以立即用於進一步的分析。在2-1給出了最初的結果行。
表2-1 示例2-11中實現的表格輸出
N Sum t[n]
0 0 0
1 0 0
2 0 1
3 2 2.667
4 7.333 4.833
5 17 7.4
6 31.8 10.3
7 52.4 13.486
8 79.371 16.921
這張表中的第一行數字是用代碼中的三個常量來進行初始化的。下一行(輸出的第三行)的數值是通過以下公式來計算的:
A3 = A2+1 B3 = B2 + 2*C2 C3 = A2-1 + B3/A3
把這些(相應的)公式記錄下來就使得這張表格變得完整了。這張表格是「我曾經編寫的最漂亮代碼」的很好的證據,即使用少量的代碼完成大量的工作。
但是,如果我們不需要所有的值,那麼情況將會是什麼樣?如果我們更希望通過這種來方式分析一部分數值(例如,在20到232之間所有2的指數值)呢?雖然在示例2-11中構建了完整的表格t,但它只需要使用表格中的最新值。因此,我們可以用變數t的定長空間來替代table t[]的線性空間,如示例2-12所示。
【示例2-12】 Quicksoft 計算——最終版本
sum = 0; t = 0
15
for (n = 1; n <= N; n++)
sum += 2*t
t = n-1 + sum/n
然後,我們可以插入一行代碼來測試n的適應性,並且在必要時輸出這些結果。
這個程序是我們漫長學習旅途的終點。通過本章所採用的方式,我們可以證明Alan Perlis的經驗是正確的:「簡單性並不是在復雜性之前,而是在復雜性之後」 ("Epigrams on Programming," Sigplan Notices, Vol. 17, Issue 9)。

Ⅶ 計算機試題

下列說法中正確的是( )。 a在買計算機時,當然買最高檔的 b頻繁開、關機對計算機的使用壽命並無影響c 為防止計算機感染病毒,應常用消毒液清洗計算機 d系統啟動軟盤應防寫,且一般在該盤中不要存放用戶程序及數據 D
下面預防計算機病毒的手段,錯誤的是( )。 a要經常地對硬碟上的文件進行備份 b凡不需要再寫入數據的磁碟都應有防寫c 將所有的.com和.exe文件賦以「只讀」屬性 d對磁碟進行清洗 D
計算機病毒通常分為引導型、復合型和( )。 外殼型 文件型 內碼型 操作系統型 B
最先開展的電子商務類型是( )。 企業對個人 企業對企業 企業對政府 個人對個人 A
人類社會最先開展的電子商務類型是( )。 B to C B to B B to G C to C A
人類社會最先開展電子商務零售活動的國家是在( )。 亞洲 歐洲 美洲 澳洲 B
公布世界上第一個Internet電子商務標準是在( )。 1998年 1999年 2000年 2001年 B
在電子商務分類中,C to C是( )。 消費者與消費者間的電子商務 企業間的電子商務 企業內部的電子商務 企業與消費者間的電子商務 A
在電子商務分類中,B to G是( )。 消費者與消費者間的電子商務 企業間的電子商務 企業內部的電子商務 企業對政府的電子商務 D
在電子商務分類中,G to G是( )。 政府與政府間的電子商務 企業間的電子商務 企業內部的電子商務 企業與消費者間的電子商務 A
在電子商務分類中,B to B是( )。 消費者與消費者間的電子商務 企業間的電子商務 企業內部的電子商務 企業對政府的電子商務 B
在電子商務分類中,B to C是( )。 消費者與消費者間的電子商務 企業間的電子商務 企業與消費者的電子商務 企業對政府的電子商務 C
在電子政務分類中,G to G是( )。 政府對政府的電子政務 企業間的電子政務 政府對企業的電子政務 政府對公民的電子政務 A
在電子政務分類中,G to B是( )。 企業對個人的電子政務 政府對企業的電子政務 企業對政府的電子政務 政府對公民的電子政務 B
在電子政務分類中,G to C是( )。 政府對政府的電子政務 企業間的電子政務 政府對公民的電子政務 企業對政府的電子商務 C
在電子政務分類中,B to G是( )。 政府對政府的電子政務 企業間的電子政務 政府對公民的電子政務 企業對政府的電子政務 D
我國電子政務的「三網一庫」是指機關內部辦公網、辦公義務資源網、( )及電子政務信息資源庫。 區域網 城域網 公共管理與服務網路 廣域網 C
ECP(Electronic Check Paper)是( )。 電子現金 信用卡 電子支票 電子錢包 C
Digital Purse是( )。 電子現金 數字錢包 電子支票 電子錢包 B
與傳統現金相比電子現金的優點是( )。 方便、成本低 管理控制技術復雜 已解決合理征稅問題 不可能被偽造 A
與傳統結算工具相比,電子結算的主要缺點是( )。 缺乏便利性 缺乏安全性 初期投入大、技術復雜 不能進行小額結算 C
電子數據交換的簡稱是( )。 EFT EDI NET EC B
下面哪項不屬於電子商務軟體功能( )。 商品目錄顯示 購物車 交易處理機制 WWW平台選擇 D
在線調查常見的方法是( )。 郵寄調查 電話調查 人員調查 電子郵件調查 D
下列有關數據的存儲結構的敘述中正確的是: 順序存儲方式只能用於存儲線性結構 順序存儲方式的優點是存儲密度大、且插入和刪除運算效率高 鏈表的每個結點中都恰好包含一個指針 棧和隊列的存儲方式既可是順序方式也可是鏈接方式 D
演算法的時間復雜度是指: 執行演算法程序所需要的時間 演算法程序的長度 演算法執行過程中所需要的基本運算次數 演算法執行過程中所需要的基本運算次數 C
演算法的空間復雜度是指: 演算法程序的長度 演算法程序中的指令條數 演算法程序所佔的存儲空間 演算法執行過程中所需要的存儲空間 D
下列敘述中正確的是: 線性表是線性結構 棧與隊列是非線性結構 線性鏈表是非線性結構 二叉樹是線性結構 A
數據的存儲結構是指: 數據所佔的存儲空間量 數據的邏輯結構在計算機中的表示 數據在計算機中的順序存儲方式 存儲在外存中的數據 B
下列關於隊列的敘述中正確的是: 在隊列中只能插入數據 在隊列中只能刪除數據 隊列是先進先出的線性表 隊列是先進後出的線性表 C
下列關於棧的敘述中正確的是: 棧是非線性結構 棧是一種樹狀結構 棧具有先進先出的特徵 棧具有後進先出的特徵 D
鏈表不具有的特點是: 可隨機訪問任一元素 插入和刪除不需要移動的元素 不必事先估計存儲空間 所需空間與線性表長度成正比 A
在深度為5的滿二叉樹中葉子結點的個數為: 32 31 16 15 C
對長度為n的線性表進行順序查找:在最壞情況下所需要的比較次數為: n+l n (n+1)/2 n/2 B
程序流程圖(PFD)中的箭頭代表的是: 數據流部 控制流 調用關系 組成關系 B
下面不屬於軟體工程3要素的是: 工具 過程 方法 環境 D
數據流圖用於抽象描述一個軟體的邏輯模型。數據流圖由一些特定的圖符構成。下列圖符名標示的圖符不屬於數據流圖合法圖符的是: 控制流 加CE 數據存儲 源和潭 A
軟體測試過程是軟體開發過程的逆過程其最基礎性的測試應是: 集成測試 單元測試 有效性測試 系統測試 B
在結構化方法中軟體功能分解屬於下列軟體開發中的階段是: 詳細設計 需求分析 總體設計 編程調試 C
軟體測試的目的是: 發現錯誤 演示元件功能 改善軟體的性能 挖掘軟體的潛能 A
軟體需求分析階段的工作可以分為4個方面:需求獲取、需求分析、編寫需求規格說明書以及: 階段性報告 需求評審 總結 都不正確 B
軟體調試技術包括: 邊界值分析 演繹法 循環覆蓋 集成測試 B
軟體需求說明書是需求分析階段的最後成果。以下Ⅰ.數據描述、II.功能描述、Ⅲ.性能描述、Ⅳ.文件結構,哪些是其應包括的內容? I和II II和III II和IV I,Ⅱ和Ⅲ D
軟體測試方法中的靜態測試方法之一為: 計算機輔助靜態分析 黑盒法 路徑覆蓋 邊界值分析 A
在詳細設計階段經常採用的工具有: PAD SA SC DFD A
下列工具中需求分析常用的工具是: PAD PFD NS DFD D
在軟體生命周期中能准確地確定軟體系統必須做什麼和必須具備哪些功能的階段是: 概要設計 詳細設計 可行性分析 需求分析 D
需求分析階段的任務是確定: 軟體開發方法 軟體開發工具 軟體開發費 軟體系統的功能 D
檢查軟體產品是否符合需求定義的過程稱為: 確認測試 集成測試 驗證測試 驗收測試 A
軟體危機的主要表現有多個方面。例如:I�需求增長無法滿足II�生產成本過高Ⅲ�進度無法控制Ⅳ�需求定義不準確V�質量不易保證Ⅵ�難以滿足維護需要但比較而言。一般認為軟體危機產生的主要原因是: I和II I和III II和V I和Ⅵ D
軟體測試是保證軟體質量的重要手段其首要任務是: 保證軟體的正確性 改正軟體存在的錯誤 發現軟體的潛在錯誤 實現程序正確性證明 C
下面不屬於軟體設計原則的是: 抽象 模塊化 自底向上 信息隱蔽 C
在結構化方法的軟體需求定義中可採用分析工具來輔助完成。下列工具中哪些是常用的工具?。 I數據流圖 II結構圖 Ⅲ數據字典 Ⅳ判定表I和IIII、Ⅱ和IIII、Ⅱ和IVI、Ⅲ和Ⅳ A
結構化程序設計主要強調的是: 程序的規模 程序的易讀性 程序的執行效率 程序的可移植性 B
對建立良好的程序設計風格下面描述正確的是: 程序應簡單、清晰、可讀性好 符號名的命名只要符合語法 充分考慮程序的執行效率 程序的注釋可有可無 A
在面向對象方法中一個對象請求另一個對象為其服務的方式是通過發送: 調用語句 命令 口令 消息 D
信息隱蔽的概念與下述哪一種概念直接相關? 軟體結構定義 模塊獨立性 模塊類型劃分 模塊耦合度 B
下面對對象概念描述錯誤的是: 任何對象都必須有繼承性 對象是屬性和方法的封裝體 對象間的通信靠消息傳遞 操作是對象的動態屬性 A
資料庫管理系統是( )。 應用軟體 系統軟體 教學軟體 工具軟體 B
資料庫系統的組成要素不包括( )。 硬體平台 用戶 網路 資料庫管理員 C
"在下列關系中,( )是一對多的關系。
" 董事長和員工 醫生和患者 產品和生產廠家 任課教師和學生 A
在對關系的描述中,( )是錯誤的。 一個關系表通常是同一個主題的數據集合 關系表採用主鍵來唯一標識元組 一個關系表可以有多個主鍵 關系是二維表 C
對關系資料庫的檢索操作可由三種基本關系運算組合而成,這三種基本關系運算不包括( )。 連接 "比較
" 選擇 投影 B
"下列不屬於Access資料庫對象的是( )。
" 表 窗體 向導 查詢 C
"下列不是關系種類的是( )。
" 多對一 一對一 一對多 多對多 A
"屬於Access可以導入或鏈接數據源的是( )。
" Excel Access FoxPro 以上皆是 D
"下述關於資料庫系統的敘述中正確的是( )。

" 資料庫系統避免了一切冗餘 資料庫系統減少了數據冗餘 資料庫系統中數據的一致性是指數據類型一致 資料庫系統比文件系統能管理更多的數據 B
三級模式間存在二級映射,它們是( )。 概念模式與外模式間,概念模式與內模式間 子模式與內模式間,外模式與內模式間 子模式與外模式間,概念模式與內模式間 概念模式與內模式間,外模式與內模式間 A
關系資料庫管理系統能實現的專門關系運算包括( )。 關聯、更新、排序 排序、索引、統計 選擇、投影、連接 顯示、列印、製表 C
用樹型結構來表示實體之間聯系的模型是( )。 數據模型 網狀模型 層次模型 關系模型 C
在關系資料庫中,用來表示實體之間聯系的是( )。 二維表 線性表 樹結構 網結構 A
將E-R圖轉換到關系模式時,實體和聯系都可以表示為( )。 關系 屬性 鍵 域 A
下列4個選項中,可以直接用於表示概念模型的是( )。 層次模型 實體-聯系(E-R)模型 關系模型 網狀模型 B
資料庫的三級結構分別被定義為( )。 子模式、模式和概念模式 外模式、子模式和存儲模式 模式、概念模式和物理模式 外模式、概念模式和內模式 D
"公司中有多個部門和多名職員,每個職員只能屬於一個部門,一個部門可以有多名職員,從職員到部門的聯系類型是( )。
" 一對一 多對多 一對多 多對一 C
下列4個選項中,說法不正確的是( )。 資料庫具有較高的數據獨立性 資料庫中的數據可以共享 資料庫避免了一切數據的重復 資料庫減少了數據冗餘 C
"在數據管理技術的發展過程中,經歷了人工管理階段、文件系統階段和資料庫系統階段。其中數據獨立性最高的階段是( )。
" 人工管理 文件系統 數據項管理 資料庫系統 D
"從關系中挑選出指定的屬性組成新關系的運算稱為( )。
" 投影運算 選取運算 聯接運算 交運算 A
"資料庫系統的核心是( )。
" 軟體工具 資料庫管理系統 資料庫 數據模型 B
把E-R模型轉換成關系模型的過程,屬於資料庫的( )。 需求分析 概念設計 邏輯設計 物理設計 C
關系表中的每一橫行稱為一個( )。 欄位 元組或記錄 碼 屬性 B
"資料庫系統的體系結構是( )。
" 三級模式結構和二級映射 二級模式結構和一級映射 三級模式結構和三級映射 三級模式結構和一級映射 A
資料庫中存儲的是( )。 數據之間的聯系 數據 數據以及數據之間的聯系 數據模型 C
"反映現實世界中的實體及實體間聯系的信息模型是( )。
" 關系模型 層次模型 E-R模型 網狀模型 C
數據獨立性是資料庫技術的重要特點之一。所謂數據獨立性是指( )。 數據與程序獨立存放 不同的數據被存放在不同的文件中 不同的數據只能被對應的應用程序所使用 以上三種說法都不對 D
數據模型按不同的應用層次分為三種類型,它們是( )數據模型、邏輯數據模型和物理數據模型。 概念 關系 用戶 層次 A
資料庫設計分為以下6個階段:需求分析階段、( )、邏輯設計階段、物理設計階段、實施階段、運行和維護階段。 系統設計階段 "概念設計階段 " 總體設計階段 模塊設計階段 B
關系模型的完整性規則是對關系的某種約束條件,包括實體完整性、( )和自定義完整性。 域完整性 關聯完整性 參照完整性 用戶完整性 C
資料庫管理系統常見的數據模型有層次模型、網狀模型和( )三種。 邏輯模型 關系模型 樹狀模型 物理模型 B
如果一個工人可管理多個設施,而一個設施只被一個工人管理,則實體"工人"與實體"設施"之間存在( )聯系。 網狀 多對多 一對多 一對一 C
下列模式中,能夠給出資料庫物理存儲結構與物理存取方法的是( )。 外模式 內模式 概念模式 邏輯模式 B
關系模型的數據操縱即是建立在關繫上的數據操縱,一般有( )、增加、刪除和修改四種操作。 連接 投影 選擇 查詢 D
在關系資料庫中,把數據表示成二維表,每一個二維表稱為( )。 關系 實體 元組 對象 A
資料庫保護分為:安全性控制、( )、並發性控制和數據的恢復。 密碼控制 訪問控制 完整性控制 正確性控制 C
下列敘述中正確的是( )。 資料庫系統中,數據的物理結構必須與邏輯結構一致 資料庫技術的根本目標是要解決數據共享的問題 資料庫設計是指設計資料庫管理系統 資料庫是一個獨立的系統,不需要操作系統的支持 B
"下列有關資料庫的描述,正確的是( )。
" 資料庫是一組文件 資料庫是一個結構化的數據集合 資料庫是一個關系 資料庫是一個DBF文件 B
資料庫設計包括兩個方面的設計內容,它們是( )。 概念設計和邏輯設計 模式設計和內模式設計 內模式設計和物理設計 結構特性設計和行為特性設計 D
單個用戶使用的數據視圖的描述稱為( ) 內模式 外模式 存儲模式 概念模式 B
"在資料庫管理技術發展過程中,文件系統與資料庫系統的主要區別是資料庫系統具有( )。
A. B.
C. D.
" 數據無冗餘 專門的數據管理軟體 數據可共享 特定的數據模型 D這是計算機大一計算機導論期末考試試題
"SQL語言又稱為( )。
" 結構化控制語言 結構化操縱語言 結構化定義語言 結構化查詢語言 D
索引屬於( )。 概念模式 外模式 模式 內模式 B

Ⅷ 各種排序演算法所需輔助空間是多少

1、 所有的簡單排序方法(包括:直接插入、起泡和簡單選擇)和堆排序的空間復雜度為O(1);


2、 快速排序為O(logn ),為棧所需的輔助空間;


3、 歸並排序所需輔助空間最多,其空間復雜度為O(n );


4、鏈式基數排序需附設隊列首尾指針,則空間復雜度為O(rd )。

Ⅸ 問:數據結構中,二分法查找方法如何計算他的平均比較次數,快速排序方法如何計算所需的輔助存儲空間。

數據結構中,二分法查找方法如何計算他的平均比較次數,快速排序方法如何計算所需的輔助存儲空間。