• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      數(shù)據(jù)結(jié)構(gòu)可視化類庫的設(shè)計(jì)與實(shí)現(xiàn)

      2018-01-17 09:28周佳寧馮俊安
      電子技術(shù)與軟件工程 2017年23期
      關(guān)鍵詞:類庫數(shù)據(jù)結(jié)構(gòu)可視化

      周佳寧++馮俊安

      摘 要 本文將介紹筆者構(gòu)想的數(shù)據(jù)結(jié)構(gòu)可視化類庫,它將可視化技術(shù)的加入到了數(shù)據(jù)結(jié)構(gòu)類庫,使得數(shù)據(jù)結(jié)構(gòu)能夠被直觀可視。同時(shí),給出了擴(kuò)充數(shù)據(jù)結(jié)構(gòu)類庫的途徑,以及達(dá)成多種數(shù)據(jù)結(jié)構(gòu)可視化安排算法的一般模型。數(shù)據(jù)結(jié)構(gòu)可視化類庫能夠在程序的調(diào)試以及軟件的開發(fā)上起到作用,并有助于提升軟件的可視性、實(shí)用性和開發(fā)的速度。

      【關(guān)鍵詞】數(shù)據(jù)結(jié)構(gòu) 類庫 可視化

      1 引言

      數(shù)據(jù)結(jié)構(gòu)可視化屬于軟件可視化的一個(gè)枝干學(xué)科。軟件可視化設(shè)計(jì)一圖形來表達(dá)和監(jiān)測預(yù)設(shè)格式的程序,以完成程序整體的可視化。程序可視化技術(shù)一般可以分成四大類:事件驅(qū)動(dòng)、狀態(tài)驅(qū)動(dòng)、自動(dòng)動(dòng)畫以及可視化設(shè)計(jì)。

      使用事件驅(qū)動(dòng)的系統(tǒng)比較為人熟知的有ANIMAL系統(tǒng),若是用這種途徑,就需要在程序要求可視化的區(qū)域使用interest-ing envents在加以注釋,對(duì)應(yīng)的表現(xiàn)動(dòng)畫也要在考慮到interest-ing envents的前提下編制。使用狀態(tài)驅(qū)動(dòng)的系統(tǒng)主要有LEONARDO等。所謂狀態(tài)驅(qū)動(dòng),指的是指在程序與可視化情況下設(shè)計(jì)一個(gè)映射關(guān)系,它一般會(huì)在程序開始執(zhí)行前就被可視化工具所指出。選擇可視化設(shè)計(jì)是旨在使用可視符號(hào)來將程序命令和句子加以表達(dá),從而讓程序更容易被理解。使用自動(dòng)動(dòng)畫的系統(tǒng)主要有Jeliot等。Jeliot的原理是使用可視解釋器來完成以數(shù)據(jù)類型為基本的self-animation:開發(fā)者在源代碼中選取需要被可視的數(shù)據(jù)種類,Jeliot就能自行生成演示動(dòng)畫。

      筆者研究的數(shù)據(jù)結(jié)構(gòu)可視化類庫把可視化技術(shù)加進(jìn)了數(shù)據(jù)結(jié)構(gòu)類庫,找出了一種能夠可視化擴(kuò)充數(shù)據(jù)結(jié)構(gòu)類的途徑:構(gòu)建可視數(shù)據(jù)結(jié)構(gòu)。這種結(jié)構(gòu)在原本數(shù)據(jù)結(jié)構(gòu)的一般屬性和操作的前提下,新增可視功能,并給出相應(yīng)的接口。這一方式的特點(diǎn)是可以不使用可視解釋器就能達(dá)成數(shù)據(jù)結(jié)構(gòu)的可視化解釋,以調(diào)用它的可視化接口的形式即可達(dá)成數(shù)據(jù)結(jié)構(gòu)的全自動(dòng)可視。數(shù)據(jù)結(jié)構(gòu)可視化類庫提升了軟件的開發(fā)速度和重用性,它能夠廣泛用于程序的調(diào)試和軟件的制作。

      2 數(shù)據(jù)結(jié)構(gòu)可視化類庫的重要性及目的

      2.1 數(shù)據(jù)結(jié)構(gòu)可視化類庫的重要意義

      在應(yīng)用和學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)以及程序具體設(shè)計(jì)時(shí),如果能達(dá)成數(shù)據(jù)結(jié)構(gòu)的可視化,就能更好的提升的對(duì)數(shù)據(jù)結(jié)構(gòu)的直觀解析,進(jìn)而加快理解速度。在調(diào)試程序時(shí),使用數(shù)據(jù)結(jié)構(gòu)可視化類庫能更好的提升編程的整體速度。從當(dāng)前的發(fā)展而言,已經(jīng)有不少使用比較廣泛的可視化集成開發(fā)軟件,比較常見的就是Visual C++。這樣的視化的集成開發(fā)軟件能讓程序頁面大大簡化,也減少了編寫程序頁面的難度,使得軟件開發(fā)速度能更多的上升。

      2.2 數(shù)據(jù)結(jié)構(gòu)可視化類庫設(shè)計(jì)的目標(biāo)

      在數(shù)據(jù)結(jié)構(gòu)可視化類庫設(shè)計(jì)目標(biāo)主要是能讓數(shù)據(jù)結(jié)構(gòu)可視化類庫可以獲得更多的用途和適應(yīng)性。這就需要增加其靈活性。數(shù)據(jù)結(jié)構(gòu)可視化類庫可以直接在軟件應(yīng)用程序開發(fā)中使用的,開發(fā)者也能使用數(shù)據(jù)結(jié)構(gòu)可視化類庫來構(gòu)造新的數(shù)據(jù)結(jié)構(gòu),此外也能增強(qiáng)其穩(wěn)定性,而這也是數(shù)據(jù)結(jié)構(gòu)可視化類庫另一大應(yīng)用目標(biāo)之一。此外就是可以面向?qū)ο?。?shù)據(jù)結(jié)構(gòu)可視化類庫的對(duì)象主要是數(shù)據(jù)結(jié)構(gòu),當(dāng)然算法也同樣是,他們儲(chǔ)存運(yùn)行結(jié)構(gòu),并能給出輸出訪問結(jié)果的接口。

      3 數(shù)據(jù)結(jié)構(gòu)可視化類庫的設(shè)計(jì)與實(shí)現(xiàn)

      3.1 數(shù)據(jù)結(jié)構(gòu)可視化類庫的設(shè)計(jì)

      在設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)可視化類庫時(shí),應(yīng)對(duì)待解決問題有整體上的考慮。在數(shù)據(jù)結(jié)構(gòu)可視化類庫中,一般是基于Java集合庫的來就原本存在的數(shù)據(jù)結(jié)構(gòu)類做出的擴(kuò)展,在拓展的過程中也會(huì)新增一些對(duì)應(yīng)的、比較繁復(fù)的數(shù)據(jù)結(jié)構(gòu),使用最多的就是樹圖。在數(shù)據(jù)結(jié)構(gòu)可視化類庫進(jìn)程中就可視化數(shù)據(jù)結(jié)構(gòu)做構(gòu)建來達(dá)成數(shù)據(jù)結(jié)構(gòu)的可視化,這樣可視化的數(shù)據(jù)結(jié)構(gòu)亦是以Java集合庫的來就原本存在的數(shù)據(jù)結(jié)構(gòu)類為操作前提完成的,此外就是介入了部分可視屬性并提供了可視化的接口。所有的數(shù)據(jù)結(jié)構(gòu)都有著多樣的顯示模式,而這就要開發(fā)者做出權(quán)衡和選擇了。在數(shù)據(jù)結(jié)構(gòu)可視化類庫中,所有的數(shù)據(jù)結(jié)構(gòu)都存在多種布局的方式來對(duì)其進(jìn)行布局。

      設(shè)計(jì)對(duì)數(shù)據(jù)結(jié)構(gòu)可視化類庫的最主要部分就是對(duì)基本的可視化結(jié)構(gòu)的編制,以及對(duì)應(yīng)的顯示形式、布局方式。在構(gòu)建可視化接口時(shí),比較關(guān)鍵的接口是V Collection接口,它不僅負(fù)擔(dān)著提供Collection接口的任務(wù),同時(shí)也能提供可視化接口,在此方面,一般有void draw,在操作上可以理解為重新繪制確定的數(shù)據(jù)結(jié)構(gòu),使用displayMode參數(shù)值來確定選擇的顯示方式,在此接口中的參數(shù)c代表了數(shù)據(jù)結(jié)構(gòu)將呈現(xiàn)出的顏色。在設(shè)計(jì)顯示模式時(shí),數(shù)據(jù)結(jié)構(gòu)可視化類庫的各種數(shù)據(jù)結(jié)構(gòu)的顯示模式是不盡相同的,如圖1所示。

      此外,在設(shè)計(jì)布局方面,數(shù)據(jù)結(jié)構(gòu)可視化需要解決的主要問題就是對(duì)于圖形的布局。它的設(shè)計(jì)是和開發(fā)者對(duì)于數(shù)據(jù)結(jié)構(gòu)和算法的效果了解程度有關(guān)的。在數(shù)據(jù)結(jié)構(gòu)可視化類庫中比較的關(guān)鍵的是線性布局的途徑和圖布局的措施,對(duì)于各種不同的布局,其算法也是有所差別的。而在其線性布局上,主要在于可以在隊(duì)列和線性表的數(shù)據(jù)結(jié)構(gòu)中使用上,在對(duì)線性的布局途徑上,其一般算法架構(gòu)是通過取得數(shù)據(jù)的元素?cái)?shù)量,并憑借著所顯示的大小以及數(shù)據(jù)元素的數(shù)量來就布局的具體值做出計(jì)算。

      而圖布局的設(shè)計(jì)如果按照算法來區(qū)分,它可以北歸類為二維彈性模型算法,比較基礎(chǔ)的思想就是二維平面上來做計(jì)算。此種方法在圖等數(shù)據(jù)結(jié)構(gòu)使用比較合適。在數(shù)據(jù)結(jié)構(gòu)可視化類庫中可以提供的多樣算法以達(dá)成圖的多樣化。它包括在遺傳模擬退火算法圖基礎(chǔ)上進(jìn)行的三維可視化,還有上文提到過的二維彈性模擬算法??梢暬夹g(shù)最主要的作用就是能幫助增強(qiáng)開發(fā)者的認(rèn)知,而在計(jì)算機(jī)可視化技術(shù)方面,可以把它看做是一種處理信息的工具,基于此來考慮更加多樣的樣本以及變量&聯(lián)系。

      此外,對(duì)于僅僅對(duì)節(jié)點(diǎn)之間管理的數(shù)據(jù)進(jìn)行描述,應(yīng)選擇使用樹布局的方式來對(duì)樹坐標(biāo)加以確定。通常使用的處理方式是若樹非空后跟遍歷樹。這種方式的原理是要先設(shè)置處于樹左下的節(jié)點(diǎn)位置,然后以從左到右的順序來對(duì)節(jié)點(diǎn)的所有子樹進(jìn)行遍歷,然后再回到子樹的節(jié)點(diǎn)位置,對(duì)另一個(gè)子樹最左節(jié)點(diǎn)位置進(jìn)行設(shè)定。要做的使得全部樹的節(jié)點(diǎn)沒有相交重合的部分,做到排列完全等距離,此外就是全部的葉子節(jié)點(diǎn)以根節(jié)點(diǎn)做參照的話,應(yīng)成等要排列

      3.2 數(shù)據(jù)結(jié)構(gòu)可視化類庫的實(shí)現(xiàn)分析

      限于篇幅,筆者數(shù)據(jù)結(jié)構(gòu)的可視化類庫的實(shí)現(xiàn)方面僅做簡單的闡述。數(shù)據(jù)結(jié)構(gòu)動(dòng)態(tài)演示系統(tǒng)能對(duì)各類不同算法的結(jié)構(gòu)數(shù)據(jù)庫變化步驟進(jìn)行表現(xiàn),但這也需要開發(fā)者進(jìn)行大量的畫圖操作才能都達(dá)成,例如在對(duì)鏈表階段的繪制上,如果應(yīng)用數(shù)據(jù)結(jié)構(gòu)可視化類庫就無須再自行編碼,就能夠完成畫圖工作,在動(dòng)態(tài)演示系統(tǒng)的層面上有了層次性的提升,在這一步驟中開發(fā)者無需再考慮數(shù)據(jù)結(jié)構(gòu)的布局,因?yàn)閿?shù)據(jù)結(jié)構(gòu)可視化類庫本身就帶有自動(dòng)布局的功能,開發(fā)者所要做的就是按照自身需求來重制就就可以達(dá)成目標(biāo)。此外,調(diào)用數(shù)據(jù)結(jié)構(gòu)中的draw()也可以達(dá)成數(shù)據(jù)結(jié)構(gòu)的可視化的目的。

      4 結(jié)語

      總的來說,設(shè)計(jì)并實(shí)現(xiàn)數(shù)據(jù)結(jié)構(gòu)的可視化類庫可以更好的的提升軟件的重用性和擴(kuò)展性,基于數(shù)據(jù)結(jié)構(gòu)可視化類庫來進(jìn)行設(shè)計(jì),能顯著提升軟件的開發(fā)設(shè)計(jì)的速度,并降低難度。在中國的軟件技術(shù)設(shè)計(jì)能力日益提高的大背景下,我國開發(fā)者也可以在這此領(lǐng)域內(nèi)獲得更為出色的設(shè)計(jì)成果。

      參考文獻(xiàn)

      [1]周維,周可人,欒鐘治,姚紹文,錢德沛.基于共享內(nèi)存的多核時(shí)代數(shù)據(jù)結(jié)構(gòu)研究[J].軟件學(xué)報(bào),2016(04):1009-1025.

      [2]陳忠菊.數(shù)據(jù)結(jié)構(gòu)可視化類庫的研發(fā)與應(yīng)用[J].電腦編程技巧與維護(hù),2014(21):46-47.

      [3]虎治勤.多層數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)在K-means下的實(shí)現(xiàn)[J].科技通報(bào),2014(02):90-92+95.

      [4]沈華.數(shù)據(jù)結(jié)構(gòu)、算法和程序之間關(guān)系的探討[J].計(jì)算機(jī)教育,2013(04):58-61.

      [5]羅娜,李愛平,吳泉源,陸華彪.基于概要數(shù)據(jù)結(jié)構(gòu)可溯源的異常檢測方法[J]. 軟件學(xué)報(bào),2013(10):2899-2906.

      作者簡介

      周佳寧(1995-),男,山西省太原市人。大學(xué)本科學(xué)歷。

      馮俊安(1996-),男,山西省大同市人。大學(xué)本科學(xué)歷。

      作者單位

      山西農(nóng)業(yè)大學(xué)信息學(xué)院 山西省晉中市 030801endprint

      猜你喜歡
      類庫數(shù)據(jù)結(jié)構(gòu)可視化
      基于CiteSpace的足三里穴研究可視化分析
      基于Power BI的油田注水運(yùn)行動(dòng)態(tài)分析與可視化展示
      基于CGAL和OpenGL的海底地形三維可視化
      “融評(píng)”:黨媒評(píng)論的可視化創(chuàng)新
      數(shù)據(jù)結(jié)構(gòu)可視化類庫的設(shè)計(jì)與實(shí)現(xiàn)
      “翻轉(zhuǎn)課堂”教學(xué)模式的探討——以《數(shù)據(jù)結(jié)構(gòu)》課程教學(xué)為例
      TRIZ理論在“數(shù)據(jù)結(jié)構(gòu)”多媒體教學(xué)中的應(yīng)用
      《數(shù)據(jù)結(jié)構(gòu)》教學(xué)方法創(chuàng)新探討
      登封市| 武冈市| 延庆县| 安阳市| 银川市| 海南省| 济南市| 怀柔区| 济源市| 西乌| 亚东县| 桦川县| 大英县| 屯门区| 会泽县| 洪泽县| 金阳县| 石河子市| 雷山县| 玛多县| 泰宁县| 临颍县| 奇台县| 闽清县| 凌海市| 郴州市| 潼关县| 怀安县| 金山区| 浮山县| 安泽县| 福鼎市| 随州市| 运城市| 麻城市| 师宗县| 乌拉特后旗| 绥阳县| 新建县| 饶河县| 平南县|