文章編號(hào):10743時(shí)間:2024-09-29人氣:
快速排序是一種經(jīng)典的排序算法,以其速度和效率而聞名。對(duì)于其復(fù)雜性一直存在一個(gè)神話,認(rèn)為它總是 O(n log n)。在本文中,我們將深入研究快速排序的復(fù)雜性,并揭開這個(gè)神話背后的真相。
在最好的情況下,快速排序的復(fù)雜度為 O(n log n)。這發(fā)生在輸入數(shù)組已經(jīng)部分有序或完全有序的情況下。當(dāng)數(shù)組中元素的順序與最終排序順序相同或相似時(shí)會(huì)出現(xiàn)這種情況。
在這種情況下,快速排序?qū)⒛軌蛴行У貙?shù)組分成兩部分,并遞歸地對(duì)每一部分進(jìn)行排序。每次遞歸調(diào)用都會(huì)將子數(shù)組的大小減半,因此復(fù)雜度為 O(logn)。
在平均情況下,快速排序的復(fù)雜度也為 O(n log n)。這發(fā)生在輸入數(shù)組是隨機(jī)排列的情況下。在這種情況下,快速排序?qū)⒛軌蛞云胶獾姆绞綄?shù)組分成兩部分,并遞歸地對(duì)每一部分進(jìn)行排序。
由于每次遞歸調(diào)用都會(huì)將子數(shù)組的大小減半,因此復(fù)雜度為 O(log n)。執(zhí)行 n 次遞歸調(diào)用,因此平均情況復(fù)雜度為 O(n log n)。
神話:快速排序的最壞情況復(fù)雜度總是 O(n log n)。
真相:快速排序的最壞情況復(fù)雜度為 O(n^2)。
最壞的情況發(fā)生在輸入數(shù)組已經(jīng)逆序或接近逆序的情況下。在這種情況下,快速排序?qū)⒁圆黄胶獾姆绞綄?shù)組分成兩部分,導(dǎo)致一個(gè)子數(shù)組非常小,而另一個(gè)非常大。
對(duì)于較小的子數(shù)組,每次遞歸調(diào)用將只將子數(shù)組的大小減少 1,導(dǎo)致復(fù)雜度為 O(n)。對(duì)于較大的子數(shù)組,遞歸將正常進(jìn)行,復(fù)雜度為 O(log n)。
由于遞歸調(diào)用 n 次,因此最壞情況復(fù)雜度為 O(n) + O(log n) = O(n^2)。
為了克服最壞情況復(fù)雜度,可以使用以下技術(shù):
快速排序是一種強(qiáng)大的排序算法,在平均情況下復(fù)雜度為 O(n log n)。其最壞情況復(fù)雜度為 O(n^2),發(fā)生在輸入數(shù)組已經(jīng)逆序的情況下。
通過使用隨機(jī)化、三向快速排序或插入排序等技術(shù),可以克服最壞情況復(fù)雜度,確保快速排序始終高效地執(zhí)行。
P對(duì)NP問題是克雷數(shù)學(xué)研究所高額懸賞的七個(gè)千禧年難題之一,同時(shí)也是計(jì)算機(jī)科學(xué)領(lǐng)域的最大難題,關(guān)系到計(jì)算機(jī)完成一項(xiàng)任務(wù)的速度到底有多快。 1、簡(jiǎn)介P對(duì)NP問題是Steve Cook于1971年首次提出。 P/NP問題,這里的P指在多項(xiàng)式時(shí)間(Polynomial)里,一個(gè)復(fù)雜問題如果能在多項(xiàng)式時(shí)間內(nèi)解決,那么它便被稱為P問題,這意味著計(jì)算機(jī)可以在有限時(shí)間內(nèi)完成計(jì)算;NP指非確定性多項(xiàng)式時(shí)間(nondeterministic polynomial),一個(gè)復(fù)雜問題不能確定在多項(xiàng)式時(shí)間內(nèi)解決,假如NP問題能找到算法使其在多項(xiàng)式時(shí)間內(nèi)解決,也就是證得了P=NP。 比NP問題更難的則是NP完全和NP-hard,如圍棋便是一個(gè)NP-hard問題。 2010年8月7日,來自惠普實(shí)驗(yàn)室的科學(xué)家Vinay Deolalikar聲稱已經(jīng)解決了P/NP問題 ,并公開了證明文件。 2、排序問題如果我們只能通過元素間的相互比較來確定元素間的相互位置,而沒有其他的附加可用信息,則排序問題的復(fù)雜性是O(nlgn),但是排序算法有很多,冒泡法是O(n^2),快速排序平均情況下是O(nlgn)等等,排序問題的復(fù)雜性是指在所有的解決該問題的算法中最好算法的復(fù)雜性。 問題的復(fù)雜性不可能通過枚舉各種可能算法來得到,一般都是預(yù)先估計(jì)一個(gè)值,然后從理論上證明。 3、定義為了研究問題的復(fù)雜性,我們必須將問題抽象,為了簡(jiǎn)化問題,我們只考慮一類簡(jiǎn)單的問題,判定性問題,即提出一個(gè)問題,只需要回答yes或者 no的問題。 任何一般的最優(yōu)化問題都可以轉(zhuǎn)化為一系列判定性問題,比如求從A到B的最短路徑,可以轉(zhuǎn)化成:從A到B是否有長(zhǎng)度為1的路徑?從A到B是否有長(zhǎng)度為2的路徑?。 。 。 從A到B是否有長(zhǎng)度為k的路徑?如果問到了k的時(shí)候回答了yes,則停止發(fā)問,我們可以說從A到B的最短路徑就是k。 如果一個(gè)判定性問題的復(fù)雜度是該問題的一個(gè)實(shí)例的規(guī)模n的多項(xiàng)式函數(shù),則我們說這種可以在多項(xiàng)式時(shí)間內(nèi)解決的判定性問題屬于P類問題。 P類問題就是所有復(fù)雜度為多項(xiàng)式時(shí)間的問題的集合。 然而有些問題很難找到多項(xiàng)式時(shí)間的算法(或許根本不存在),比如找出無向圖的哈米爾頓回路問題,但是我們發(fā)現(xiàn)如果給了我們?cè)搯栴}的一個(gè)答案,我們可以在多項(xiàng)式時(shí)間內(nèi)判斷這個(gè)答案是否正確。 比如說對(duì)于哈米爾頓回路問題,給一個(gè)任意的回路,我們很容易判斷他是否是哈米爾頓回路(只要看是不是所有的頂點(diǎn)都在回路中就可以了)。 這種可以在多項(xiàng)式時(shí)間內(nèi)驗(yàn)證一個(gè)解是否正確的問題稱為NP問題。 顯然,所有的P類問題都是屬于NP問題的,但是現(xiàn)在的問題是,P是否等于NP?這個(gè)問題至今還未解決。 這就是P對(duì)NP問題。 4、P≠NP論證如果P=NP,那么每個(gè)答案很容易得到驗(yàn)證的問題也同樣可以輕松求解。 這將對(duì)計(jì)算機(jī)安全構(gòu)成巨大威脅,目前加密系統(tǒng)的破解就相當(dāng)于要將一個(gè)整數(shù)分解為幾個(gè)因數(shù)的乘積,正是其求解過程的繁瑣,才能杜絕黑客的入侵。 而現(xiàn)在,美國(guó)惠普實(shí)驗(yàn)室的數(shù)學(xué)家維奈·迪奧拉里卡圍繞一個(gè)眾所周知的NP問題進(jìn)行論證,給出了P≠NP的答案。 這就是布爾可滿足性問題(Boolean Satisfiability Problem),即詢問一組邏輯陳述是否能同時(shí)成立或者互相矛盾。 迪奧拉里卡聲稱,他已經(jīng)證明,任何程序都無法迅速解答這個(gè)問題,因此,它不是一個(gè)P問題。 如果迪奧拉里卡的答案成立,說明P問題和NP問題是不同的兩類問題,這也意味著計(jì)算機(jī)處理問題的能力有限,很多任務(wù)的復(fù)雜性從根本上來說也許是無法簡(jiǎn)化的。 對(duì)于有些NP問題,包括因數(shù)分解,P≠NP的結(jié)果并沒有明確表示它們是不能被快速解答的;但對(duì)于其子集NP完全問題,卻注定了其無法很快得到解決。 其中一個(gè)著名的例子就是旅行商問題(Travelling Salesman Problem),即尋找從一個(gè)城市到另一個(gè)城市的最短路線,答案非常容易驗(yàn)證,不過,如果P≠NP,就沒有計(jì)算機(jī)程序可以迅速給出這個(gè)答案。 迪奧拉里卡的論文草稿已經(jīng)得到了復(fù)雜性理論家的認(rèn)可,但隨后公布的論文終稿還將接受嚴(yán)格的審查。
noip初賽模擬題一套 一、選擇題(共20題,每題1.5分,共計(jì)30分。 每題有5個(gè)備選答案,前10個(gè)題為單選題,即 每題有且只有一個(gè)正確答案,選對(duì)得分;后10題為不定項(xiàng)選擇題,即每題有1至5個(gè)正確答案,只 有全部選對(duì)才得分)。 1.微型計(jì)算機(jī)的性能主要取決于( )。 A)內(nèi)存 B)主板 C)中央處理器 D)硬盤 E)顯示器 2. 128KB的存儲(chǔ)器用十六進(jìn)制表示,它的最大的地址碼是( ) A) B)EFFF C)1FFFF D)FFFFF E)FFFF 3.能將高級(jí)語言程序轉(zhuǎn)換為目標(biāo)程序的是( ). A)調(diào)試程序 B)解釋程序 C)編輯程序 D)編譯程序 E)連接程序 4.A=B,B=B,C=B,則A∨B∧C=( )B A) B) C) D) E) 5.計(jì)算機(jī)病毒傳染的必要條件是( ) 。 A)在內(nèi)存中運(yùn)行病毒程序 B)對(duì)磁盤進(jìn)行讀寫操作 C)在內(nèi)存中運(yùn)行含有病毒的可執(zhí)行程序 D)復(fù)制文件 E)刪除文件 6. TCP/IP協(xié)議共有( )層協(xié)議 A)3 B)4 C)5 D)6 E)7 7.192.168.0.1是屬于( ). A)A類地址 B)B類地址 B)C類地址 D)D類地址 E)E類地址 8.對(duì)給定的整數(shù)序列(54,73,21,35,67,78,63,24,89)進(jìn)行從小到大的排序時(shí),采用快速排序的第 一趟掃描的結(jié)果是( ). A)(24,21,35,54,67, 78,63,73,89) B)(24,35,21,54,67, 78,63,73,89) C)(24,21,35,54,67, 63,73,78,89) D)(21,24,35,54,63, 67,73,78,89) E)(24,21,35,54,67, 63,73,78,89) 9.一棵n個(gè)結(jié)點(diǎn)的完全二叉樹,則二叉樹的高度h為( ). A)n/2 B)log2n C)(log2n)/2 D) [log2n]+1 E)2n-1 10.下圖對(duì)該圖進(jìn)行廣度優(yōu)先拓樸排序得到的頂點(diǎn)序列正確的是( ). A)1,2,3,4,5,6 B)1,3,2,4,5,6 C)1,3,2,4,6,5 D)1,2,3,4,6,5, E)1,3,2,4,5,6 11.下列屬于馮.諾依曼計(jì)算機(jī)模型的核心思想是( ). A)采用二進(jìn)制表示數(shù)據(jù)和指令; B)采用”存儲(chǔ)程序”工作方式 C)計(jì)算機(jī)硬件有五大部件(運(yùn)算器、控制器、存儲(chǔ)器、輸入和輸出設(shè)備) D)結(jié)構(gòu)化程序設(shè)計(jì)方法 E)計(jì)算機(jī)軟件只有系統(tǒng)軟件 12.下列屬于輸入設(shè)備的是( ). A)打印機(jī) B)掃描儀 C)光筆 D)鼠標(biāo) E)顯示器 13.算式(1000)10-(100)16-(10)8的結(jié)果是( ). A)(890)10 B)(986)8 C)()2 D)(2E0)16 E)(736)10 14.下面關(guān)于算法的正確的說法是( ) A)算法必須有輸出 B)算法必須在計(jì)算機(jī)上用某種語言實(shí)現(xiàn) C)算法不一定有輸入 D)算法必須在有限步執(zhí)行后能結(jié)束 E)算法的每一步驟必須有確切的定義 15.下列關(guān)于十進(jìn)制數(shù)100的正確說法是( ). A)原碼為B B)反碼為64H C)反碼為9BH D)補(bǔ)碼為64H E)補(bǔ)碼為9BH 16.關(guān)于windows系統(tǒng)中的窗口和對(duì)話框的說法正確的是( ). A)對(duì)話框能移動(dòng)和改變大小 B)窗口能移動(dòng)和改變大小 C)對(duì)話框只能移動(dòng)和但不能改變大小 D)對(duì)話框不能移動(dòng)但能改變大小 E)窗口能移動(dòng)和但不能改變大小 17.下列邏輯運(yùn)算正確的是( )。 A) A·(A + B )= A B) A +(A·B)= A C) A·(B + C )= A·B + A·C D) A +(B·C)=(A + B)·(A + C) E) A+1=A 18.下列關(guān)于排序說法正確的是( ). A)插入排序、冒泡排序是穩(wěn)定的 B)選擇排序的時(shí)間復(fù)雜性為O(n2) C)選擇排序、希爾排序、快速排序、堆排序是不穩(wěn)定的 D)希爾排序、快速排序、堆排序的時(shí)間復(fù)雜性為O(nlog2n) E)快速排序是速度最快的排序 19.對(duì)于一個(gè)大小為3的棧,若輸入隊(duì)列為,則下列輸出隊(duì)列有可能的是( )。 A) B) C) D) E) 20. 設(shè)有一個(gè)含有13個(gè)元素的Hash表(0~12),Hash函數(shù)是:H(key)=key % 13,其中% 是求余數(shù) 運(yùn)算。 用二次探查法解決沖突,則對(duì)于序列(8、31、20、33、18、53、27),則下列說法正確 作者: maold 2007-5-22 20:57 回復(fù)此發(fā)言 -------------------------------------------------------------------------------- 2 回復(fù):noip初賽模擬題一套 的是( ) 。 A)27在1號(hào)格子中 B)33在6號(hào)格子中 C)31在5號(hào)格子中 D)20在7號(hào)格子中 E)18在4號(hào)格子中 二.問題求解(5分*2=10分) 1.一個(gè)商場(chǎng)有m種顏色的小球,每種小球足夠多,在這m種小球中挑選n個(gè)小球的選法有多少種? 如 m=2,n=3 時(shí)有4種選法分別是:兩種小球的個(gè)數(shù)分別為03,12,21,30.問:當(dāng)m=4,n=4時(shí) 選法數(shù)=__________。 2.如果一棵m度樹中有n1個(gè)度為1的結(jié)點(diǎn),n2個(gè)度為2的結(jié)點(diǎn),…….有 nm個(gè)度為m的結(jié)點(diǎn),則該樹中葉結(jié)點(diǎn)的的個(gè)數(shù)=______________. 三.閱讀程序?qū)懗稣_的程序運(yùn)行結(jié)果(4分*8=32分) t1; var n:integer; function count(n:integer):integer; begin if n=1 then count:=0 else if n mod 2=0 then count:=count(n div 2)+1 else count:=count(n*3+1)+1; end; begin readln(n); writeln(count(n)); end. 輸入:99 輸出: t2; var hi,lo:integer; procedure pl(m,n:integer;var hi,lo:integer); var I:integer; begin I:=n;hi:=0;lo:=0; Repeat I:=I-1;lo:=lo+m; If lo>= then begin Lo:=lo-; Hi:=hi+1; End; Until I=0; Write(hi:4,’, ‘,lo:4); End; Begin P1(200,343,hi,lo); End. 輸出: t3; Var d1,d2,X,Min : real; begin Min:=; X:=3; while X < 15 do begin d1:=sqrt(9+(X-3)*(X-3)); d2:=sqrt(4+(15-X)*(15-X)); if (d1+d2) < Min then Min:=d1+d2; X:=x+0.001; end; writeln(Min:10:2); end. 輸出: t4; var i,k,n:integer; x,w:array[1..500] of integer; begin readln(n); for i:=1 to n do begin x[i]:=0;w[i]:=1; end; for i:=2 to trunc(sqrt(n))+1 do if x[i]=0 then begin k:=i*i; while K<=n do begin x[k]:=i; k:=k+i; end; end; for i:=n downto 1 do if x[i]<>0 then begin w[x[i]]:=w[x[i]]+w[i]; w[i div x[i]]:=w[i div x[i]]+w[i]; w[i]:=0; end; writeln(w[2],w[3]:5,w[5]:5); end. 輸入:20 輸出: 四.完善程序題(4分*7=28分) 1. 降序組合.給定兩個(gè)自然數(shù)n,r(n>r),輸出從數(shù)1 到n中按降序順序取r個(gè)自然數(shù)的所有 組合.例如,n=5,r=3時(shí),有如下組合: 5 4 3 5 4 2 5 4 1 5 3 2 5 3 1 5 2 1 4 3 2 4 3 1 4 2 1 3 2 1 程序如下: program tk1; var n,r,i,j:integer; a:array[1..20] of integer; begin write(n,r=); repeat readln(n,r); until n>r; i:=1;a[1]:=n;writeln(result:); repeat if i<>r then if a[i]>r-i then begin ___(1)___;i:=i+1; end else begin ___(2)___; a[I]:=a[I]-1 end else begin for j:=1 to r do write(a[j]:3); writeln; if a[r]=1 then begin i:=i-1; a[i]:=a[i]-1; end else ___(3)___ end; until a[1]=r-1; end. 2. 現(xiàn)在政府計(jì)劃在某個(gè)區(qū)域內(nèi)的的城市間架設(shè)高速公路,以使任意兩個(gè)城市間能夠直接或 間接到達(dá),怎樣修路,費(fèi)用最小。 輸入文件:第箭頭替換整數(shù) n(n<=100)表示城市數(shù)目。 第二行至第n+1行每行兩個(gè)數(shù)xi,yi(0<=xi,yi<=100)表示第i個(gè)城市的坐標(biāo)(單位:千米); 輸出最小費(fèi)用(每千米一個(gè)單位價(jià)格)。 程序如下: program t6; const maxn=100; type tcity=record x,y:real end; var c:array[] of tcity; d:array[,] of real; p:array[] of integer; n,i,j,k:integer; a,min:real; begin readln(n); for i:=1 to n do readln(c[i].x,c[i].y); for i:=1 to n do for j:=1 to n do d[i,j]:=sqrt(sqr(c[i].x-c[j].x)+sqr(c[i].y-c[j].y)); p[1]:=0; for i:=2 to n do ___(4)___ for i:=1 to n-1 do begin min:=1e10; for j:=1 to n do if ___(5)___ then begin min:=d[p[j],j]; ___(6)___ end; a:=a+d[p[k],k]; p[k]:=0; for j:=1 to n do if ___(7)___ then p[j]:=k; end; writeln(a:0:2); end. 初賽模擬測(cè)試題答案: 一 1-10:CCDDB BCBDC 11-15:ABC;BCD;CDE;ACDE;ABD; 16-20:BC;ABCD;ACD;AE;BCDE 二 1: 35 2: n2+2n3+…+(m-1)nm+1 三 . 1: 25 2: 6.8600 3: 13.00 4: 18 8 4 四 . 1.a[i+1]:=a[i]-1 2. i:=i-1; 3. a[i]:=a[i]-1或a[r]:=a[r]-1; 4. p[i]:=1; 5. (p[j]>0) and (d[p[j],j]) < min) 6. k:=j; 7. (p[j]>0) and (d[p[j],j]>d[k,j])
全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)Java語言程序設(shè)計(jì)筆試試卷 (考試時(shí)間90分鐘,滿分100分) 一,選擇題(每小題2分,共70分) 下列各題A),B),C),D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的,請(qǐng)將正確選項(xiàng)涂寫在答題卡相應(yīng)位置上,答在試卷上不得分. (1)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)是指______. A )存儲(chǔ)在外存中的數(shù)據(jù) B)數(shù)據(jù)所占的存儲(chǔ)空間量 C )數(shù)據(jù)在計(jì)算機(jī)中的順序存儲(chǔ)方式 D)數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的表示 答案:D (2)下列關(guān)于棧的描述中錯(cuò)誤的是______. A) 棧是先進(jìn)后出的線性表 B ) 棧只能順序存儲(chǔ) C ) 棧具有記憶作用 D ) 對(duì)棧的插入與刪除操作中,不需要改變棧底指針 答案:B (3)對(duì)于長(zhǎng)度為n的線性表,在最壞情況下,下列各排序法所對(duì)應(yīng)的比較次數(shù)中正確的是______. A )冒泡排序?yàn)閚/2 B)冒泡排序?yàn)閚 C )快速排序?yàn)閚 D)快速排序?yàn)閚(n-1)/2 答案:D (4)對(duì)長(zhǎng)度為n的線性表進(jìn)行順序查找,在最壞情況下所需要的比較次數(shù)為______. A )log2n B)n/2 C)n D)n+1 答案:C (5)下列對(duì)于線性鏈表的描述中正確的是______. A ) 存儲(chǔ)空間不一定是連續(xù),且各元素的存儲(chǔ)順序是任意的 B ) 存儲(chǔ)空間不一定是連續(xù),且前件元素一定存儲(chǔ)在后件元素的前面 C ) 存儲(chǔ)空間必須連續(xù),且前件元素一定存儲(chǔ)在后件元素的前面 D ) 存儲(chǔ)空間必須連續(xù),且各元素的存儲(chǔ)順序是任意的 答案:A (6)下列對(duì)于軟件測(cè)試的描述中正確的是______. A ) 軟件測(cè)試的目的是證明程序是否正確 B ) 軟件測(cè)試的目的是使程序運(yùn)行結(jié)果正確 C ) 軟件測(cè)試的目的是盡可能多地發(fā)現(xiàn)程序中的錯(cuò)誤 D ) 軟件測(cè)試的目的是使程序符合結(jié)構(gòu)化原則 答案:C (7)為了使模塊盡可能獨(dú)立,要求______. A ) 模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量強(qiáng) B ) 模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量弱 C ) 模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量弱 D ) 模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量強(qiáng) 答案:B (8)下列描述中正確的是______. A )程序就是軟件 B )軟件開發(fā)不受計(jì)算機(jī)系統(tǒng)的限制 C )軟件既是邏輯實(shí)體,又是物理實(shí)體 D )軟件是程序,數(shù)據(jù)與相關(guān)文檔的集合 答案:D (9)數(shù)據(jù)獨(dú)立性是數(shù)據(jù)庫(kù)技術(shù)的重要特點(diǎn)之一,所謂數(shù)據(jù)獨(dú)立性是指______. A )數(shù)據(jù)與程序獨(dú)立存放 B )不同的數(shù)據(jù)被存放在不同的文件中 C )不同的數(shù)據(jù)只能被對(duì)應(yīng)的應(yīng)用程序所使用 D )以上三種說法都不對(duì) 答案:D (10)用樹形結(jié)構(gòu)表示實(shí)體之間聯(lián)系的模型是______. A )關(guān)系模型 B)網(wǎng)狀模型 C)層次模型 D)以上三個(gè)都是 答案:C (11)在Java中,負(fù)責(zé)對(duì)字節(jié)代碼解釋執(zhí)行的是______. A)垃圾回收器 B)虛擬機(jī) C)編譯器 D)多線程機(jī)制 答案:B (12)下列敘述中,正確的是 A)Java語言的標(biāo)識(shí)符是區(qū)分大小寫的 B)源文件名與public類名可以不相同 C)源文件擴(kuò)展名為 D)源文件中public類的數(shù)目不限 答案:A (13)下列屬于合法的Java標(biāo)識(shí)符是 A)_cat B)5books C)+static D)-3. 答案:A (14)在Java中,表示換行符的轉(zhuǎn)義字符是 A)\n B)\f C)n D)\dd 答案:A (15)在Java中,由Java編譯器自動(dòng)導(dǎo)入,而無需在程序中用import導(dǎo)入的包是 A) B) C) D) 答案:D (16)在Java中,所有類的根類是 A) B) C) D) 答案:A (17)在Java中,用Package語句說明一個(gè)包時(shí),該包的層次結(jié)構(gòu)必須是 A)與文件的結(jié)構(gòu)相同 B)與文件目錄的層次相同 C)與文件類型相同 D)與文件大小相同 答案:B (18)在讀字符文件時(shí),使用該文件作為參數(shù)的類是 A)BufferReader B)DatainputStream C)DataOutoutStream D)fileInputStream 答案:D (19)下列構(gòu)造方法的調(diào)用方式中,正確的是 A)按照一般方法調(diào)用 B)由用戶直接調(diào)用 C)只能通過new自動(dòng)調(diào)用 D)被系統(tǒng)調(diào)用 答案:C (20)類Panel默認(rèn)的布局管理器是 A)GridLayout B)BorderLayout C)FlowLayout D)CardLayout 答案:C (21)在Java中,能實(shí)現(xiàn)多重繼承效果的方式是 A)內(nèi)部類 B)適配器 C)接口 D)同步 答案:C (22)char類型的取值范圍是 A)2-7 ~27 -1 B)0~216-1 C)-215 ~215 -1 D)0~28-1 答案:B (23)能夠支持javadoc命令的注釋語句是 A)/**...// B)/*...*/ C)// D)/**...*/ 答案:D (24)十進(jìn)制數(shù)16的16進(jìn)制表示格式是 A)0x10 B)0x16 C)0xA D)16 答案:A (25)int型public成員變量MAX_LENGTH,該值保持為常數(shù)100,則定義這個(gè)變量的語句是 A)public int MAX_LENGTH=100 B)final int MAX_LENGTH=100 C)public const int MAX_LENGTH=100 D)public final int MAX_LENGTH=100 答案:D (26)下列不是InputStream子類的是 A)文件輸入流FileInputStream B)final int MAX_LENGTH=100 C)public const int MAX_LENGTH=100 D)public final int MAX_LENGTH=100 答案:C (27)下列方法中可以用來創(chuàng)建一個(gè)新線程的是 A)實(shí)現(xiàn)接口并重寫start()方法 B)實(shí)現(xiàn)接口并重寫run()方法 C)實(shí)現(xiàn)類并重寫run()方法 D)實(shí)現(xiàn)類并重寫start()方法 答案:C (28)下列關(guān)于Java Application與Applet的說法中,正確的是 A)都包含main()方法 B)都通過appletviewer命令執(zhí)行 C)都通過javac命令編譯 D)都嵌入在HTML文件中執(zhí)行 答案:C (29)當(dāng)啟動(dòng)Applet程序時(shí),首先調(diào)用的方法是 A)stop() B)init() C)start() D)destroy() 答案:B (30)下列關(guān)于線程優(yōu)先級(jí)的說法中,正確的是 A)線程的優(yōu)先級(jí)是不能改變的 B)線程的優(yōu)先級(jí)是在創(chuàng)建線程時(shí)設(shè)置的 C)在創(chuàng)建線程后的任何時(shí)候都可以設(shè)置 D)B和C 答案:C (31)當(dāng)瀏覽器重新返回Applet所在頁(yè)面時(shí),將調(diào)用Applet類的方法是 A)start() B)init() C)stop() D)destroy() 答案:A (32)按照J(rèn)ava的標(biāo)識(shí)符命名規(guī)范,下列表示一個(gè)類的標(biāo)識(shí)符正確的是 A)Helloworld B)HelloWorld C)helloworld D)helloWorld 答案:B (33)下列代碼中,將引起一個(gè)編譯錯(cuò)誤的行是 1)public class Test{ 2) int m,n; 3) public Test() {} 4) public Test(int a) {m=a;} 5) public static void main(String args[]){ 6) Test t1,t2; 7) int j,k; 8) j=0;k=0; 9) t1=new Test(); 10) t2=new Test(j,k); 11) } 12)} A)第3行 B)第5行 C)第6行 D)第10行 答案:D (34)下列程序的功能是在監(jiān)控臺(tái)上每隔一秒鐘顯示一個(gè)字符串Hello,能夠填寫在程序中下劃線位置,使程序完整并能正確運(yùn)行的語句是 public class Test implements Runnable{ public static void main(String args[]){ Test t=new Test(); Thread tt=new Thread(t); (); } public void run(){ for(;;){ try{ ; }catch( e){} (Hello); } } } A) sleep(1000) InterruptedException B) sleep(1000) InterruptedException C) (1000) RuntimeException D) (1000) InterruptedException 答案:D (35)閱讀下列代碼后 public class Person{ int arr[]=new int[10]; public static void main(String args[]){ (arr[1]); } } 正確的說法是 A) 編譯時(shí)將產(chǎn)生錯(cuò)誤 B) 編譯時(shí)正確,運(yùn)行時(shí)將產(chǎn)生錯(cuò)誤 C) 輸出零 D) 輸出空 答案:A 二,填空題(每空2分,共40分) 請(qǐng)將每空的正確答案寫在【1】至【20】序號(hào)的橫線上,答在試卷上不得分. (1)某二叉樹中度為2的結(jié)點(diǎn)有18個(gè),則該二叉樹中有 【1】 個(gè)葉子結(jié)點(diǎn). 答案:19 (2)在面向?qū)ο蠓椒ㄖ?類的實(shí)例稱為 【2】 . 答案:對(duì)象 (3)診斷和改正程序中錯(cuò)誤的工作通常稱為 【3】 . 答案:調(diào)試或程序調(diào)試或軟件調(diào)試或Debug(英文字母大小寫均可)或調(diào)試程序或調(diào)試軟件 (4)在關(guān)系數(shù)據(jù)庫(kù)中,把數(shù)據(jù)表示成二維表,每一個(gè)二維表稱為 【4】 . 答案:關(guān)系或關(guān)系表 (5)問題處理方案的正確而完整的描述稱為 【5】 . 答案:算法或程序或流程圖 (6)面向?qū)ο蟮恼Z言將客觀世界都看成由各種對(duì)象組成,共同特征和行為的對(duì)象組成類,類是變量和 【6】 的集合體. 答案:方法 (7)Java源文件中最多只能有一個(gè) 【7】 類,其它類的個(gè)數(shù)不限. 答案:public (8)在Java中所實(shí)現(xiàn)的多維數(shù)組,實(shí)際上是由一維數(shù)組構(gòu)成的 【8】 . 答案:數(shù)組的數(shù)組 (9)StringBuffer類提供 【9】 字符串對(duì)象的表示. 答案:可變或可編輯 (10)每個(gè)Applet程序必須有一個(gè)類是 【10】 類的子類. 答案:Applet (11)線程在生命期中要經(jīng)歷5種狀態(tài),分別是新建狀態(tài),可運(yùn)行狀態(tài),運(yùn)行狀態(tài), 【11】 狀態(tài)和終止?fàn)顟B(tài). 答案:阻塞 (12)FileInputStream是字節(jié)流;BufferedWriter是字符流;ObjectOutputStream是 【12】 . 答案:對(duì)象流或?qū)ο筝敵隽?(13)break語句最常見的用法是在switch語句中,通過break語句退出switch語句,使程序從整個(gè)switch語句后面的 【13】 開始執(zhí)行. 答案:第一條語句 (14)請(qǐng)閱讀下列程序代碼,然后將程序的執(zhí)行結(jié)果補(bǔ)充完整. public class throwsException { static void Proc(int sel) throws ArithmeticException,ArrayIndexOutOfBoundsException{ (In Situation+sel); if(sel==0){ (no Exception caught); return; }else if(sel==1){ int iArray[]=new int[4]; iArray[1]=3; } } public static void main(String args[]){ try{ Proc(0); Proc(1); }catch(ArrayIndexOutOfBoundsException e){ (Catch+e); }finally{ (in Proc finally); } } 執(zhí)行結(jié)果: () no Exception caught 【14】 in Proc finally 答案:In Situation 1 (15)當(dāng)使用Thread t=new Thread(r)創(chuàng)建一個(gè)線程時(shí),表達(dá)式:r instanceof Thread的值為 【15】 . 答案:false
內(nèi)容聲明:
1、本站收錄的內(nèi)容來源于大數(shù)據(jù)收集,版權(quán)歸原網(wǎng)站所有!
2、本站收錄的內(nèi)容若侵害到您的利益,請(qǐng)聯(lián)系我們進(jìn)行刪除處理!
3、本站不接受違法信息,如您發(fā)現(xiàn)違法內(nèi)容,請(qǐng)聯(lián)系我們進(jìn)行舉報(bào)處理!
4、本文地址:http://www.lmxpnzry.com/article/a7b817aee721e4628472.html,復(fù)制請(qǐng)保留版權(quán)鏈接!
簡(jiǎn)介OpenCL,開放計(jì)算語言,是一種用于異構(gòu)系統(tǒng)并行編程的開放標(biāo)準(zhǔn),它允許開發(fā)人員利用CPU、GPU和其他加速器等異構(gòu)計(jì)算資源來顯著提高應(yīng)用程序的性能,本文旨在將OpenCL與其他流行的并行編程語言進(jìn)行對(duì)比,揭開它們的優(yōu)勢(shì)和局限性,比較標(biāo)準(zhǔn)我們將根據(jù)以下標(biāo)準(zhǔn)對(duì)OpenCL和其他并行編程語言進(jìn)行對(duì)比,編程模型性能易用性支持平臺(tái)編程模型...。
最新資訊 2024-09-28 16:28:44
歡迎來到AJAX在線視頻教程,在這里,您將學(xué)習(xí)AJAX的基本原理,并了解如何使用它來構(gòu)建更具交互性和響應(yīng)性的Web應(yīng)用程序,什么是AJAX,AJAX,異步JavaScript和XML,是一種Web開發(fā)技術(shù),允許Web應(yīng)用程序在不重新加載整個(gè)頁(yè)面的情況下與服務(wù)器通信,這使Web應(yīng)用程序能夠更快速、更響應(yīng)地對(duì)用戶交互做出響應(yīng),并創(chuàng)建更流暢...。
本站公告 2024-09-23 16:38:43
NaN,NotaNumber,是一個(gè)特殊值,表示一個(gè)無效的數(shù)字,當(dāng)任何數(shù)字與NaN進(jìn)行算術(shù)運(yùn)算時(shí),結(jié)果始終為NaN,NaN的定義NaN不是一個(gè)有效數(shù)字,因此不能參與普通的算術(shù)運(yùn)算,它是一個(gè)特殊值,表示結(jié)果無效或未定義,NaN在算術(shù)運(yùn)算中的表現(xiàn)當(dāng)任何數(shù)字與NaN進(jìn)行算術(shù)運(yùn)算時(shí),結(jié)果始終為NaN,這是因?yàn)镹aN表示一個(gè)無效的數(shù)字,因此任何...。
技術(shù)教程 2024-09-23 02:31:35
氣候變化的嚴(yán)重后果氣候變化是一個(gè)迫在眉睫的危機(jī),對(duì)我們的星球和人類社會(huì)構(gòu)成嚴(yán)重威脅,隨著地球大氣層中溫室氣體濃度的不斷增加,我們正在經(jīng)歷各種嚴(yán)重的后果,包括,...。
本站公告 2024-09-16 22:33:18
在當(dāng)今快節(jié)奏的商業(yè)環(huán)境中,企業(yè)必須不斷尋找提高運(yùn)營(yíng)效率的方法,自動(dòng)化流程是一個(gè)強(qiáng)大的工具,可以幫助企業(yè)節(jié)省時(shí)間、金錢并提高準(zhǔn)確性,自動(dòng)化的優(yōu)勢(shì)節(jié)省時(shí)間,自動(dòng)化流程可以幫助企業(yè)節(jié)省寶貴的時(shí)間,通過消除手動(dòng)任務(wù),企業(yè)可以將員工從繁瑣、重復(fù)性的任務(wù)中解放出來,從而專注于更重要的工作,節(jié)省金錢,自動(dòng)化流程還可以幫助企業(yè)節(jié)省資金,通過減少對(duì)人員...。
互聯(lián)網(wǎng)資訊 2024-09-16 16:52:09
CSS布局技術(shù)為Web開發(fā)人員提供了多種方式來排列和組織網(wǎng)頁(yè)的內(nèi)容,這些技術(shù)包括網(wǎng)格、彈性盒子和浮動(dòng),網(wǎng)格網(wǎng)格是一種二維布局系統(tǒng),允許您將元素放置在行和列中,使用網(wǎng)格可以創(chuàng)建具有復(fù)雜布局的頁(yè)面,例如多列布局或網(wǎng)格布局,元素1元素2元素3元素4元素5元素6彈性盒子彈性盒子是一種一維布局系統(tǒng),允許您將元素水平或垂直排列,使用彈性盒子,您可...。
技術(shù)教程 2024-09-15 13:45:13
到新系統(tǒng)中,以確保數(shù)據(jù)完整性,培訓(xùn)和支持,為所有用戶提供全面的培訓(xùn),并提供持續(xù)的支持以確保順利實(shí)施,監(jiān)視和調(diào)整,在實(shí)施后密切監(jiān)視系統(tǒng)并進(jìn)行必要的調(diào)整,以優(yōu)化性能和滿足不斷變化的需求,持續(xù)改進(jìn),利用供應(yīng)商和行業(yè)最佳實(shí)踐不斷改進(jìn)PMS的使用,以最大化其潛力,結(jié)論數(shù)據(jù)庫(kù)客房管理系統(tǒng)是釋放酒店潛力的強(qiáng)大工具,通過集中式數(shù)據(jù)管理、實(shí)時(shí)更新、自動(dòng)...。
最新資訊 2024-09-13 14:23:47
面向?qū)ο缶幊蹋琌OP,是一種軟件開發(fā)模型,它將程序組織成對(duì)象,對(duì)象由數(shù)據(jù)和操作這些數(shù)據(jù)的函數(shù)組成,OOP的主要優(yōu)點(diǎn)是可重用性、可擴(kuò)展性和可維護(hù)性,面向?qū)ο蟮幕靖拍铑惡蛯?duì)象類是對(duì)象的藍(lán)圖,它定義了對(duì)象的屬性和方法,對(duì)象是類的實(shí)例,封裝封裝是指將數(shù)據(jù)和操作它的方法作為一個(gè)單元進(jìn)行打包,這有助于將類的內(nèi)部實(shí)現(xiàn)細(xì)節(jié)隱藏在外部世界之外,繼承繼...。
互聯(lián)網(wǎng)資訊 2024-09-12 20:28:30
引言數(shù)據(jù)庫(kù)管理是Java開發(fā)中至關(guān)重要的方面,理解數(shù)據(jù)庫(kù)事務(wù)、并發(fā)性和安全性對(duì)于構(gòu)建健壯且可靠的應(yīng)用程序至關(guān)重要,本文將深入探討這些概念,并提供代碼示例來演示如何在Java中使用它們,事務(wù)事務(wù)是一個(gè)邏輯單元的工作,它要么全部提交,成功,,要么全部回滾,失敗,這意味著事務(wù)中的所有操作都必須一起發(fā)生,或者一個(gè)都不發(fā)生,事務(wù)特性ACID原...。
技術(shù)教程 2024-09-11 13:52:24
body,font,family,Arial,Helvetica,sans,serif,font,size,16px,.container,width,100%,max,width,800px,margin,0auto,padding,20px,.gallery,display,grid,grid,template,columns...。
最新資訊 2024-09-05 11:24:48
引言上海,中國(guó)最繁華的城市之一,不僅以其摩天大樓和現(xiàn)代化而聞名,還因其鬧鬼傳聞而聞名,其中最著名的傳聞之一便是鬧鬼的電梯,傳聞的起源上海電梯鬧鬼傳聞的起源可以追溯到20世紀(jì)50年代,據(jù)傳,一家老舊公寓樓的一部電梯發(fā)生了故障,將一名年輕女子困在里面,女子在電梯里被發(fā)現(xiàn)死亡,此后電梯就經(jīng)常出現(xiàn)靈異事件,第一個(gè)傳聞第一個(gè)廣為流傳的傳聞發(fā)生在...。
互聯(lián)網(wǎng)資訊 2024-09-03 04:55:34
1、構(gòu)建網(wǎng)站的總體框架,設(shè)置網(wǎng)站中顯示的欄目,用服務(wù)器端的語言來處理與數(shù)據(jù)庫(kù)的數(shù)據(jù)交互,用html和css,設(shè)計(jì)頁(yè)面的樣式的展示,用腳本語言,對(duì)網(wǎng)站進(jìn)行表單驗(yàn)證,2、如果是動(dòng)態(tài)網(wǎng)頁(yè),則需要加上數(shù)據(jù)庫(kù)的支持,將建好的網(wǎng)站傳到服務(wù)器,要懂得如何配置服務(wù)器,將建好的網(wǎng)站傳到服務(wù)器,要懂得如何配置服務(wù)器,建立網(wǎng)站需要什么條件建立網(wǎng)站需要的條件...。
技術(shù)教程 2024-09-02 00:23:50