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

正文內(nèi)容

多種排序算法動(dòng)態(tài)演示軟件的設(shè)計(jì)與開發(fā)—計(jì)算機(jī)畢業(yè)設(shè)計(jì)(完整版)

2025-01-16 01:14上一頁面

下一頁面
  

【正文】 根據(jù)算法思路( 1)第一次對(duì)比后無變化; 根據(jù)算法思路( 1)第二次對(duì)比發(fā)生變化:由于 A[2]=8 A[3]=5,所以兩者交換 圖 32 第一次交換 根據(jù)算法思路( 1)第三次對(duì)比發(fā)生變化:由于 A[3]=8 A[4]=4,所以兩者交換 圖 33第二次交換 根據(jù)算法思路( 1)第四次對(duì)比無變化; 根據(jù)算法思路( 1)第五次對(duì)比發(fā)生變化:由于 A[5]=9 A[6]=7,所有兩者交換 圖 34第三次交換 到此第一輪的排序結(jié)束,根據(jù)算法思路( 2),重新對(duì)以交換排列后的數(shù)列6 5 4 8 7 9 6 5 4 8 9 7 6 5 8 4 9 7 6 8 5 4 9 7 第 4 頁 共 21 頁 進(jìn)行排序直到?jīng)]有變化為止,生成最后的序列: 圖 35最后有序序列 分析冒泡排序法的效率,若記錄一開始就是從大到小排列,則一次循環(huán)就能完成排序;若記錄是“逆序”排列的,即是沖小到大的排列,則需 n1 次循環(huán)( n為需要排序的記錄總數(shù)),共 n(n1)/2 次比較和交換。即第二遍比較時(shí)范圍就從第 2 個(gè)數(shù)一直到第 N 個(gè)數(shù),在此范圍內(nèi)找最小的數(shù)的位置 P,然后把 A[P]與 A[2]對(duì)調(diào),這樣從第 2個(gè)數(shù)開始到第 N 個(gè)數(shù)中最小數(shù)就在 A[2]中了,第三遍就從第 3個(gè)數(shù)到第 N個(gè)數(shù)中去找最小的數(shù),再把 A[P]與 A[3]對(duì)調(diào)??此過程重復(fù) N1 次后,就把 A 數(shù)組中 N 個(gè)數(shù)按從小到大的順序排好了。 算法的步驟如下: ( 1)、設(shè)置兩個(gè)變量 int=i, j,在排序開始的時(shí)候, i=1,j=N; ( 2)、以第一個(gè)數(shù)據(jù)為關(guān)鍵數(shù)據(jù),定義為 key,即 key=A[1]; ( 3)、從變量 j 向前搜索,即由右至左的搜索 (j:=j1),找到小于 key 的數(shù)據(jù),兩者交換; ( 4)、從變量 i 向后搜索,即由左至右的搜索 (i:=i+1),找到大于 key 的數(shù)據(jù),兩者交換; ( 5)、重復(fù)排序步驟( 3)和( 4),直到 i=j。所以本系統(tǒng)要定義一個(gè)全局指針,打開 構(gòu)建函數(shù)中加入語句“ CTtView *pView”用來獲取當(dāng)前視圖。 for(j=N1。 } Sleep(DELAY1)。i++) m_SortBubble[i] =0。 } 最后修改 OnDraw 函數(shù),利用畫刷實(shí)現(xiàn)動(dòng)態(tài)繪制: void CTtView::OnDraw(CDC* pDC) { int i。 =250+i*2。 然后,在 構(gòu)建文件中添加實(shí)現(xiàn)選擇排序算法的函數(shù):ThreadSortSelect,代碼為: UINT ThreadSortSelect(LPVOID lp) { int i,j,key,tmp。j++) { if(data[j]data[key]) { key=j。 pViewInvalidate(TRUE)。 IsSortSelect=FALSE。 ASSERT_VALID(pDoc)。 =[i]。 int tmp,key。 Sleep(DELAY)。 Sleep(DELAY)。 QuickSort(data,0,N1)。 IsSortQuick=FALSE。 ASSERT_VALID(pDoc)。 =[i]。 } 系統(tǒng)的測(cè)試 每一個(gè)紅色(同時(shí)排序的藍(lán)色)的豎條都代表一個(gè)隨即數(shù)(以下相同) 第 17 頁 共 21 頁 ( 1)冒泡排序的動(dòng)態(tài)演示開始 冒泡排序的動(dòng)態(tài)演示結(jié)束 圖 42 冒泡演示開始 圖 43 冒泡演示結(jié)束 ( 2)選擇排序的動(dòng)態(tài)演示開始 選擇排序的動(dòng)態(tài)演示結(jié)束 圖 44 選擇演示開始 圖 45選擇演示結(jié)束 ( 3)快速排序的動(dòng)態(tài)演示開始 快速排序的動(dòng)態(tài)演結(jié)束 圖 46 快速演示開始 圖 47快速演示結(jié)束 同時(shí)演示三種排序,比較他們的排序過程的快慢。 ( 4)選擇“同時(shí)排序”時(shí),可以清楚的看見三種算法之間效率的不同。 [5] 余炳惠 .排序算法的選擇及一些改進(jìn) [N].安康師專學(xué)報(bào) ,20200806(8)。 ( 2)學(xué)??梢圆捎糜坝 ⒖s印或其他復(fù)制方式保存學(xué)位論文。本系統(tǒng)采用 Visual C++ 中文版為開發(fā)工具,實(shí)現(xiàn)三種不同排序算法,即:冒泡排序算法、選擇排序算法和快速排序算法,以及這三種排序?qū)ν粏栴}的處理并且以圖形的形式給出快慢比較,實(shí)現(xiàn)排序算法的動(dòng)態(tài)演示 。例如在互聯(lián)網(wǎng)上為了使人們能夠快速的訪問和檢索大量的信 息,人們會(huì)運(yùn)用許多快速并且優(yōu)秀的算法對(duì)這些數(shù)據(jù)進(jìn)行管理和操縱。在排序的過程中,我們一般需要用到的兩個(gè)基本操作步驟是:比較兩個(gè)關(guān)鍵字的大小和 將記錄從一個(gè)位子移至另一個(gè)位子,即比較和交換。這種可視化的編程方法簡(jiǎn)單、易學(xué)、易用,可以大大提高我們的工作效率。在相鄰的兩個(gè)數(shù)兩兩進(jìn)行比較的過程中,如果前面的一個(gè)數(shù)比后面一個(gè)數(shù)大,則把這兩鄰的兩個(gè)數(shù)交換,也就是說,我們把較小的數(shù)放在前面,把較大的數(shù)調(diào)到后面。 ( 2)、依次把 A[P]和 A[N]( A[N]從 1變化到 N)進(jìn)行比較,每次比較時(shí),若 A[N]的數(shù)比 A[P]中的數(shù)小,則把 N 的值賦給 P,使 P 總是指向當(dāng)前所掃描過的最小數(shù)的位置,也就是說 A[P]總是等于所有掃描過的數(shù)最小的那個(gè)數(shù)。然后再按此方法對(duì) low和 high 兩部分?jǐn)?shù)據(jù)分別進(jìn)行快速排序,其整個(gè)過程可以遞歸進(jìn)行,從而使整個(gè)數(shù)列變成有序序列。若設(shè) t(n) 是對(duì) n 個(gè)元素的序列進(jìn)行排序所需的時(shí)間,而且每次對(duì)一個(gè)對(duì)象正確定位后,正好把序列劃分為長度相等的兩個(gè)子序列,此時(shí),總的28 39 14 50 76 98 66 14 28 39 50 66 76 98 28 39 14 50 76 98 66 28 39 14 98 76 50 66 第 8 頁 共 21 頁 計(jì)算時(shí)間為: T(n) + 2 t(n/2 ) // c 是一個(gè)常數(shù) Cn + 2 ( /2 + 2t(n/4) ) = 2 + 4t(n/4) 2 + 4 ( /4 +2t(n/8) ) = 3 + 8t(n/8) ??? Cn log2n + nt(1) = o(n log2n ) 因此該算法的算法復(fù)雜度為 O(n log2n ) 8 詳細(xì)設(shè)計(jì) 系統(tǒng)的文件的組織 本系統(tǒng)所含文件的組織如圖 41 所示: 動(dòng)態(tài)演示冒泡算法模塊設(shè)計(jì) 首先,本系統(tǒng)是在 Visual C++ 中文版下 MFC 環(huán)境下,設(shè)置的“ MFC AppWizard(exe)”工程,工程名為 :“ tt”。然后將所有小于它的數(shù)據(jù)放在它前面,所有大于它的數(shù)放在它后面,這個(gè)過程就稱為一趟快速排序。 ( 4)、重復(fù)此算法,但每重復(fù)一次,進(jìn)行比較的數(shù)列范圍就向后移動(dòng)一個(gè)位置。 ( 2)再次重復(fù)( 1),直到相鄰兩數(shù)之間不再發(fā)生交換為止。先將第一個(gè)記錄與第二個(gè)記錄比較,然后是第二個(gè)與第三個(gè)比較,直到倒數(shù)第二個(gè)與最后一個(gè)記錄。 第 2 頁 共 21 頁 6 系統(tǒng)需求及分析 系統(tǒng)需求 本系統(tǒng)的硬件環(huán)境: CPU AMD 2800+,內(nèi)存 512M 以上,硬盤 80G 以上。 系統(tǒng)開發(fā)的相關(guān)技術(shù) 本系統(tǒng)利用 Visual C++ 作為開發(fā)平臺(tái),利用它的可視化界面,在其MFC 環(huán)境下開發(fā)的一個(gè)演示三種不同排序算法,利用畫刷畫出三種不同的排序算法在排列隨即產(chǎn)生的 070 個(gè)數(shù)的過程,并且能夠?qū)Ρ冗@三種排序算法在相同的條件下,排序速率的快慢 。 關(guān)鍵詞 : Visual C++;排序算法;動(dòng)態(tài)演示The Design and Development of Dynamic Sorting Algorithm Demo Abstract With puter science and technology improvement and development, its powerful puting has gradually integrate into human society in various fields, and play an increasingly important role. Of course, efficient putational speed does not mean unlimited fast, and the limited resources of space, Operators must significantly improve processing speed, we need to use the time and space reflects efficient algorithms. The system is to demonstrate on the same issues in different algorithm efficiency in the enormous difference. The system uses Visual C ++ for the development of the Chinese version of tools to achieve three different sorting algorithms, namely : The Bubble Sorting Algorithm, The Select Sorting Algorithm and The Quick Sorting Algorithm, and three ranking on the same issue to deal with and the graphics are presented in the form of speed, Sorting Algorithm to achieve the dynamic presentation. Its purpose is that enable us to use puters to handle the increasingly large scale data problems, to know what kind of algorithm is suitable for the current system. Key words: Visual C ++ 。 ( 4)學(xué)??稍试S學(xué)位論文被查閱或借閱。 [7] 黃福員 .冒泡排序算法的改進(jìn) [J].微機(jī)發(fā)展 ,2020,13(11):6667。 結(jié) 論 通過本次系統(tǒng)的研究,可以看出各個(gè)不同的排序算法排序的過程,以及之間在排列整數(shù)時(shí)的差異。 第 18 頁 共 21 頁 圖 48同時(shí)比較三種排序開始 ( 2)第一個(gè)排序 —— 快速排序完畢。m_SortQuickRect,amp。 pDCTextOut(450,200,快速排序演示 )。iN。 } 打開類( Class View) 中視圖類 CTtView,在其中修改構(gòu)建函數(shù),實(shí)現(xiàn)變量初始化: CTtView::CTtView() { int i。 } QuickSort(data,low,i1)。 while(ij) { if(data[i]=tmp) { i++。 while(ij) { while(ij) { if(data[j]=tmp) { j。m_SortSelectRect,amp。 pDCTextOut(50,200,選擇排序演示 )。iN。 } 在類中查看( Class View)選項(xiàng),打開視圖類 CTtView,在其中修改構(gòu)建函數(shù),實(shí)現(xiàn)變量初始化: CTtView::CTtView() { int i。 } Sleep(DELAY1)。 data=pViewm_SortSelect。 =[i]。 第 11 頁 共 21 頁 ASSERT_VALID(pDoc)。 IsSortBubble=FALSE。 } pViewInvalidate(TRUE)。j) { if(data[j]data[j1]) { key=data[j]。 int i,j,key。在經(jīng)過這趟快速排序后的結(jié)果是: 圖 315第五次交換 即所有大于初始關(guān)鍵數(shù)據(jù)“ 50”的數(shù)據(jù)全在其右邊 ,所有小于初始關(guān)鍵數(shù)據(jù)“ 50”的數(shù)據(jù)全部在其左邊。在選擇排序算法的過程中,所需進(jìn)行記錄移動(dòng)的造作次數(shù)比較少,但是,無論記錄的初始排列如何,所需進(jìn)行記錄關(guān)鍵字間的比較次數(shù)均為n(n1)/2。待到第 n2 趟作完,待排序?qū)ο笾皇O?
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1