freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

全國計算機等級考試二級公共基礎(chǔ)知識考綱(編輯修改稿)

2025-07-21 06:28 本頁面
 

【文章內(nèi)容簡介】 定的元素。1.順序查找順序查找又稱順序搜索。一般是在線性表中查找指定的元素。基本操作方法是:從線性表的第一個元素開始,與被查元素進行比較,相等則查找成功,否則繼續(xù)向后查找。如果所有的元素均查找完畢后都不相等,則該元素在指定的線性表中不存在。順序查找的最好情況:要查找的元素在線性表的第一個元素,則查找效率最高;如果要查找的元素在線性表的最后或根本不存在,則查找需要搜索所有的線性表元素,這種情況是最差情況。對于線性表而言,順序查找效率很低。但對于以下的線性表,也只能采用順序查找的方法:l 線性表為無序表,即表中的元素沒有排列不是按大小順序進行排列的,這類線性表不管它的存儲方式是順序存儲還是鏈式存儲,都只能按順序查找方式進行查找l 即使是有序線性表,如果采用鏈式存儲,也只能采用順序查找方式例如,現(xiàn)有線性表:4,要在序列中查找元素6,查找的過程是:l 整個線性表的長度為5l 查找計次n=1,將元素6與序列的第一個7元素進行比較,不等,繼續(xù)查找l n=2,將6與第二個元素2進行比較,不等,繼續(xù)l n=3,將6與第三個元素1進行比較,不等,繼續(xù)l n=4,將6與第四個元素5進行比較,不等,繼續(xù)l n=5,將6與第五個元素9進行比較,不等,繼續(xù)l n=6,將6與第六個元素4進行比較,不等,繼續(xù)l n=7,超出線性表的長度,查找結(jié)束,則該表中不存在要查找的元素。2.二分查找二分查找只適用于順序存儲的有序表。此處所述的有序表是指線性中的元素按值非遞減排列(即由小到大,但允許相鄰元素值相等)。二分查找的方法如下:將要查找的元素與有序序列的中間元素進行比較:l 如果該元素比中間元素大,則繼續(xù)在線性表的后半部分(中間項以后的部分)進行查找l 如果要查找的元素的值比中間元素的值小,則繼續(xù)在線性表的前半部分(中間項以前的部分)進行查找這個查找過程一直按相同的順序進行下去,一直到查找成功或子表長度為0(說明線性表中沒有要查找的元素)有序線性表的二分法查找,條件是必須這個有序線性表的存儲方式是順序存儲的。它的查找效率比順序查找要高得多,它的最壞情況的查找次數(shù)是log2n次,而順序查找的最壞情況的查找次數(shù)是n次。當然,二分查找的方法也支持順序存儲的遞減序列的線性表。有非遞減有序線性表:9,要查找元素6。查找的方法是:l 序列長度為n=6,中間元素的序號m=[(n+1)/2]=3l 查找計次k=1,將元素6與中間元素即元素4進行比較,不等,64l 查找計次k=2,查找繼續(xù)在后半部分進行,后半部分子表的長度為3,計算中間元素的序號:m=3+[(3+1)/2]=5,將元素與后半部分的中間項進行比較,即第5個元素中的7進行比較,不等,67l 查找計次k=3,繼續(xù)查找在后半部分序列的前半部分子序列中查找,子表長度為1,則中間項序號即為m=3+[(1+1)/2]=4,即與第4個元素5進行比較,不相等,繼續(xù)查找的子表長度為0,則查找結(jié)束(八)排序技術(shù)排序即是將一個無序的序列整理成按值非遞減順序排列的有序序列。在這里,我們討論的是順序存儲的線性表的排序操作。1.交換類排序法交換類排序法,即是借助于數(shù)據(jù)元素之間的互相交換進行排序的方法。1)冒泡排序法冒泡排序法即是利用相鄰數(shù)據(jù)元素之間的交換逐步將線性表變成有序序列的操作方法。操作過程如下:l 從表頭開始掃描線性表,在掃描過程中逐次比較相鄰兩個元素的大小,若相鄰兩個元素中前一個元素的值比后一個元素的值大,將兩個元素位置進行交換,當掃描完成一遍時,則序列中最大的元素被放置到序列的最后。l 再繼續(xù)對序列從頭進行掃描,這一次掃描的長度是序列長度減1,因為最大的元素已經(jīng)就位了,采用與前相同的方法,兩兩之間進行比較,將次大數(shù)移到子序列的末尾。l 按相同的方法繼續(xù)掃描,每次掃描的子序列的長度均比上一次減1,直至子序列的長度為1時,排序結(jié)束。例如,有序列6,將該序列從小到大進行排列。采用冒泡排序法,具體操作步驟如下:序列長度n=7原序列 5 2 9 4 1 7 6第一遍(從前往后) 5172。174。 2 9 4 1 7 6 2 5 9172。174。 4 1 7 6 2 5 4 9172。174。 1 7 6 2 3 4 1 9172。174。 7 6 2 5 4 1 7 9172。174。 6第一遍結(jié)束后 2 5 4 1 7 6 9第二遍(從前往后) 2 5172。174。 4 1 7 6 9 2 4 5172。174。 1 7 6 9 2 4 1 5 7172。174。 6 9 2 4 1 5 6 7 9第二遍結(jié)束后 2 4 1 5 6 7 9第三遍(從前往后) 2 4172。174。 1 5 6 7 9 2 1 4 5 6 7 9第三遍結(jié)束 2 1 4 5 6 7 9第四遍(從前往后) 2172。174。 1 4 5 6 7 9 1 2 4 5 6 7 9第四遍結(jié)束 1 2 4 5 6 7 9最后結(jié)果 1 2 4 5 6 7 9掃描的次數(shù),最多需要掃描n1次,如果序列已經(jīng)就位,則掃描結(jié)束。測試是否已經(jīng)就位,可設(shè)置一個標志,如果該次掃描沒有數(shù)據(jù)交換,則說明數(shù)據(jù)排序結(jié)束。2)快速排序法冒泡排序方法每次交換只能改變相鄰兩個元素之間的逆序,速度相對較慢。如果將兩個不相鄰的元素之間進行交換,可以消除多個逆序。快速排序的方法是:從線性表中選取一個元素,設(shè)為T,將線性表后面小于T的元素移到前面,而前面大于T的元素移到后面,結(jié)果將線性表分成兩個部分(稱為兩個子表),T插入到其分界線的位置處,這個過程稱為線性表的分割。對過對線性表的一次分割,就以T為分界線,將線性表分成前后兩個子表,且前面子表中的所有元素均不大于T,而后面的所有元素均不小于T。再將前后兩個子表再進行相同的快速排序,將子表再進行分割,直到所有的子表均為空,則完成快速排序操作。在快速排序過程中,隨著對各子表不斷的進行分割,劃分出的子表會越來越多,但一次又只能對一個子表進行分割處理,需要將暫時不用的子表記憶起來,這里可用棧來實現(xiàn)。對某個子表進行分割后,可以將分割出的后一個子表的第一個元素與最后一個元素的位置壓入棧中,而繼續(xù)對前一個子表進行再分割;當分割出的子表為空時,可以從棧中退出一個子表進行分割。這個過程直到棧為空為止,說明所有子表為空,沒有子表再需分割,排序就完成。2.插入類排序法1)簡單插入排序插入排序,是指將無序序列中的各元素依次插入到已經(jīng)有序的線性表中。插入排序操作的思路:在線性表中,只包含第1個元素的子表,作為該有序表。從線性表的第2個元素開始直到最后一個元素,逐次將其中的每一個元素插入到前面的有序的子表中。該方法與冒泡排序方法的效率相同,最壞的情況下需要n(n1)/2次比較。例如,有序列6,將該序列從小到大進行排列。采用簡單插入排序法,具體操作步驟如下:序列長度n=7 5 2 9 4 1 7 6 173。j=2 2 5 9 4 1 7 6 173。j=3 2 5 9 4 1 7 6 173。j=4 2 4 5 9 1 7 6 173。j=5 1 2 4 5 9 7 6 173。j=6 1 2 4 5 7 9 6 173。j=7插入排序后的結(jié)果 1 2 4 5 6 7 92)希爾排序法希爾排序法的基本思想:將整個無序序列分割成若干小的子序列分別進行插入排序。子序列的分割方法:將相隔某個增量h的元素構(gòu)成一個子序列,在排序的過程中,逐次減小這個增量,最后當h減小到1時,再進行一次插入排序操作,即完成排序。增量序列一般取ht=n/2k(k=1,2,…,[log2n]),其中n為待排序序列的長度。3.選擇類排序法1)簡單選擇排序法基本思路:掃描整個線性表,從中選出最小的元素,將它交換到表的最前面,然后對后面的子表采用相同的方法,直到子表為空為止。對于長度為n的序列,需要掃描n1次,每一次掃描均找出剩余的子表中最小的元素,然后將該最小元素與子表的第一個元素進行交換。例如,有序列6,將該序列從小到大進行排列。采用簡單選擇排序法,具體操作步驟如下:原序列 5 2 9 4 1 7 6第一遍掃描 1 2 9 4 5 7 6第二遍掃描 1 2 9 4 5 7 6第三遍掃描 1 2 4 9 5 7 6第四遍掃描 1 2 4 5 9 7 6第五遍掃描 1 2 4 5 6 7 9第六遍掃描 1 2 4 5 6 7 9排序結(jié)果 1 2 4 5 6 7 92)堆排序法堆排序法屬于選擇類排序方法。堆的定義:具有n個元素的序列(h1,h2,…,hn),當且僅當滿足 (I=1,2,…,n/2)時稱之為堆。本節(jié)只討論滿足前者條件的堆。由堆的定義看,堆頂元素(即第一個元素)必為最大項??梢杂靡痪S數(shù)組或完全二叉樹來表示堆的結(jié)構(gòu)。用完全二叉樹表示堆時,樹中所有非葉子結(jié)點值均不小于其左右子樹的根結(jié)點的值,因此堆頂(完全二叉樹的根結(jié)點)元素必須為序列的n個元素中的最大項。例如,有序列6,將該序列從小到大進行排列。利用堆排序法將該序列進行排序。操作方式即:先將無序堆的根結(jié)點5與左右子樹的根結(jié)點9進行比較,59,將5與9進行交換;整后,對左右子樹進行堆調(diào)整,左子樹的根結(jié)點2小于其左葉子結(jié)點5,調(diào)整;右子樹的根結(jié)點5小于其左右子結(jié)點7和6,根據(jù)堆的要求,將5與7進行調(diào)整。根據(jù)堆的定義,可以得到堆排序的方法:(1)首先將一個無序序列建成堆(2)然后將堆頂元素(序列中的最大項)與堆中最后一個元素交換(最大項應該在序列的最后)。三、本章應考點撥本章內(nèi)容在筆試中會出現(xiàn)56個題目,是公共基礎(chǔ)知識部分出題量比較多的一章,所占分值也比較大,約10分。第二章 程序設(shè)計基礎(chǔ)一、內(nèi)容要點(一)程序設(shè)計方法與風格程序設(shè)計方法:主要經(jīng)過了面向過程的結(jié)構(gòu)化程序設(shè)計和面向?qū)ο蟮某绦蛟O(shè)計方法。程序設(shè)計風格,是指編寫程序時所表現(xiàn)出來的特點、習慣和邏輯思路。通常,要求程序設(shè)計的風格應強調(diào)簡單和清晰,必須是可以讀的,可以理解的。要形成良好的程序設(shè)計的風格,應考慮如下因素:1.源程序文檔化(1)符號名的命名:符號名的命名要具有一定的實際含義,便于對程序的理解,即通常說的見名思義;(2)程序注釋:正確的程序注釋能夠幫助他人理解程序。注釋一般包括序言性注釋和功能性注釋;(3)視覺組織:為了使程序一目了然,可以對程序的格式進行設(shè)置,適當?shù)赝ㄟ^空格、空行、縮進等使程序?qū)哟吻逦?.數(shù)據(jù)說明方法(1)數(shù)據(jù)說明的次序規(guī)范化;(2)說明語句中變量安排有序化;(3)使用注釋來說明復雜的數(shù)據(jù)結(jié)構(gòu)。3.語句的結(jié)構(gòu)(1)在一行內(nèi)只寫一條語句;(2)程序的編寫應該優(yōu)先考慮清晰性;(3)除非對效率有特殊的要求,否則,應做到清晰第一,效率第二;(4)首先保證程序的正確,然后再要求速度;(5)避免使用臨時變量使程序的可讀性下降;(7)盡量使用庫函數(shù),即盡量使用系統(tǒng)提供的資源;(8)避免采用復雜的條件語句;(9)盡量減少使用“否定”條件的條件語句;(10)數(shù)據(jù)結(jié)構(gòu)要有利于程序的簡化;(11)要模塊化,使模塊功能盡可能單一化;(12)利用信息隱蔽,確保每一個模塊的獨立性;(13)從數(shù)據(jù)出發(fā)去構(gòu)造程序;(14)不要修補不好的程序,要重新編寫。4.輸入和輸出(1)對所有的輸入輸出數(shù)據(jù)都要檢驗數(shù)據(jù)的合法性;(2)檢查輸入項的各種重要組合的合理性;(3)輸入格式要簡單,以使得輸入的步驟和操作盡可能簡單;(4)輸入數(shù)據(jù)時,應允許自由格式;(5)應允許缺省值;(6)輸入一批數(shù)據(jù)時,最好使用輸入結(jié)束標志;(7)以交互式輸入輸出方式進行輸入時,要在屏幕上使用提示符明確輸入的請求,同時在數(shù)據(jù)輸入過程中和輸入結(jié)束時,應在屏幕上給出狀態(tài)信息;(8)當程序設(shè)計語言對輸入格式有嚴格要求時,應保持輸入格式與輸入語句的一致性;給所有的輸出加注釋,并設(shè)計輸出報表格式。(二)結(jié)構(gòu)化程序設(shè)計1.結(jié)構(gòu)化程序設(shè)計的原則結(jié)構(gòu)化程序設(shè)計方法的主要原則:自頂而下、逐步求精,模塊化,限制使用goto語句。1)自頂而下程序設(shè)計時,應先考慮總體,后考慮細節(jié);先考慮全局,后考慮局部目標。即先從最上層總目標開始設(shè)計,逐步使問題具體化。2)逐步求精對復雜問題,應設(shè)計一些子目標作為過渡,逐步細化。3)模塊化一個復雜問題,都是由若干個稍簡單的問題構(gòu)成的。模塊化即是將復雜問題進行分解,即將解決問題的總目標分解成若干個分目標,再進一步分解為具體的小目標,把每一個小目標稱作一個模塊。4)限制使用goto語句goto語句可以提高效率,但對程序的可讀性、維護性都造成影響,因此應盡量不用goto語句。2.結(jié)構(gòu)化程序設(shè)計的基本結(jié)構(gòu)與特點結(jié)構(gòu)化程序設(shè)計是程序設(shè)計的先進方法和工具,采用結(jié)構(gòu)化程序設(shè)計可以使程序結(jié)構(gòu)良好、易讀、易理解、易維護。1)順序結(jié)構(gòu)順序結(jié)構(gòu)即是順序執(zhí)行的結(jié)構(gòu),是按照程序語句行的自然順序,一條一條語句地執(zhí)行程序。2)選擇結(jié)構(gòu)選擇結(jié)構(gòu)又稱分支結(jié)構(gòu),它包括簡單選擇和多分支選擇結(jié)構(gòu)。程序的執(zhí)行是根據(jù)給定的條件,選擇相應的分支來執(zhí)行。3)重復結(jié)構(gòu)重復結(jié)構(gòu)又稱循環(huán)結(jié)構(gòu),根據(jù)給定的條件,決定是否重復執(zhí)行某一相同的或類似的程序段。利用重復結(jié)構(gòu)可以大量簡化程序行。3.結(jié)構(gòu)化程序設(shè)計原則和方法的應用1.使用程序設(shè)計語言中的順序、選擇、循環(huán)等有限的控制結(jié)構(gòu)表示程序的控制邏輯;2.選用的控制結(jié)構(gòu)只允許有一個入口和一個出口;3.程序語句組成容易識別的塊,每塊只有一個入口和一個出口;4.復雜結(jié)構(gòu)應該用嵌套的基本控制結(jié)構(gòu)進行組合嵌套來實現(xiàn);5.語言中所有沒有的控制結(jié)構(gòu),應該采用前后一致的方法來模擬;6.嚴格控制goto
點擊復制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1