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

正文內(nèi)容

算法可視化演示軟件開發(fā)畢業(yè)設(shè)計(jì)-wenkub

2023-07-12 12:52:33 本頁面
 

【正文】 Panel()。 private JLabel jlbl = new JLabel(輸入一個(gè)節(jié)點(diǎn)值: )。 private JTextField jtfKey = new JTextField(5)。//設(shè)置框架的大小 (null)。 ().add(label_1)。().add(label_2)。 (10, 53, 120, 18)。 (SellectionSortRadioButton)。 (InsertSortRadioButton)。//判斷按鈕是否可選 (BubbleSortRadioButton)。 }⑤定義單選按鈕組件,并創(chuàng)建對(duì)象,設(shè)置組件的名字,分別設(shè)置文本的單選組件按鈕,設(shè)置初始狀態(tài)為選中,并將相應(yīng)的單選按鈕加入到面板中:BubbleSortRadioButton = new JRadioButton()。 } (data)。 } String data=。 i15。 final JMenuItem getRandomItemMenuItem = new JMenuItem()。②定義菜單,并創(chuàng)建菜單對(duì)象,設(shè)置文本框,并定義獲得隨機(jī)菜單項(xiàng)對(duì)象:final JMenu menu = new JMenu()。 (false)。//設(shè)置關(guān)閉動(dòng)作 setVisible(true)。//將排序按鈕加監(jiān)聽 (arg0)。 public VisualFrame(){ setLayout(new FlowLayout())。 (true)。//按鈕不可用 (true)。 (true)。 第五章 系統(tǒng)實(shí)現(xiàn)第一節(jié) 可視化主界面的實(shí)現(xiàn)本段代碼實(shí)現(xiàn)的算法可視化的主界面,當(dāng)開始運(yùn)行時(shí),系統(tǒng)就會(huì)判斷選擇的哪個(gè)按鈕,然后做相應(yīng)的響應(yīng),如果是選擇的排序按鈕,就會(huì)把排序按鈕設(shè)置為不可見的,如果是選擇的二叉查找樹的按鈕那么,這個(gè)按鈕也會(huì)被設(shè)置為不可見的按鈕,也就是界面會(huì)顯示“排序可視化”和“二叉查找樹”兩個(gè)互斥按鈕。它們都有公共的算法,有交換,和開始時(shí)間,結(jié)束時(shí)間,都需要一個(gè)數(shù)組來存放這些值,Sort就含有它們的公共屬性,而選擇排序,插入排序金額冒泡排序都各自有自己的實(shí)現(xiàn)方法,:主界面模塊的設(shè)計(jì)VisualFrame類是該系統(tǒng)的主界面,該類主要定義了界面的按鈕,以及生成界面的方法和響應(yīng)方法,: VisualFrame類的類圖排序界面模塊的設(shè)計(jì)MainSortApp類是實(shí)現(xiàn)排序算法的界面,在此界面上可以選擇三種排序中的一種進(jìn)行排序,:排序時(shí)彈出界面模塊的設(shè)計(jì)OutPutFrame類是實(shí)現(xiàn)具體排序算法的界面,當(dāng)選擇三種排序的一種算法時(shí)就會(huì)出現(xiàn)彈出的界面,:二叉查找樹界面模塊的設(shè)計(jì)TreeControl的類是實(shí)現(xiàn)二叉查找樹的界面,在此類中定義了插入、刪除、查找等按鈕,將這些按鈕都加入監(jiān)聽,:第三節(jié) 系統(tǒng)流程圖當(dāng)打開演示系統(tǒng)后,顯示的界面上有兩個(gè)按鈕,選擇演示類型,如果是選擇排序,就可以輸入數(shù)據(jù),選擇排序插入排序,或者冒泡排序,或者選擇排序,之后就展示演示過程,演過示完后可以選擇繼續(xù)排序,也可以退出循環(huán),結(jié)束此過程。比如:在排序的時(shí)候需要的排序?qū)ο蟮臄?shù)組是整形的,它們必須給外界提供一個(gè)公共的排序方法接口;和它們?cè)谂判蜻^程中所需要的適配器來進(jìn)控制,: 界面類的繼承關(guān)系從上圖我們可以清楚的看到類TreeControl和類TreeView都繼承了類JPanel,類而類JPanel又繼承了JComponent。在開啟算法可視化演示系統(tǒng)之后,用戶可以選擇排序系統(tǒng)或者二叉查找樹系統(tǒng)進(jìn)行演示,如果選擇的是排序系統(tǒng),就會(huì)出現(xiàn)三個(gè)子系統(tǒng),然后可以對(duì)三個(gè)系統(tǒng)進(jìn)行演示。第三節(jié) 本章小結(jié)本章主要是對(duì)算發(fā)可視化演示系統(tǒng)的設(shè)計(jì)目標(biāo)和系統(tǒng)所所要實(shí)現(xiàn)的功能以及運(yùn)行環(huán)境進(jìn)行了分析。 ②二叉查找樹的刪除演示。④ 實(shí)現(xiàn)對(duì)選擇排序排序進(jìn)行演示,并顯示排序前后的數(shù)組,排序所交換的次數(shù)、比較的次數(shù)、探測(cè)的次數(shù)及其所用的總的時(shí)間。二、系統(tǒng)功能需求算法可視化的演示有很多種,而此次設(shè)計(jì)要想實(shí)現(xiàn)的就是借助以前學(xué)過的數(shù)據(jù)結(jié)構(gòu)所學(xué)的知識(shí),實(shí)現(xiàn)對(duì)排序算法的演示。最后還介紹了四種排序算法的概念,操作的實(shí)現(xiàn)以及算法的性能分析,通過此本章的學(xué)習(xí),能讓大家清楚排序算法的基本原理和具體實(shí)現(xiàn)過程,能在不同的情況下選擇適合的排序算法,能讓大家更好的掌握知識(shí)并運(yùn)用所學(xué)的知識(shí)解決問題。若有序表是動(dòng)態(tài)排序表,則應(yīng)選擇二叉查找樹作為存儲(chǔ)結(jié)構(gòu)。從排序過程看,二叉查找樹也二分排序相識(shí),就平均時(shí)間而言,二叉查找樹的排序和二分排序差不多,但二分排序的判定樹唯一,而二叉查找樹不唯一,相同的關(guān)鍵字,其插入順序不同可能生成不同的二叉查找樹。如果結(jié)點(diǎn)A或者是一顆左子樹,或者是右子樹,就讓A的子樹成為a父節(jié)點(diǎn)的子樹,代替A 的位置。二叉查找樹的插入二叉樹是一種動(dòng)態(tài)的集合,它的特點(diǎn)是樹的結(jié)點(diǎn)往往不是僅以此就能生成的,而是在通過排序的過程中,當(dāng)且僅當(dāng)該關(guān)鍵值不等于樹中的時(shí)候才插入。四、 二叉查找樹二叉查找樹的定義二叉查找樹(簡(jiǎn)稱BST)也稱二叉排序樹。簡(jiǎn)單選擇排序的性能分析簡(jiǎn)單選擇排序的性能分析如下:空間效率:僅使用了常數(shù)個(gè)輔助單元,因而空間復(fù)雜度為0(1)。適用性:直接插入排序適用順序儲(chǔ)存和鏈?zhǔn)絻?chǔ)存的線性表。在最壞的情況下:表中序列剛好與排序結(jié)果中元素順序相反(逆序)的的移動(dòng)次數(shù)為0,總的比較次數(shù)達(dá)到最大,為,總的移動(dòng)次數(shù)也達(dá)到最大,為。為了實(shí)現(xiàn)對(duì)L[1...n]的排序,可以將L(2)到L(n)依前面次插入到前面已經(jīng)排好的子序列當(dāng)中,初始假設(shè)L[1]是一個(gè)已經(jīng)排好的子序列,上述操作執(zhí)行n1次,就能得到一個(gè)有序的表插入排序在實(shí)現(xiàn)上通常采用的就是就地排序(空間復(fù)雜度為O(1)),因而在從后向前的比較過程中,需要反復(fù)把已經(jīng)排好的元素逐步向后移位,為新元素提供插入空間。直接插入插入排序的概念直接插入排序是一種簡(jiǎn)單的排序方法,它的基本操作是將一個(gè)記錄插入到已經(jīng)排好的有序表中,從而得到一個(gè)新的、記錄數(shù)增1的有序表。冒泡排序雖然可能不是最好的做法排序[10],但確是經(jīng)常用的一種排序算法。時(shí)間效率:當(dāng)初始序列有序時(shí),比較次數(shù)為n1次,移動(dòng)次數(shù)為0,從而最好情況下的時(shí)間復(fù)雜度為O(n);當(dāng)初始序列為逆序時(shí),需要進(jìn)行n1趟排序,第i趟需要進(jìn)行ni次關(guān)鍵字的比較,而且每次比較都需要移動(dòng)三次來交換元素位置。 界面構(gòu)成第三節(jié) 相關(guān)算法的介紹一、冒泡排序什么是交換所謂交換,就是根據(jù)序列中兩個(gè)元素關(guān)鍵字的比較結(jié)果對(duì)換這兩個(gè)記錄在序列中的位置,基于交換排序的算法有很多,本次設(shè)計(jì)以冒泡排序來為例子,更容易讓人們理解交換的概念。事件可以分為焦點(diǎn)事件、鍵盤事件、鼠標(biāo)事件。三、事件處理在一個(gè)GUI程序中,為了與用戶進(jìn)行交互,需要接受鍵盤和鼠標(biāo)的操作。網(wǎng)格布局的每一個(gè)組件作為一個(gè)卡片,該容器只顯示多個(gè)卡片中的某一個(gè)。BorderLayout(邊界布局管理器)的布局分為東、南、西、北、中五個(gè)位置。直接管理組件調(diào)用容器setLayout(null) 方法,關(guān)閉布局管理器。容器的組件布局 ,負(fù)責(zé)確定組件在容器中的位置和大小?;痉椒ㄊ莚emove(Component容器主要有面板和框架兩類,在AWT中,F(xiàn)rame是對(duì)應(yīng)于框架的類, 大部分AWT組件在Swing中都有等價(jià)的組件,他們?cè)谛问缴舷嗖钜粋€(gè)“J”。它在布局管理上采用了容器和布局管理分離的方案。而在運(yùn)行時(shí)Java在堆上創(chuàng)建小的對(duì)象導(dǎo)致了額外的堆空間消耗。它提供了許總體上良好的性能。Swing在每個(gè)平臺(tái)上都有相同的性能,不會(huì)有明顯的性能差異。④標(biāo)準(zhǔn)的GUI庫:Swing和AWT一樣是JRE中的標(biāo)準(zhǔn)庫。它的API成熟并設(shè)計(jì)良好。許多商業(yè)或開源的Swing組件庫在開發(fā)多年后都已經(jīng)可以方便地獲取了。Swing的關(guān)鍵在于一旦有了頂級(jí)容器,則其中所有構(gòu)件都可以用Java編寫,例如,將按鈕(JButton)放入框架(JFrame)中時(shí),本機(jī)操作系統(tǒng)不需要了解該按鈕的任何信息,該按鈕完全用Java編寫且無同級(jí)組件,因而組件稱為“輕”組件。事件的監(jiān)聽程序可以定義在組件所在的類,也可以定義在其他的類里,而對(duì)事件的處理,則由組件委托給事件監(jiān)聽所在的類來完成。而專門運(yùn)行在x86平臺(tái)的Jrocket在服務(wù)端運(yùn)行效率也要比Sun JDK好很多。不論什么Java應(yīng)用服務(wù)器實(shí)質(zhì)都是內(nèi)置了某個(gè)版本的JDK。Java語言是面向?qū)ο蟮模嫦驅(qū)ο蠹夹g(shù)的基本特征主要有抽象性、封裝性、繼承性和多態(tài)性。Java語言的優(yōu)良特性使得Java應(yīng)用有很高的的可靠性和健壯性,同時(shí)應(yīng)用系統(tǒng)維護(hù)的費(fèi)用也相對(duì)減少了。Java語言的設(shè)計(jì)的其中一個(gè)目標(biāo)就是要適應(yīng)環(huán)境的動(dòng)態(tài)變化。在全球云計(jì)算和移動(dòng)互聯(lián)網(wǎng)的產(chǎn)業(yè)環(huán)境下,Java更具備了顯著優(yōu)勢(shì)和廣闊的前景[4]。此后,Java不僅被廣泛接受還推動(dòng)了Web的快速發(fā)展,我們所用的一般的瀏覽器均支持Java applet。第六章,系統(tǒng)測(cè)試,以及在做畢設(shè)的過程中遇到的問題,最后對(duì)本次畢設(shè)進(jìn)行總結(jié)。第二章,簡(jiǎn)述相關(guān)的Java知識(shí),進(jìn)一步了解Java的發(fā)展史、特性,還介紹Java圖形界面的相關(guān)知識(shí)和相關(guān)算的一些知識(shí)。隨著計(jì)算機(jī)技術(shù)的不斷發(fā)展,人們提出了各種算法,算法可視化在計(jì)算機(jī)領(lǐng)域里有十分重要的意義,并且應(yīng)用廣泛。由于數(shù)據(jù)結(jié)構(gòu)中算法是算法可視化中最容易讓讀者理解和明白的算法,因此,此次設(shè)計(jì)主要以排序算法和二叉查找樹的相關(guān)操作來研究。數(shù)據(jù)可視化有可能幫助人類在大量數(shù)據(jù)的分析和理解,并檢測(cè)模式[3]。二叉樹的算法、結(jié)構(gòu)化查詢語言等的研究對(duì)數(shù)據(jù)查詢有著很重要的實(shí)際意義。在我們所學(xué)的數(shù)據(jù)結(jié)構(gòu)中了解到了排序算法的原理,以及實(shí)現(xiàn)過程,但是不清楚它的具體過程是怎么樣的。算法可視化演示軟件開發(fā)畢業(yè)設(shè)計(jì)目 錄前 言 1第一章 緒論 2第一節(jié) 課題背景 2第二節(jié) 課題的目的與意義 2第三節(jié) 論文結(jié)構(gòu) 3第二章 相關(guān)知識(shí)概述 4第一節(jié) Java知識(shí)相關(guān)概述 4一、Java的發(fā)展史 4二、Java的主要特性 4三、JDK 平臺(tái)相關(guān)信息 5第二節(jié) Java圖形界面技術(shù)概述 5一、 Java Swing相關(guān)概述 5二、容器和布局 7三、事件處理 8第三節(jié) 相關(guān)算法的介紹 9一、冒泡排序 9二、插入排序 10三、選擇排序 12四、 二叉查找樹 12第四節(jié) 本章小結(jié) 15第三章 需求分析 17第一節(jié) 系統(tǒng)功能需求 17一、系統(tǒng)設(shè)計(jì)目標(biāo) 17二、系統(tǒng)功能需求 17第二節(jié) 系統(tǒng)運(yùn)行環(huán)境 18第三節(jié) 本章小結(jié) 18第四章 系統(tǒng)設(shè)計(jì) 19第一節(jié) 系統(tǒng)總體描述 19第二節(jié) 模塊設(shè)計(jì) 20一、算法模塊設(shè)計(jì) 20二、界面模塊設(shè)計(jì) 22第三節(jié) 系統(tǒng)流程圖 25第四節(jié) 本章小結(jié) 26第五章 系統(tǒng)實(shí)現(xiàn) 27第一節(jié) 可視化主界面的實(shí)現(xiàn) 27第二節(jié) 排序算法界面所實(shí)現(xiàn)的功能 28第三節(jié) 二叉查找樹可視化功能的實(shí)現(xiàn) 31第四節(jié) 本章小結(jié) 33第六章 系統(tǒng)測(cè)試 34第一節(jié) 問題解決及測(cè)試結(jié)果 34一、 遇到的問題 34二、解決的方法 34三、測(cè)試結(jié)果 34第二節(jié) 本章小結(jié) 41結(jié) 論 42致 謝 43參考文獻(xiàn) 44附 錄 45一、英文原文 45二、英文翻譯 52重慶郵電大學(xué)本科畢業(yè)設(shè)計(jì)(論文)前 言可視化( Visualizations)計(jì)算機(jī)圖形學(xué)和圖像處理技術(shù),將數(shù)據(jù)轉(zhuǎn)換成圖形或圖像在屏幕上顯示出來,并進(jìn)行交互處理的理論、方法和技術(shù)。算法的概念極為抽象,算法有時(shí)也枯燥難懂,所以很多時(shí)候就提不起學(xué)生的興趣,此次的畢業(yè)設(shè)計(jì)所研究的就是在算法基礎(chǔ)上結(jié)合圖形界面動(dòng)態(tài)的演示排序算法的具體實(shí)現(xiàn)過程,從一定程度上也可以提起學(xué)生的興趣,讓讀者不僅從理論上理解它,更是從實(shí)踐過程去接受知識(shí),給學(xué)生更深的印象。用二叉查找樹的關(guān)系表的方法,可提高商品信息的查詢效率。近年來,各種可視化技術(shù)已經(jīng)擴(kuò)展到軍事、醫(yī)學(xué)、醫(yī)學(xué)研究、經(jīng)濟(jì)、解釋工程等各個(gè)領(lǐng)域。排序在計(jì)算機(jī)輔助設(shè)計(jì)、計(jì)算機(jī)圖形學(xué)、機(jī)器人、模式識(shí)別、基因排序?qū)W工程以及統(tǒng)計(jì)學(xué)等領(lǐng)域都具有廣泛的應(yīng)用,因此在排序的研究不僅有理論上的重要意義,而且有更大的實(shí)際應(yīng)用價(jià)值。在當(dāng)今信息發(fā)達(dá)的時(shí)代,面對(duì)著海量的無序數(shù)據(jù)信息,如果沒有一個(gè)規(guī)則來編排和查詢,就會(huì)給我們的工作和信息帶來很大的不方便,所以利用計(jì)算機(jī)的高速運(yùn)行和計(jì)算能力,編寫出一種合適的排序軟件,是十分必要的。第三章,通過仔細(xì)研究,進(jìn)行系統(tǒng)地需求分析。 第二章 相關(guān)知識(shí)概述第一節(jié) Java知識(shí)相關(guān)概述一、Java的發(fā)展史Java是由Sun公司1995年5月開發(fā)的新一代面向?qū)ο缶幊陶Z言(簡(jiǎn)稱Java語言)和Java平臺(tái)的總稱。另一方面,Java技術(shù)也一直在更新。二、Java的主要特性Java的主要特性有平臺(tái)無關(guān)性、安全性、面向?qū)ο筇匦浴⒑?jiǎn)單性、動(dòng)態(tài)特性、多線程性、健壯性等特性[5]。能夠把程序需要的類動(dòng)態(tài)的載入到運(yùn)行環(huán)境,同時(shí)所需要的類也可以通過網(wǎng)絡(luò)載入。Java對(duì)對(duì)象技術(shù)的全面支持和Java平臺(tái)內(nèi)嵌的API能減少應(yīng)用系統(tǒng)的開發(fā)所需要的時(shí)間還能有效降低成本。而在本次設(shè)計(jì)中主要涉及到的是Java Swing包。因此掌握J(rèn)DK是學(xué)好Java的第一步。但無論怎么說,我們都要需要先把Sun JDK掌握好。第二節(jié) Java圖形界面技術(shù)概述一、 Java Swing相關(guān)概述在Java中設(shè)計(jì)圖形界面程序時(shí),通常選用AWT組件和Swing組件。Swing具有以下幾點(diǎn)優(yōu)勢(shì):①豐富的組件類型:Swing提供了非常廣泛的標(biāo)準(zhǔn)組件。②豐富的組件特性:Swing不僅包含了所有平臺(tái)上的特性,它還支持根據(jù)程序所運(yùn)行的平臺(tái)來添加額
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1