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

正文內容

算法可視化演示軟件開發(fā)畢業(yè)設計-在線瀏覽

2024-08-07 12:52本頁面
  

【正文】 入排序算法的時間復雜度為O(n*n),插入排序往往能表現(xiàn)出很好的性能。適用性:直接插入排序適用順序儲存和鏈式儲存的線性表。三、選擇排序什么是選擇排序選擇排序的的基本思想是:每一趟(例如第i趟)在后面ni+1(i=1,2,...,n1)個待排序元素中選擇關鍵字最小的元素,作為有序元素序列的第i個元素,直到第n1趟做完,待排序元素只剩下一個,就不用選了。簡單選擇排序的性能分析簡單選擇排序的性能分析如下:空間效率:僅使用了常數(shù)個輔助單元,因而空間復雜度為0(1)。穩(wěn)定性。四、 二叉查找樹二叉查找樹的定義二叉查找樹(簡稱BST)也稱二叉排序樹。例如,下圖的二叉樹查找的中序遍歷的順序為234579,: 一棵二叉樹二叉查找樹的建立建立一顆二叉查找樹,就是要依順序輸入數(shù)據(jù)元素,然后將他們插入到二叉查找樹合適的位置的一個過程,其具體的過程,就是在每次輸入一個元素的時候,就要建立一個新的結點,如果二叉查找樹不是空的,就將新結點的值與根結點, 如果小于根結點的值,就要其插入到左子樹種,如果比根結點大,就需要將其插入到右子樹中。二叉查找樹的插入二叉樹是一種動態(tài)的集合,它的特點是樹的結點往往不是僅以此就能生成的,而是在通過排序的過程中,當且僅當該關鍵值不等于樹中的時候才插入。二叉查找樹的刪除當刪除一個二叉查找樹的結點時,不可以把以該結點的作為根的子樹上的結點都刪除了,而是必須先把要刪除的結點從存儲的二叉樹的鏈表上摘下,把因為刪除結點而斷開的二叉鏈表,重新連接起來,而且要確保二叉查找樹的性質不會改變[13]。如果結點A或者是一顆左子樹,或者是右子樹,就讓A的子樹成為a父節(jié)點的子樹,代替A 的位置。二叉查找樹的性能分析二叉查找樹的高度為H,它的插入和刪除操作的運行時間都是O(H),但是在最壞的情況下,即構造二叉查找樹的輸入序列是有序的,就會形成一個傾斜的單支樹,此時二叉查找樹的性能就會明顯的變壞,樹的高度也增加元素N。從排序過程看,二叉查找樹也二分排序相識,就平均時間而言,二叉查找樹的排序和二分排序差不多,但二分排序的判定樹唯一,而二叉查找樹不唯一,相同的關鍵字,其插入順序不同可能生成不同的二叉查找樹。二分排序的對象是有序順序表,若有插入和刪除結點的操作,則維護表的有序性所花的代價是O(n)。若有序表是動態(tài)排序表,則應選擇二叉查找樹作為存儲結構。在后面章節(jié)中,我們會一實際的算法可視化的例子來說明是如何實現(xiàn)相關功能的。最后還介紹了四種排序算法的概念,操作的實現(xiàn)以及算法的性能分析,通過此本章的學習,能讓大家清楚排序算法的基本原理和具體實現(xiàn)過程,能在不同的情況下選擇適合的排序算法,能讓大家更好的掌握知識并運用所學的知識解決問題。它的基本任務是確定系統(tǒng)必須完成哪些工作,也就是對目標系統(tǒng)提出完整、準確、清晰、具體的要求。二、系統(tǒng)功能需求算法可視化的演示有很多種,而此次設計要想實現(xiàn)的就是借助以前學過的數(shù)據(jù)結構所學的知識,實現(xiàn)對排序算法的演示。② 實現(xiàn)對冒泡排序進行演示,并顯示排序前后的數(shù)組,排序所交換的次數(shù)、比較的次數(shù)、探測的次數(shù)及其所用的總的時間。④ 實現(xiàn)對選擇排序排序進行演示,并顯示排序前后的數(shù)組,排序所交換的次數(shù)、比較的次數(shù)、探測的次數(shù)及其所用的總的時間。⑥ 對一個已有的文本文件進行排序演示。 ②二叉查找樹的刪除演示。第二節(jié) 系統(tǒng)運行環(huán)境本系統(tǒng)對運行環(huán)境的要求如下:硬件環(huán)境:①PC兼容機;②2G 內存。第三節(jié) 本章小結本章主要是對算發(fā)可視化演示系統(tǒng)的設計目標和系統(tǒng)所所要實現(xiàn)的功能以及運行環(huán)境進行了分析。 第四章 系統(tǒng)設計第一節(jié) 系統(tǒng)總體描述本系統(tǒng)的主要是由四個算法來實現(xiàn)的,: 系統(tǒng)結構圖系統(tǒng)總的來說包括兩個部分:一個是基于排序算法的演示系統(tǒng),一個是基于二叉查找樹的排序系統(tǒng)。在開啟算法可視化演示系統(tǒng)之后,用戶可以選擇排序系統(tǒng)或者二叉查找樹系統(tǒng)進行演示,如果選擇的是排序系統(tǒng),就會出現(xiàn)三個子系統(tǒng),然后可以對三個系統(tǒng)進行演示。第二節(jié) 模塊設計一、算法模塊設計排序算法模塊設計Sort類定義了排序算法的參數(shù),數(shù)組的長度,排序前的數(shù)組,以及排序后的數(shù)組,獲取排序參數(shù),打印排序前后的數(shù)組等一系列操作,是冒泡、選擇、插入的父類,: 排序類冒泡排序模塊設計BubbleSort類是從排序類繼承而來的,完成對冒泡排序的排序、:. 冒泡排序類選擇排序模塊設計SelectSort類是從排序類繼承而來的,完成對選擇排序的排序、:. 選擇排序類插入排序模塊設計InsertSort類是從排序類繼承而來的,完成對選插入序的排序、:二、界面模塊設計界面所含的主要繼承的類此次設計我們使用面向對象的設計模式,算的實現(xiàn)和可視化的部分寫在各自的類里面,可視化是采用圖形界面寫的。比如:在排序的時候需要的排序對象的數(shù)組是整形的,它們必須給外界提供一個公共的排序方法接口;和它們在排序過程中所需要的適配器來進控制,: 界面類的繼承關系從上圖我們可以清楚的看到類TreeControl和類TreeView都繼承了類JPanel,類而類JPanel又繼承了JComponent。同時這三個類都有JComponent的性質,而反過來則不一定成立。它們都有公共的算法,有交換,和開始時間,結束時間,都需要一個數(shù)組來存放這些值,Sort就含有它們的公共屬性,而選擇排序,插入排序金額冒泡排序都各自有自己的實現(xiàn)方法,:主界面模塊的設計VisualFrame類是該系統(tǒng)的主界面,該類主要定義了界面的按鈕,以及生成界面的方法和響應方法,: VisualFrame類的類圖排序界面模塊的設計MainSortApp類是實現(xiàn)排序算法的界面,在此界面上可以選擇三種排序中的一種進行排序,:排序時彈出界面模塊的設計OutPutFrame類是實現(xiàn)具體排序算法的界面,當選擇三種排序的一種算法時就會出現(xiàn)彈出的界面,:二叉查找樹界面模塊的設計TreeControl的類是實現(xiàn)二叉查找樹的界面,在此類中定義了插入、刪除、查找等按鈕,將這些按鈕都加入監(jiān)聽,:第三節(jié) 系統(tǒng)流程圖當打開演示系統(tǒng)后,顯示的界面上有兩個按鈕,選擇演示類型,如果是選擇排序,就可以輸入數(shù)據(jù),選擇排序插入排序,或者冒泡排序,或者選擇排序,之后就展示演示過程,演過示完后可以選擇繼續(xù)排序,也可以退出循環(huán),結束此過程。在對系統(tǒng)進行了需求分析和概要設計之后的,對系統(tǒng)進行了詳細的設計,分析了各個模塊的流程和步驟,并進行了流程的系統(tǒng)分析,繪出的本系統(tǒng)總體工作流程圖。 第五章 系統(tǒng)實現(xiàn)第一節(jié) 可視化主界面的實現(xiàn)本段代碼實現(xiàn)的算法可視化的主界面,當開始運行時,系統(tǒng)就會判斷選擇的哪個按鈕,然后做相應的響應,如果是選擇的排序按鈕,就會把排序按鈕設置為不可見的,如果是選擇的二叉查找樹的按鈕那么,這個按鈕也會被設置為不可見的按鈕,也就是界面會顯示“排序可視化”和“二叉查找樹”兩個互斥按鈕。 private JButton tree=new JButton(二叉查找樹演示)。 (true)。 } }})。//按鈕不可用 (true)。 (二叉查找樹演示)。 (true)。 (true)。 public VisualFrame(){ setLayout(new FlowLayout())。 (tree)。//將排序按鈕加監(jiān)聽 (arg0)。//設置界面的大小 setLocationRelativeTo(null)。//設置關閉動作 setVisible(true)。 }}第二節(jié) 排序算法界面所實現(xiàn)的功能接下來,將詳細介紹排序算法界面所實現(xiàn)的功能:①創(chuàng)建createContents的方法,定義框架并且創(chuàng)建JFrame對象,設置內容框格的布局,設置框格中的標題文字,并設置組件的大小和位置。 (false)。 (排序演示程序)。②定義菜單,并創(chuàng)建菜單對象,設置文本框,并定義獲得隨機菜單項對象:final JMenu menu = new JMenu()。 (menu)。 final JMenuItem getRandomItemMenuItem = new JMenuItem()。 int[] nums = new int[15]。 i15。 if (nums[i] != 0) i。 } String data=。i15。 } (data)。 String data = (file)。 }⑤定義單選按鈕組件,并創(chuàng)建對象,設置組件的名字,分別設置文本的單選組件按鈕,設置初始狀態(tài)為選中,并將相應的單選按鈕加入到面板中:BubbleSortRadioButton = new JRadioButton()。//定義按鈕 (冒泡排序)。//判斷按鈕是否可選 (BubbleSortRadioButton)。 (sortRadio)。 (InsertSortRadioButton)。 (sortRadio)。 (SellectionSortRadioButton)。 final JLabel label_2 = new JLabel()。 (10, 53, 120, 18)。 ()。().add(label_2)。 (排序結果:)。 ().add(label_1)。 (二叉查找樹演示)。//設置框架的大小 (null)。 (true)。 private JTextField jtfKey = new JTextField(5)。 private JButton jbtInsert = new JButton(插入)。 private JLabel jlbl = new JLabel(輸入一個節(jié)點值: )。setLayout(new BorderLayout())。 JPanel jpcontrol = new JPanel()。 (jtfKey)。 (jbtDelete)。 add(jpcontrol, )。 ()。return。 return。 if((key) == true){(null, key + is already in the tree)。 ()。刪除按鈕事件監(jiān)聽器的實現(xiàn),刪除的按鈕也只能是整數(shù)值,并且不能為空:(new ActionListener(){ public void actionPerformed(ActionEvent e)//相應響應動作 { String temp = ()。 if(()){ (null,輸入不能為空)。}if(checkStringIsInteger(temp) == false) { (null, 只能將整數(shù)作為元素值)。} int key = (temp)。}else{ (key)。})。 第六章 系統(tǒng)測試第一節(jié) 問題解決及測試結果一、 遇到的問題在剛開始知道我做的畢設題目是算法可視化時,對收集資料這方面還有些欠缺,總就得收集的資料與畢設設計的主題沒有多大的相關性。二、解決的方法問題1解決辦法:在導師和同學的幫助下,知道了怎么去收集資料,在學校的的電子圖書上收集資料,以及相關網(wǎng)站上收集。三、測試結果當開始運行系統(tǒng)后就會顯示這個主界面,然后出現(xiàn)兩個按鈕,一個是“排序可是化”,另外一個是“二叉查找樹演示”,:若選擇的是排序可視化,:在左上角有一個下拉菜單其它路徑取數(shù)據(jù),我們可以隨機獲取數(shù)據(jù),我們可以選擇打開文件,我可以提前輸入小于20個少于650的數(shù)據(jù)在一個文本框里,在排序時,找到它所存儲的路徑,進行排序,:假如我們選取的是隨機獲取數(shù)據(jù)的話,就會生成15個隨機數(shù),:當選擇冒泡排序時,就會以冒泡排序的算法進行排序,選擇冒泡排序前的數(shù)組、排序后的數(shù)組、比較次數(shù)、交換時間、探測次數(shù)、排序所花費的總時間就會顯示在界面上,::當選擇的是文本文件時進行排序時,找到文本文件的路徑進行排序,:當選擇的為二叉查找樹,插入一個數(shù),: 插入256后的二叉查找樹當選擇的為二叉查找樹時,再插入一個數(shù),:然后繼續(xù)相同的方法插入數(shù)據(jù),:在本系統(tǒng)中,我們輸入的數(shù)據(jù)不能與前面的相同,當256已經(jīng)在二叉查找樹中時,當再插入256時,就會出現(xiàn)以下的結果,:當刪除156之后,:當刪除199,而此時199又不在樹中,就會顯示以下的結果,:在本系統(tǒng)中,我們輸入的數(shù)據(jù)只能是整數(shù),當輸入一個小數(shù)時,就會得到以下的結果,:當排序100時,:第二節(jié) 本章小結 本章對程序編寫過程中所遇到的問題,以及解決問題的方法進行了分析,同時通過對程序的實際測試,表明了程序的實際功能??梢暬夹g可以幫助我們理解大規(guī)模數(shù)據(jù)和復雜現(xiàn)象。通過畢業(yè)設計的實現(xiàn)過程,對Java知識的進一步學習和理解,和對Java Swing及圖形界面的了解,知道了圖形界面里的很多知識,比如圖形界面的設計原則,
點擊復制文檔內容
教學課件相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1