復(fù)雜算法可視化框架構(gòu)建方案研究_第1頁
復(fù)雜算法可視化框架構(gòu)建方案研究_第2頁
復(fù)雜算法可視化框架構(gòu)建方案研究_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、復(fù)雜算法可視化框架構(gòu)建方案研究     摘  要  算法設(shè)計是計算機系統(tǒng)基本構(gòu)件設(shè)計的核心,在程序設(shè)計中占據(jù)非常重要的地位,算法的理解是困擾學(xué)生編程能力提高的難點,算法的不可見性是影響學(xué)生理解算法的關(guān)鍵因素。本文介紹了一個復(fù)雜算法的可視化系統(tǒng),該系統(tǒng)可使復(fù)雜、抽象的算法能夠通過計算機圖形化模擬。     關(guān)鍵字  算法;可視化模擬;框架     程序設(shè)計能力是計算機專業(yè)學(xué)習(xí)的基礎(chǔ),同時也

2、是學(xué)生能夠向軟件開發(fā)更高層次邁進的前提,而算法的設(shè)計能力又是程序設(shè)計能力提高的關(guān)鍵因素。在學(xué)生進入計算機專業(yè)學(xué)習(xí)的初期,常常因為對于算法理解困難,從而失去專業(yè)學(xué)習(xí)興趣,甚至是喪失繼續(xù)學(xué)習(xí)的勇氣。本人經(jīng)過深入的研究發(fā)現(xiàn),理解算法的難度在于其抽象性和不可見性。即使是很簡單的算法,對于初學(xué)者來說,由于沒有直觀的外在表現(xiàn),也是很難理解的。那么通過一套算法圖形模擬系統(tǒng),使任何復(fù)雜的算法能夠讓計算機在運行中來動態(tài)的模擬其實現(xiàn)的全過程。1  設(shè)計思想    本系統(tǒng)主要進行兩個階段工作:對程序設(shè)計教學(xué)中遇到的算法進行收集和分類。搭建算法模擬系統(tǒng)框架1

3、。1.1 算法的收集和分類    算法的收集和分類是前期的基礎(chǔ)準備工作,也是本系統(tǒng)能否成功的關(guān)鍵。首先,確定此系統(tǒng)所支持的課程體系,例如程序設(shè)計基礎(chǔ)、數(shù)據(jù)結(jié)構(gòu)等入門級課程體系。其次,收集在這些課程中所需要的算法及基本程序。最后,對這些算法及基本程序,按照難易度、知識點、及學(xué)習(xí)面進行分類和細化。1.2 搭建算法模擬系統(tǒng)框架    本系統(tǒng)主要分為三個主體部分:算法以及基本程序部分。系統(tǒng)核心及調(diào)度控制部分。系統(tǒng)交互控制及演示界面部分。如圖1所示。圖1 系統(tǒng)框架  

4、0; 算法及基本程序部分是指需要模擬演示的程序,該部分的所有算法必須用可運行的程序?qū)崿F(xiàn),同時在該部分中,確定其內(nèi)存單元的控制和數(shù)據(jù)的變化。    系統(tǒng)核心及控制調(diào)度部分是本系統(tǒng)的中心部分,主要由中心調(diào)度和控制子系統(tǒng)、算法公共接口子系統(tǒng)、交互管理子系統(tǒng)、文件管理子系統(tǒng)、圖形顯示子系統(tǒng)、文檔管理子系統(tǒng)、幫助子系統(tǒng)構(gòu)成。如圖2所示。    系統(tǒng)交互及演示界面部分,主要是系統(tǒng)的主體操作界面、算法程序代碼的運行界面、圖形化模擬界面、人機交互界面、內(nèi)存控制及數(shù)據(jù)變化演示界面、通用接口掛接界面、出錯提示界面、數(shù)據(jù)初始化

5、及結(jié)果輸出界面、幫助及算法解釋界面。2  關(guān)鍵問題2.1對算法的研究    因為本系統(tǒng)的根本是解決其所支持的課程體系中的算法和基本程序的圖形化模擬,所以需要系統(tǒng)設(shè)計者要詳細的研究這些課程中每一個要可視化圖形模擬的算法,確定其數(shù)據(jù)初始化及變化范圍,存儲空間變化過程,程序執(zhí)行流程,程序編寫技巧等環(huán)節(jié)。2.2 程序動態(tài)跟蹤及演示    在算法設(shè)計中常常也配有相關(guān)的圖形工具來幫助學(xué)生對算法的理解,例如流程圖、N-S圖、PAD圖等。但是這些圖形只是能靜態(tài)的反映程序的執(zhí)行過程,對于復(fù)雜的算法并不能

6、很好的捕捉程序的動態(tài)運行過程以及數(shù)據(jù)和存儲空間的狀態(tài)變化。在本系統(tǒng)中可以對程序進行中斷和單步執(zhí)行來利用圖形化演示程序的動態(tài)執(zhí)行過程,以及數(shù)據(jù)和存儲空間的狀態(tài)變化。2.3 圖形化演示    圖形化演示是將算法由抽象變具體,不可見變?yōu)榭梢?,使學(xué)生的學(xué)習(xí)由枯燥變生動的關(guān)鍵。對于眾多的、不同知識點的、不同類型的算法,以其各自的特點用圖形模擬。建立圖形庫與程序的語句進行映射,系統(tǒng)通過捕捉程序的每一部執(zhí)行來觸發(fā)圖形界面的切換控制系統(tǒng),實現(xiàn)圖形的變化。2.4算法的文字解釋    對于任何圖形化模擬都不能完全描述算法的細

7、節(jié)和其中的技巧,這恰好需要文字來進行必要的補充和描述。在算法程序運行時,幫助系統(tǒng)可以同步用文字來描述算法的核心思想和執(zhí)行步驟,并且對于程序的每一步運行,調(diào)用幫助及解釋子系統(tǒng)2進行配套的文字解釋。圖2 系統(tǒng)概要設(shè)計2.5 界面設(shè)計    界面設(shè)計是本系統(tǒng)的關(guān)鍵工作之一,其直接影響到系統(tǒng)的可用性和趣味性。特別是人機交互界面,通過此界面來對算法進行初始化數(shù)據(jù)設(shè)置和算法程序的運行操作控制。對于不同的算法程序采用與其相匹配的初始化設(shè)置界面,例如對于遞歸算法應(yīng)*其遞歸的深度,對于排序算法即可以讓用戶自行輸入,也可以設(shè)定隨機數(shù)據(jù)序列。3 

8、 系統(tǒng)應(yīng)深入研究的方面    對于同樣的問題,必將會有多種算法。為了提高學(xué)生的探索能力,應(yīng)讓學(xué)生嘗試自己設(shè)計算法并編寫程序,能夠通過本系統(tǒng)進行圖形化模擬演示。這就需要進一步設(shè)計通用公共算法接口子系統(tǒng)3,使用戶自己的算法能掛接到本系統(tǒng)。為了解決這個問題,需要設(shè)計一套框架,來使用通用圖形庫、通用幫助庫與需要模擬演示的程序進行掛接。    因為本系統(tǒng)是一個算法教學(xué)輔助系統(tǒng),那么能夠給予使用者提供動態(tài)的智能化學(xué)習(xí)幫助是本系統(tǒng)的關(guān)鍵特色。在下一步研究中將與人工智能、數(shù)據(jù)挖掘、人工神經(jīng)網(wǎng)絡(luò)、計算機圖形學(xué)等技術(shù)相結(jié)合,

9、構(gòu)建經(jīng)驗?zāi)P?,加入提問推理單?,對于不同的使用者構(gòu)建問題資料庫。能夠給學(xué)習(xí)者建立算法幫助和學(xué)習(xí)路徑,達到自動化算法教學(xué)的目的。4  結(jié)束語    本系統(tǒng)是教學(xué)方法、專業(yè)知識教學(xué)、圖形化模擬等方面的全新探索。隨著可視化教學(xué)輔助系統(tǒng)的不斷發(fā)展,使得在程序設(shè)計等專業(yè)基礎(chǔ)課程體系的教學(xué)中增加了新的教學(xué)手段。使得學(xué)生從枯燥的算法學(xué)習(xí)中解脫出來,增加了教學(xué)中的趣味性和實效性。參考文獻1 (美)Roger S. Pressman. 軟件工程實踐者的研究方法. 機械工業(yè)出版社. 20072

10、 Robin D.Burke, Kristian J.Hammond and Vladimir A.Kulyukin. Question-Answering from Frequently-Asked Question Files: Experiences with the FAQ-Finder SystemR. Technical Report TR-97-05, University

11、 of Chicago, Department of Computer Science, 19973 D. E. Knuth, J. H. Morris, and V. R. Pratt. Fast pattern matching in strings. SIAM Journal on Computing,6(1): 323-350, 19774 Wong Y F, Sideris A .&#

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論