【正文】
3). To test whether these features could indeed increase pedagogical value of an algorithm visualization and also to know the more important features from this list `that could result in a significant increase in a pedagogical value of an algorithm, we conducted two experiments.The results of these experiments indicate that the single most important feature is the ability to control the pace of the visualization. Providing a good data set that covers all the special cases in an algorithm can be helpful to students to understand an unfamiliar algorithm. An algorithm visualization having minimum features, and that focuses on the logical steps of an algorithm is sufficient for providing procedural understanding of the algorithm. However, to have better conceptual understanding, additional features (like an activity guide, see Appendix , or pseudocode of an algorithm) would prove to be helpful.Literature ReviewIn this chapter, we describe several algorithm visualizations. The description is followed by a brief summary of current research on the effectiveness of algorithm visualizations.Typically while creating an algorithm visualization an author believes that if the system has certain capabilities, then the system would be more helpful to students. We reviewed these systems to know what capabilities do most algorithm visualizationsgenerally provide. We also wanted to know what features does the current researchsuggest as having pedagogical value. Algorithm Visualizations Brown University Algorithm Simulator and Animator (BALSA)BALSA [Brown et al., 1985] was one of the first algorithm visualization created to help students understand puter algorithms. The system has served as a prototype for many algorithm animations that were developed later [Wiggins, 1998]. It was developed in the 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 。百度百科希望在以后的學習和生活中,能接觸更多的朋友,愿我的老師、朋友、同學都通過努力,取得更大的成功,生活過得越來越好。最后還要感謝四年中陪伴在我身邊朋友、同學,是他們讓我的大學生活過的充實和愉快,是他們讓我學會要懂得珍惜,在這里我不僅收獲了知識,也收獲了友誼。 讓我明白了沒有追求和付出就不會有成功,輝煌背后肯定流下了辛苦的汗水。王老師嚴肅的學習態(tài)度和精益求精的工作作風,深深地感染和激勵著我。這次畢業(yè)設計我得到了很多老師和同學的幫助,我最要感謝的是我的導師王剛老師,自從畢業(yè)設計選定題目后,王剛老師通過電話,小會議,郵箱,群消息、在線等不同指導方式引導我解決在這個過程中所遇到的問題。致 謝四年的大學時光已經(jīng)接近尾聲了,在期間我經(jīng)歷了很多,同時也收獲了很多,充實并快樂的生活著。由于排序算法在計算機輔助設計、計算機圖形學、機器人、模式識別、基因排序?qū)W工程以及統(tǒng)計學等領域都具有廣泛的應用,因此在排序的研究不僅有理論上的重要意義,而且有更大的實際應用價值。對我們做畢業(yè)設計有很大的幫助。并且運用在了各個領域,在未來會用得更多。結(jié) 論算法可視化不論在我學習過程中,還是在在實際生活中都具有很重要的作用。問題2解決辦法:惡補編程知識,經(jīng)常實踐,不懂的就在Java文檔上查,和在百度上收索,以及問老師和同學。由于平時編程編程編的得不是太多,對有些知識都不熟悉了,所以在編程的途中遇到了很多困難。第四節(jié) 本章小結(jié)本章主要介紹了算法可視化的具體實現(xiàn)過程,以及所實現(xiàn)的功能給大家展示了一些主要實現(xiàn)過程代碼的,能讓大家清楚算法可視化的過程,對以后的學習也打下了基礎。 ()。 if((key) == false) { (null, key + 不在此二叉查找樹中)。return。return。()。 } }})。 }else { (key)。} int key = (temp)。} if(checkStringIsInteger(temp) == false){(null, 只能將整數(shù)作為元素值)。 if(()){(null, 輸入不能為空)。插入按鈕事件監(jiān)聽器的實現(xiàn),輸入的數(shù)據(jù)不能為空,并且只能輸入整數(shù)的數(shù)據(jù):(new ActionListener(){public void actionPerformed(ActionEvent e){ String temp = ()。 (jbtSearch)。 (jbtInsert)。 (jlbl)。//設置邊界布局 add(jpview, )。 = outtree。 private JButton jbtDelete = new JButton(刪除) private JButton jbtSearch = new JButton(查找)。 private TreeView jpview = new TreeView()。}}//窗口設置為可見的實例化“插入”、“刪除”、“查找”這三個對象,并將這三個按鈕添加到 jpcontrol中:private BinaryTreeInteger tree 。 //窗口顯示在屏幕中央 ()。 (500, 500)。第三節(jié) 二叉查找樹可視化功能的實現(xiàn)當從主界面選擇的是“二叉查找樹”時就會從main方法開始執(zhí)行:public static void main(String[] args) { DisplayBinaryTree frame = new DisplayBinaryTree()。 (10, 172, 66, 18)。 final JLabel label_1 = new JLabel()。(120, 53, 300, 18)。 ((為保證演示效果,請輸入少于20個小于650的整數(shù)))。 (輸入數(shù)據(jù)( , 隔開):)。⑥設置“輸入數(shù)據(jù)”,“為保證演示效果”,“請輸入少于20個小于650的整數(shù)排序結(jié)果”設置它們的背景顏色為紅色,并將這些標簽加入到內(nèi)容窗格,并設置組件大小和位置:final JLabel label = new JLabel()。 (選擇排序)。SellectionSortRadioButton = new JRadioButton()。 (插入排序)。//將冒泡排序按鈕添加到面板InsertSortRadioButton = new JRadioButton()。//定義按鈕 (true)。 (sortRadio)。 (data)。 }④定義鼠標被按下調(diào)用時的方法:public void mousePressed(final MouseEvent e) { File file = (new String[] { txt }, Text Files(*.txt), null)。i++){ data=data+nums[i]+,。 for(int i=0。 else nums[i] = p。 i++) { int p = (650)。 for (int i=0。③在可視化的演示的時,我