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

正文內(nèi)容

算法可視化演示軟件開發(fā)畢業(yè)設計-展示頁

2025-07-06 12:52本頁面
  

【正文】 ing包。尤其是Java企業(yè)應用編程接口(Java Enterprise APIs)為企業(yè)計算及電子商務應用系統(tǒng)提供了豐富的類庫很相關技術。Java對對象技術的全面支持和Java平臺內(nèi)嵌的API能減少應用系統(tǒng)的開發(fā)所需要的時間還能有效降低成本。Java中的類有一個運行時刻的表示,能進行運行時刻的類型檢查。能夠把程序需要的類動態(tài)的載入到運行環(huán)境,同時所需要的類也可以通過網(wǎng)絡載入。是解釋型的,而且是高性能的,是動態(tài)的[6]。二、Java的主要特性Java的主要特性有平臺無關性、安全性、面向?qū)ο筇匦?、簡單性、動態(tài)特性、多線程性、健壯性等特性[5]。Java 技術具有突出的的平臺移植性、高效性、通用性和安全性,它應廣泛的用于數(shù)據(jù)中心、個人PC、移動電話、游戲控制臺、互聯(lián)網(wǎng)以及科學超級計算機,并且在全球擁有的開發(fā)者專業(yè)社群是最大的。另一方面,Java技術也一直在更新。它可以應用在各種不同的平臺上,正逐步成為internet應用的主要開發(fā)語言。 第二章 相關知識概述第一節(jié) Java知識相關概述一、Java的發(fā)展史Java是由Sun公司1995年5月開發(fā)的新一代面向?qū)ο缶幊陶Z言(簡稱Java語言)和Java平臺的總稱。第五章,可視化算法的具體實現(xiàn)、及其功能。第三章,通過仔細研究,進行系統(tǒng)地需求分析。第三節(jié) 論文結(jié)構(gòu)本次的論文共有六個章節(jié),詳細的闡述了算法可視化的具體實現(xiàn):第一章,主要介紹了研究的背景、內(nèi)容、目的和意義。在當今信息發(fā)達的時代,面對著海量的無序數(shù)據(jù)信息,如果沒有一個規(guī)則來編排和查詢,就會給我們的工作和信息帶來很大的不方便,所以利用計算機的高速運行和計算能力,編寫出一種合適的排序軟件,是十分必要的。第二節(jié) 課題的目的與意義設計并實現(xiàn)直觀、容易被理解的算法的動態(tài)演示系統(tǒng),是課題研究的目的。排序在計算機輔助設計、計算機圖形學、機器人、模式識別、基因排序?qū)W工程以及統(tǒng)計學等領域都具有廣泛的應用,因此在排序的研究不僅有理論上的重要意義,而且有更大的實際應用價值。而算法可視化是研究其它更深層次領域的基礎,因此在研究其它領域的可視化前,我們必須先搞清楚算法可視化這個概念。近年來,各種可視化技術已經(jīng)擴展到軍事、醫(yī)學、醫(yī)學研究、經(jīng)濟、解釋工程等各個領域。 第一章 緒論第一節(jié) 課題背景隨著社會和計算機技術的發(fā)展,如今,在可視化技術這個大家庭中不僅僅只有科學計算機可視化,它還包括了信息可視化、數(shù)據(jù)可視化、知識可視化等一系列的分支。用二叉查找樹的關系表的方法,可提高商品信息的查詢效率。并且本次畢業(yè)設計也選擇了不同的排序算法,這樣在演示的過程中,我們可以根據(jù)實現(xiàn)的復雜程度和執(zhí)行速度等方面為該系統(tǒng)選擇合適的排序算法,使之高效率運行,進而提高對排序算法的掌握程度[2]。算法的概念極為抽象,算法有時也枯燥難懂,所以很多時候就提不起學生的興趣,此次的畢業(yè)設計所研究的就是在算法基礎上結(jié)合圖形界面動態(tài)的演示排序算法的具體實現(xiàn)過程,從一定程度上也可以提起學生的興趣,讓讀者不僅從理論上理解它,更是從實踐過程去接受知識,給學生更深的印象。排序是計算機程序設計中的一種重要操作,其功能是一個數(shù)據(jù)元素(或者記錄)的任意序列,從新排列成一個按關鍵字有序的序列。算法可視化演示軟件開發(fā)畢業(yè)設計目 錄前 言 1第一章 緒論 2第一節(jié) 課題背景 2第二節(jié) 課題的目的與意義 2第三節(jié) 論文結(jié)構(gòu) 3第二章 相關知識概述 4第一節(jié) Java知識相關概述 4一、Java的發(fā)展史 4二、Java的主要特性 4三、JDK 平臺相關信息 5第二節(jié) Java圖形界面技術概述 5一、 Java Swing相關概述 5二、容器和布局 7三、事件處理 8第三節(jié) 相關算法的介紹 9一、冒泡排序 9二、插入排序 10三、選擇排序 12四、 二叉查找樹 12第四節(jié) 本章小結(jié) 15第三章 需求分析 17第一節(jié) 系統(tǒng)功能需求 17一、系統(tǒng)設計目標 17二、系統(tǒng)功能需求 17第二節(jié) 系統(tǒng)運行環(huán)境 18第三節(jié) 本章小結(jié) 18第四章 系統(tǒng)設計 19第一節(jié) 系統(tǒng)總體描述 19第二節(jié) 模塊設計 20一、算法模塊設計 20二、界面模塊設計 22第三節(jié) 系統(tǒng)流程圖 25第四節(jié) 本章小結(jié) 26第五章 系統(tǒng)實現(xiàn) 27第一節(jié) 可視化主界面的實現(xiàn) 27第二節(jié) 排序算法界面所實現(xiàn)的功能 28第三節(jié) 二叉查找樹可視化功能的實現(xiàn) 31第四節(jié) 本章小結(jié) 33第六章 系統(tǒng)測試 34第一節(jié) 問題解決及測試結(jié)果 34一、 遇到的問題 34二、解決的方法 34三、測試結(jié)果 34第二節(jié) 本章小結(jié) 41結(jié) 論 42致 謝 43參考文獻 44附 錄 45一、英文原文 45二、英文翻譯 52重慶郵電大學本科畢業(yè)設計(論文)前 言可視化( Visualizations)計算機圖形學和圖像處理技術,將數(shù)據(jù)轉(zhuǎn)換成圖形或圖像在屏幕上顯示出來,并進行交互處理的理論、方法和技術。此次設計算法可視化( Algorithm Visualizations)就是利用可視化技術將算法可視化[1]。在我們所學的數(shù)據(jù)結(jié)構(gòu)中了解到了排序算法的原理,以及實現(xiàn)過程,但是不清楚它的具體過程是怎么樣的。所要達到的目的是以生動、活潑、全新的教學系統(tǒng),提供全新的環(huán)境提高學生的聽課興趣,增加學生的記憶。二叉樹的算法、結(jié)構(gòu)化查詢語言等的研究對數(shù)據(jù)查詢有著很重要的實際意義。此次畢業(yè)設計還選擇了二叉樹算法的動態(tài)演示,對研究二叉查找樹是很有幫助,讓大家更了解二叉查找樹的實際意義,對研究更復雜的數(shù)據(jù)庫關系打下了基礎。數(shù)據(jù)可視化有可能幫助人類在大量數(shù)據(jù)的分析和理解,并檢測模式[3]。其中有很多問題需要在以后的研究中加以解,從整體上來說,我國的可視化技術與世界先進水平還有很大的差距。由于數(shù)據(jù)結(jié)構(gòu)中算法是算法可視化中最容易讓讀者理解和明白的算法,因此,此次設計主要以排序算法和二叉查找樹的相關操作來研究。又加上如今信息產(chǎn)業(yè)在快速的發(fā)展信息的流通量越來越大,這些信息數(shù)據(jù)不僅龐大而且雜亂無章,很難管理和查詢,所以更加需要一種非??旖荻矣行У木幣攀侄蝸碚磉@些數(shù)據(jù)信息,提高我們的工作效率。隨著計算機技術的不斷發(fā)展,人們提出了各種算法,算法可視化在計算機領域里有十分重要的意義,并且應用廣泛。并且在設計的過程中也能讓學生更加的了解排序算法和實現(xiàn)過程,使他們在以后的學習和工作中能找到更加高效的排序系統(tǒng),提高學習效果和工作效率。第二章,簡述相關的Java知識,進一步了解Java的發(fā)展史、特性,還介紹Java圖形界面的相關知識和相關算的一些知識。第四章,明確項目模塊,進行系統(tǒng)概要設計。第六章,系統(tǒng)測試,以及在做畢設的過程中遇到的問題,最后對本次畢設進行總結(jié)。Java的正式推出是1995年,它是James Gosling和同事們一起研發(fā)的,HotJava瀏覽器是用Java實現(xiàn)的,它(支持Java applet)顯示了Java的魅力:動態(tài)的Web、跨平臺、Internet計算。此后,Java不僅被廣泛接受還推動了Web的快速發(fā)展,我們所用的一般的瀏覽器均支持Java applet。Java是由四個方面組成的:Java編程語言、Java類文件格式、Java虛擬機和Java應用程序接口(Java API)。在全球云計算和移動互聯(lián)網(wǎng)的產(chǎn)業(yè)環(huán)境下,Java更具備了顯著優(yōu)勢和廣闊的前景[4]。Java語言是體系結(jié)構(gòu)中立的,是可移植的。Java語言的設計的其中一個目標就是要適應環(huán)境的動態(tài)變化。這樣對軟件的升級很有用。Java語言的優(yōu)良特性使得Java應用有很高的的可靠性和健壯性,同時應用系統(tǒng)維護的費用也相對減少了。Java的編譯一次,其隨處可運行的特性使得它能夠提供一個隨處可用的開放結(jié)構(gòu)和在多平臺之間傳遞信息的低成本方式。Java語言是面向?qū)ο蟮模嫦驅(qū)ο蠹夹g的基本特征主要有抽象性、封裝性、繼承性和多態(tài)性。三、JDK 平臺相關信息本系統(tǒng)利用Java JDK作為開發(fā)平臺,利用它的可視化界面和圖形用戶界面在硬件環(huán)境:PC兼容機,1G 內(nèi)存以及軟件環(huán)境Microsoft Windows7操作系統(tǒng)(可以移植到大部分機器上)下一個演示不同的算法,利用Java編寫的圖形界面演示的動態(tài)交換過程。不論什么Java應用服務器實質(zhì)都是內(nèi)置了某個版本的JDK。最主流的JDK是Sun公司發(fā)布的JDK,除了Sun之外,還有很多公司和組織都開發(fā)了自己的JDK,例如IBM公司開發(fā)的JDK,BEA公司的Jrocket,還有GNU組織開發(fā)的JDK等等。而專門運行在x86平臺的Jrocket在服務端運行效率也要比Sun JDK好很多。事件的監(jiān)聽程序可以定義在組件所在的類,也可以定義在其他的類里,而對事件的處理,則由組件委托給事件監(jiān)聽所在的類來完成。Java的出現(xiàn)帶來了抽象窗口工具(AWT),其設計目標是希望構(gòu)建一個通用的GUI(圖形用戶界面)使得利用它編程的程序能夠運行在所有平臺上,以實現(xiàn)SUN你公司的口號“一次編寫,隨處運行”。Swing的關鍵在于一旦有了頂級容器,則其中所有構(gòu)件都可以用Java編寫,例如,將按鈕(JButton)放入框架(JFrame)中時,本機操作系統(tǒng)不需要了解該按鈕的任何信息,該按鈕完全用Java編寫且無同級組件,因而組件稱為“輕”組件。這些組件和SWT一樣豐富。許多商業(yè)或開源的Swing組件庫在開發(fā)多年后都已經(jīng)可以方便地獲取了。Swing組件特性遵循特定原則,易于擴展,因此能夠提供較SWT和AWT更多的功能。它的API成熟并設計良好。它的API設計被認為是最成功的GUI API之一。④標準的GUI庫:Swing和AWT一樣是JRE中的標準庫。它們是平臺無關的,不用擔心平臺兼容性。Swing在每個平臺上都有相同的性能,不會有明顯的性能差異。Swing完全由Java代碼實現(xiàn)。它提供了許總體上良好的性能。Swing自己實現(xiàn)了所有組件。而在運行時Java在堆上創(chuàng)建小的對象導致了額外的堆空間消耗。因此,Swing應用程序通常會因無法及時回收冗余的對象而導致性能下降。它在布局管理上采用了容器和布局管理分離的方案。對于布局的管理交給專門的布局管理器類(LayoutManager)來完成。容器主要有面板和框架兩類,在AWT中,F(xiàn)rame是對應于框架的類, 大部分AWT組件在Swing中都有等價的組件,他們在形式上相差一個“J”。Pane一定要放在Web瀏覽器窗口(或者Window組件)中才可以顯示。基本方法是remove(Componentmgr)設置容器布局。容器的組件布局 ,負責確定組件在容器中的位置和大小。調(diào)用容器的setLayout(布局管理器對象) 方法,為容器指定某種布局管理器的一個對象。直接管理組件調(diào)用容器setLayout(null) 方法,關閉布局管理器。調(diào)用每一個組件的setSize()。BorderLayout(邊界布局管理器)的布局分為東、南、西、北、中五個位置。GridLayout(網(wǎng)格布局管理器)在你創(chuàng)建用戶界面時,經(jīng)常像將對象按網(wǎng)格一樣均勻排列,例如一行或者一列單選按鈕,它所確保的所有構(gòu)件占用的空間完全相同,創(chuàng)網(wǎng)格由應占的行數(shù)和列數(shù)決定。網(wǎng)格布局的每一個組件作為一個卡片,該容器只顯示多個卡片中的某一個。setLayout(new GridLayout(行數(shù), 列數(shù),行間隔,列間隔))。三、事件處理在一個GUI程序中,為了與用戶進行交互,需要接受鍵盤和鼠標的操作。事件 :說明“發(fā)生了什么事情”的對象。事件可以分為焦點事件、鍵盤事件、鼠標事件。事件處理程序:是一個方法,它接收一個事件對象然后分析這個對象最后完成對該事件的處理。 界面構(gòu)成第三節(jié) 相關算法的介紹一、冒泡排序什么是交換所謂交換,就是根據(jù)序列中兩個元素關鍵字的比較結(jié)果對換這兩個記錄在序列中的位置,基于交換排序的算法有很多,本次設計以冒泡排序來為例子,更容易讓人們理解交換的概念。這里我假如是從從小到大排序,若為逆序(即A[i1]A[i]),則交換他們直到序列比較完,我們稱他們?yōu)橐惶嗣芭?,結(jié)果將最小的元素交換到待排元素的序列的第一個位置,下一趟冒泡時,前一趟確定的最小元素不再參與比較,待排序列減少一個元素,每趟冒泡的結(jié)果把序列中的最小元素放到了序列的最終位置,......,這樣最多做n1趟冒泡排序就把所有元素排好序[9]。時間效率:當初始序列有序時,比較次數(shù)為n1次,移動次數(shù)為0,從而最好情況下的時間復雜度為O(n);當初始序列為逆序時,需要進行n1趟排序,第i趟需要進行ni次關鍵字的比較,而且每次比較都需要移動三次來交換元素位置。穩(wěn)定性:由于當ij且A[i].key=A[j].key時不會交換兩個元素,從而冒泡排序算法是一個穩(wěn)定的排序算法。冒泡排序雖然可能不是最好的做法排序[10],但確是經(jīng)常用的一種排序算法。由插入排序可以引申出三種重要的排序算法:直接插入排序、折半插入排序、希爾排序。直接插入插入排序的概念直接插入排序是一種簡單的排序方法,它的基本操作是將一個記錄插入到已經(jīng)排好的有序表中,從而得到一個新的、記錄數(shù)增1的有序表。將L[k.......i1]中所有元素后移一個位置。為了實現(xiàn)對L[1...n]的排序,可以將L(2)到L(n)依前面次插入到前面已經(jīng)排好的子序列當中,初始假設L[1]是一個已經(jīng)排好的子序列,上述操作執(zhí)行n1次,就能得到一個有序的表插入排序在實現(xiàn)上通常采用的就是就地排序(空間復雜度為O(1)),因而在從后向前的比較過程中,需要反復把已經(jīng)排好的元素逐步向后移位,為新元素提供插入空間。時間效率:在排序過程中,向有序字表中逐個的插入元素的操作進行了n1趟,每趟操作都分為比較關鍵字和移動元素,而比較次數(shù)和移動次數(shù)是取決于排序表初始狀態(tài)的。在最壞的情況下:表中序列剛好與排序結(jié)果中元素順序相反(逆序)的的移動次數(shù)為0,總的比較次數(shù)達到最大,為,總的移動次數(shù)也達到最大,為。由此直接插
點擊復制文檔內(nèi)容
教學課件相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1