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

正文內(nèi)容

算法可視化演示軟件開(kāi)發(fā)畢業(yè)設(shè)計(jì)-全文預(yù)覽

  

【正文】 he early 1980s at Brown University to serve several purposes. Students would use it to watch execution of algorithms and thereby get better insight into their workings. Students need not write code but invoke code written by someone else. Lecturers would use it to prepare materials for the students. Algorithm designers would use the facilities provided by the system to get a dynamic graphical display of their programs in execution for thorough understanding of the algorithms. Animators using the lowlevel facilities provided by BALSA would design and implement programs that would be displayed when executed. The system was written in C and animated PASCAL programs. Algorithm Visualization EffectivenessHundhausen in his work “A Meta Study of Algorithm Visualization System”[Hundhausen et al., 2002] has analyzed in detail 24 experiments that considered the effectiveness of different algorithm visualizations. He categorized the design of these experiments into four theoretical groups: Epistemic Fidelity, DualCoding, Individual Differences, and Constructivism. Effective Visualizations Review of VisualizationsCurrent research (Chapter 2) on algorithm visualization effectiveness has identified that active involvement by students with the visualization is a necessary factor for the visualization’s success [Hundhausen et al. 2000]. We believe that a successful visualization also requires certain other features apart from active involvement by students with the visualization. The goal of our work is to identify such key features of successful visualizations. This chapter describes the procedure we adopted to create an initial list of features To prepare the initial list of these features an expert study was conducted. We used several heapsort algorithm 。百度百科最后還要感謝四年中陪伴在我身邊朋友、同學(xué),是他們讓我的大學(xué)生活過(guò)的充實(shí)和愉快,是他們讓我學(xué)會(huì)要懂得珍惜,在這里我不僅收獲了知識(shí),也收獲了友誼。王老師嚴(yán)肅的學(xué)習(xí)態(tài)度和精益求精的工作作風(fēng),深深地感染和激勵(lì)著我。 致 謝四年的大學(xué)時(shí)光已經(jīng)接近尾聲了,在期間我經(jīng)歷了很多,同時(shí)也收獲了很多,充實(shí)并快樂(lè)的生活著。對(duì)我們做畢業(yè)設(shè)計(jì)有很大的幫助。 結(jié) 論算法可視化不論在我學(xué)習(xí)過(guò)程中,還是在在實(shí)際生活中都具有很重要的作用。由于平時(shí)編程編程編的得不是太多,對(duì)有些知識(shí)都不熟悉了,所以在編程的途中遇到了很多困難。 ()。return。()。 }else { (key)。} if(checkStringIsInteger(temp) == false){(null, 只能將整數(shù)作為元素值)。插入按鈕事件監(jiān)聽(tīng)器的實(shí)現(xiàn),輸入的數(shù)據(jù)不能為空,并且只能輸入整數(shù)的數(shù)據(jù):(new ActionListener(){public void actionPerformed(ActionEvent e){ String temp = ()。 (jbtInsert)。//設(shè)置邊界布局 add(jpview, )。 private JButton jbtDelete = new JButton(刪除) private JButton jbtSearch = new JButton(查找)。}}//窗口設(shè)置為可見(jiàn)的實(shí)例化“插入”、“刪除”、“查找”這三個(gè)對(duì)象,并將這三個(gè)按鈕添加到 jpcontrol中:private BinaryTreeInteger tree 。 (500, 500)。 (10, 172, 66, 18)。(120, 53, 300, 18)。 (輸入數(shù)據(jù)( , 隔開(kāi)):)。 (選擇排序)。 (插入排序)。//定義按鈕 (true)。 (data)。i++){ data=data+nums[i]+,。 else nums[i] = p。 for (int i=0。final JMenuItem openFileItemMenuItem = new JMenuItem()。 (100, 100, 530, 570)。其創(chuàng)建的方法如下:private void createContents() { frame = new JFrame()。//使窗口顯示在屏幕中央 (EXIT_ON_CLOSE)。 (arg0)。//按鈕 }}}。 (500, 500)。 (false)。 private ActionListener arg0=new ActionListener() { public void actionPerformed(ActionEvent arg0) {//實(shí)現(xiàn)按鈕操作的響應(yīng)方法// TODO Autogenerated method stub if(()==sort){ //用來(lái)判斷發(fā)起事件的控件是不是sort (new Runnable() { // 導(dǎo)致 runnable 的 run 方法在 EventQueue 的指派線程上被調(diào)用 public void run() { try { MainSortApp window = new MainSortApp()。 算法可視化演示軟件開(kāi)發(fā)總體流程圖第四節(jié) 本章小結(jié)本章主要是對(duì)算發(fā)可視化演示系統(tǒng)進(jìn)行總體設(shè)計(jì),設(shè)計(jì)了程序?qū)?yīng)的模塊,并畫了相應(yīng)的流程圖,為接下來(lái)的系統(tǒng)實(shí)現(xiàn)打下了堅(jiān)實(shí)的基礎(chǔ)。本次設(shè)計(jì)我們所用的算法最多的就是排序算法,類SelectSort 和 BubbleSort 以及類InsertSort都繼承了Sort。雖然算法不同,但它們之間還是有很多的共同之處。在排序算法的系統(tǒng)中主要是冒泡排序模塊、插入排序模塊、選擇排序模塊,實(shí)現(xiàn)排序算法的演示,而二叉查找樹(shù)模塊主要是實(shí)現(xiàn)二叉查找樹(shù)的插入、刪除、排序功能。軟件環(huán)境:① 操作系統(tǒng):Windows XP、Windows Windows 8;② 相關(guān)應(yīng)用軟件:JDK、Eclipse。二叉查找樹(shù)實(shí)現(xiàn)的功能① 二叉查找樹(shù)的插入演示。③ 實(shí)現(xiàn)對(duì)插入排序進(jìn)行演示,并顯示排序前后的數(shù)組,排序所交換的次數(shù)、比較的次數(shù)、探測(cè)的次數(shù)及其所用的總的時(shí)間。第一節(jié) 系統(tǒng)功能需求一、系統(tǒng)設(shè)計(jì)目標(biāo)開(kāi)發(fā)軟件首先做的是開(kāi)發(fā)過(guò)程中最主要的就是系統(tǒng)的需求分析[15],了解并掌握數(shù)據(jù)結(jié)構(gòu)與算法的設(shè)計(jì)方法,具備獨(dú)立分析和能力;提高綜合運(yùn)用所學(xué)的理論知識(shí)和方法獨(dú)立分析和解決問(wèn)題的能力;設(shè)計(jì)并實(shí)現(xiàn)直觀、容易被理解的排序算法和二叉查找樹(shù)的動(dòng)態(tài)演示系統(tǒng),是系統(tǒng)設(shè)計(jì)的目標(biāo)。還介紹了關(guān)于圖形界面知識(shí)的概念,通過(guò)此本章的學(xué)習(xí),能讓大家怎樣完成圖形界面實(shí)現(xiàn),設(shè)計(jì)出更美觀的界面,對(duì)以后進(jìn)一步學(xué)習(xí)這部分的知識(shí)很有幫助。當(dāng)有序表是靜態(tài)排序表時(shí),易用順序表作為存儲(chǔ)結(jié)構(gòu),而采用二分排序?qū)崿F(xiàn)其排序操作。在等概率的條件下,ASL=(1+2*2+3*4+4*3)/10=3ASL=(1+2+3+4+5+6+7+8+9+10)/10=由此可知,二叉查找樹(shù)排序算法的平均排序長(zhǎng)度,主要取決于樹(shù)的高度,即與二叉樹(shù)的形態(tài)無(wú)關(guān)。刪除操作的過(guò)程一般按三種情況來(lái)處理的:假如刪除的結(jié)點(diǎn)是A是葉結(jié)點(diǎn),就可以直接刪了,而不會(huì)改變?cè)摱鏄?shù)的性質(zhì)。如果二叉樹(shù)為空,就將新結(jié)點(diǎn)作為根結(jié)點(diǎn)。在第i趟找到最小元素后,和第i個(gè)元素交換,可能會(huì)導(dǎo)致第i個(gè)元素與其含有相同關(guān)鍵字元素的相對(duì)位置發(fā)生改變,因此,簡(jiǎn)單選擇排序是一個(gè)不穩(wěn)定的排序算法。簡(jiǎn)單選擇排序的概念假設(shè)排序表為L(zhǎng)[1...n],第i趟排序即從L[i...n]中選擇關(guān)鍵字最小的元素與L(i)交換,每一趟排序可以確定一個(gè)元素的最終位置,這樣經(jīng)過(guò)n1趟排序就可以使得整個(gè)排序表有序。穩(wěn)定性:由于每次插入元素時(shí)總是從后向前先比較再移動(dòng)的,所以不會(huì)出現(xiàn)相同元素的相對(duì)位置發(fā)生變化,即直接插入排序算法是一個(gè)穩(wěn)定的排序算法。在最好的情況下,表中元素已經(jīng)有序,此時(shí)每插入一個(gè)元素,都只需比較移動(dòng)一次而不用移動(dòng)元素,因而時(shí)間復(fù)雜度為O(n)。將L(i)復(fù)制到L(k)。在這里主要介紹直接插入排序。由此可以總結(jié)出冒泡排序的優(yōu)點(diǎn)是具有穩(wěn)定性,缺點(diǎn)是慢,每次只能移動(dòng)相鄰的兩個(gè)數(shù)據(jù)。冒泡排序的性能分析冒泡排序的性能分析如下:空間效率:僅使用了常數(shù)個(gè)輔助單元,因而空間復(fù)雜度為0(1)。每個(gè)事件有一個(gè)相應(yīng)的監(jiān)聽(tīng)者接口,它規(guī)定了能夠接收(并處理)該類事件的方法的規(guī)范。 系統(tǒng)根據(jù)用戶的操作構(gòu)造出相應(yīng)事件類的對(duì)象。調(diào)用容器的方法add()將組件加入容器,組件填入容器的順序?qū)凑盏谝恍械谝粋€(gè)、第一行第二個(gè)、……每個(gè)網(wǎng)格中都必須填入組件,假如希望是空白的網(wǎng)格,可以給它添加一個(gè)空的標(biāo)簽: add (new Label())。網(wǎng)格布局管理器具有更復(fù)雜、功能更強(qiáng)的網(wǎng)格布局。布局管理器種類FlowLayout: 在一行上水平排列組件,直到該行沒(méi)有足夠的空間為止,然后另起一行繼續(xù)排列當(dāng)用戶縮放容器時(shí),布局管理器將自動(dòng)進(jìn)行控制,重新排列。當(dāng)容器需要確定組件大小和定位組件的時(shí)候,就會(huì)發(fā)消息給布局管理器對(duì)象,讓它完成該項(xiàng)工作。在Java中還提供了支持用戶界面元素自動(dòng)定位的布局工具。它是一矩形域,在里面可以擺放其它的組件,也可以有自己的布局管理器。Java中的容器是用來(lái)放置其它組件的一種特殊部件(如標(biāo)簽、按鈕、文本框等),用Containers 來(lái)描述容器,容器組件Window 不需要其他組件支撐,獨(dú)立顯示。二、容器和布局我們都知道,Java的GUI界面定義是由AWT類包和Swing類包來(lái)完成的[8]。因此,它在運(yùn)行時(shí)裝載了大量的類。Swing基于MVC的結(jié)構(gòu)使得它可以發(fā)揮Java作為一門面向?qū)ο笳Z(yǔ)言的優(yōu)勢(shì)。⑤成熟穩(wěn)定:由于它是純Java實(shí)現(xiàn)的,不會(huì)有SWT的兼容性問(wèn)題。較之SWT和AWT更面向?qū)ο螅哺`活而可擴(kuò)展。③好的組件API模型支持:Swing遵循MVC模式,這是一種非常成功的設(shè)計(jì)模式?;谒己玫目蓴U(kuò)展性,除了標(biāo)準(zhǔn)組件,Swing還提供了大量的第三方組件。SUN公司推出了新的用戶界面庫(kù):Swing,相對(duì)AWT來(lái)說(shuō),Swing功能更強(qiáng)大、使用更方便,它的出現(xiàn)是使得Java的圖形用戶上了一個(gè)臺(tái)階[7]。在委托事件處理模型中,用戶操作引發(fā)的事件對(duì)象仍然傳遞給相應(yīng)的組件,但是為了接受事件并進(jìn)行事件處理,組件必須注冊(cè)一個(gè)事件處理程序,這種事件處理程序稱為事件的監(jiān)聽(tīng)程序(Listener)。其中IBM的JDK包含的JVM(Java Virtual Machine)運(yùn)行效率要比Sun JDK包含的JVM高出許多。JDK是Java開(kāi)發(fā)工具包(Java development kit))的縮寫,是整個(gè)Java的核心,是一種用于構(gòu)建在Java平臺(tái)上發(fā)布的應(yīng)用程序包括了Java運(yùn)行環(huán)境(Java Runtime Envirement),一堆Java工具和Java基礎(chǔ)的類庫(kù)()。尤其是Java企業(yè)應(yīng)用編程接口(Java Enterprise APIs)為企業(yè)計(jì)算及電子商務(wù)應(yīng)用系統(tǒng)提供了豐富的類庫(kù)很相關(guān)技術(shù)。Java中的類有一個(gè)運(yùn)行時(shí)刻的表示,能進(jìn)行運(yùn)行時(shí)刻的類型檢查。是解釋型的,而且是高性能的,是動(dòng)態(tài)的[6]。Java 技術(shù)具有突出的的平臺(tái)移植性、高效性、通用性和安全性,它應(yīng)廣泛的用于數(shù)據(jù)中心、個(gè)人PC、移動(dòng)電話、游戲控制臺(tái)、互聯(lián)網(wǎng)以及科學(xué)超級(jí)計(jì)算機(jī),并且在全球擁有的開(kāi)發(fā)者專業(yè)社群是最大的。它可以應(yīng)用在各種不同的平臺(tái)上,正逐步成為internet應(yīng)用的
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1