王鵬++張勝利
摘 要 數(shù)據(jù)結(jié)構(gòu)是計(jì)算機(jī)程序設(shè)計(jì)的重要基礎(chǔ),其重點(diǎn)就在于對(duì)數(shù)據(jù)庫(kù)結(jié)構(gòu)算法的設(shè)計(jì)。數(shù)據(jù)結(jié)構(gòu)算法不是經(jīng)過(guò)直觀表現(xiàn)出來(lái)的,很多學(xué)生以及用戶對(duì)數(shù)據(jù)結(jié)構(gòu)算法中所蘊(yùn)含的知識(shí)很難進(jìn)行把握。而建立數(shù)據(jù)結(jié)構(gòu)算法庫(kù)系統(tǒng),可以幫助學(xué)生以及用戶有效掌握數(shù)據(jù)結(jié)構(gòu)算法知識(shí),滿足其需求。本文針對(duì)數(shù)據(jù)結(jié)構(gòu)算法庫(kù)系統(tǒng)的功能進(jìn)行設(shè)計(jì),堅(jiān)持?jǐn)?shù)據(jù)結(jié)構(gòu)算法的設(shè)計(jì)原則,闡述系統(tǒng)滿足界面設(shè)計(jì)與核心技術(shù)的需要。
【關(guān)鍵詞】數(shù)據(jù)結(jié)構(gòu) 算法原則 系統(tǒng)設(shè)計(jì) 算法庫(kù)
隨著社會(huì)經(jīng)濟(jì)的發(fā)展,大大促進(jìn)了計(jì)算機(jī)技術(shù)的進(jìn)步,數(shù)據(jù)庫(kù)結(jié)構(gòu)越來(lái)越受到人們的關(guān)注和重視。計(jì)算機(jī)軟件的開發(fā)、程序的設(shè)計(jì)等,都與數(shù)據(jù)結(jié)構(gòu)有著很大的關(guān)聯(lián)。而數(shù)據(jù)結(jié)構(gòu)比較復(fù)雜,目前普遍存在的數(shù)據(jù)結(jié)構(gòu)算法系統(tǒng)主要以演示系統(tǒng)為主,無(wú)法讓學(xué)生及用戶真正體驗(yàn)。數(shù)據(jù)結(jié)構(gòu)算法庫(kù)系統(tǒng)的設(shè)計(jì),是依據(jù)數(shù)據(jù)庫(kù)結(jié)構(gòu)以及學(xué)生與用戶的需求而進(jìn)行設(shè)計(jì)的,促使學(xué)生與用戶在系統(tǒng)上完成數(shù)據(jù)結(jié)構(gòu)算法的操作。而數(shù)據(jù)結(jié)構(gòu)算法庫(kù)系統(tǒng)是將方法局系統(tǒng)與數(shù)據(jù)結(jié)構(gòu)相結(jié)合而形成的系統(tǒng),對(duì)軟件開發(fā)者提供很大的幫助。
1 數(shù)據(jù)結(jié)構(gòu)算法的設(shè)計(jì)原則
對(duì)數(shù)據(jù)結(jié)構(gòu)算法庫(kù)系統(tǒng)的設(shè)計(jì),首先要了解數(shù)據(jù)結(jié)構(gòu)算法的設(shè)計(jì)原則,這樣才能確保計(jì)算機(jī)正常的運(yùn)行處理工作。一般狀況下,對(duì)數(shù)據(jù)結(jié)構(gòu)算法的設(shè)計(jì),一定要考慮以下幾種設(shè)計(jì)原則,確保數(shù)據(jù)結(jié)構(gòu)算法設(shè)計(jì)工作的有序進(jìn)行。
1.1 數(shù)據(jù)結(jié)構(gòu)算法保持正確
數(shù)據(jù)結(jié)構(gòu)算法作為程序設(shè)計(jì)中編程的核心,只有算法正確,才能保證程序的正確運(yùn)行。在進(jìn)行編程時(shí),一定要依據(jù)實(shí)際需求,選擇科學(xué)、合理的算法,算法不可產(chǎn)生不明確的計(jì)算結(jié)構(gòu),結(jié)果必須具有唯一性。
1.2 數(shù)據(jù)結(jié)構(gòu)算法具有可讀性
在確定算法的正確性后,也要確保程序算法的可讀性。算法不僅僅保持正確性,還要通俗易懂、便于理解,這樣才能給學(xué)生、用戶帶來(lái)方便。使用者在用此算法時(shí)才不會(huì)走進(jìn)誤區(qū),才會(huì)更快速、更準(zhǔn)確的進(jìn)行程序運(yùn)算,并得到預(yù)期的運(yùn)算結(jié)果。
1.3 數(shù)據(jù)結(jié)構(gòu)算法符合穩(wěn)定性
在程序運(yùn)行時(shí),輸出的曲線質(zhì)量完全取決于算法的性能,特別是程序的波動(dòng)性問(wèn)題,蛀牙有算法的穩(wěn)定與否所決定。在程序運(yùn)行中,計(jì)算機(jī)輸出曲線出現(xiàn)異常,且無(wú)規(guī)律可循,并與實(shí)際輸出曲線不相符,在這種情況下,可經(jīng)過(guò)翻閱資料進(jìn)行對(duì)比分析,查出這些問(wèn)題主要受算法穩(wěn)定性的影響。計(jì)算機(jī)程序運(yùn)行出現(xiàn)不穩(wěn)定,若想得到合理有效的運(yùn)算結(jié)果,那么就要確保數(shù)據(jù)結(jié)構(gòu)算法的穩(wěn)定性。
1.4 算法設(shè)計(jì)要保證高效低耗的性能
算法設(shè)計(jì)要符合現(xiàn)代社會(huì)節(jié)能環(huán)保的趨勢(shì),將其運(yùn)用于數(shù)據(jù)結(jié)構(gòu)算法設(shè)計(jì)中,在每一個(gè)程序設(shè)計(jì)中,不僅要減少能量消耗,還要縮減時(shí)間。而算法設(shè)計(jì)的高效低耗的性能,成為現(xiàn)在軟件開發(fā)設(shè)計(jì)者所努力的方向。算法性能指的就是計(jì)算及節(jié)能以及高效運(yùn)行的實(shí)現(xiàn),運(yùn)算速度快、耗能小都數(shù)據(jù)結(jié)構(gòu)算法設(shè)計(jì)需要追尋的目標(biāo)。
2 數(shù)據(jù)結(jié)構(gòu)算法庫(kù)的設(shè)計(jì)模塊
系統(tǒng)功能模塊主要分前臺(tái)與后臺(tái)兩部分,而前臺(tái)包括了系統(tǒng)的管理模塊、數(shù)據(jù)維護(hù)模塊、算法基本信息和代碼管理???、算法的執(zhí)行模塊、系統(tǒng)輔助模塊、數(shù)據(jù)字典模塊以及退出模塊等;后臺(tái)主要包括了運(yùn)行環(huán)境數(shù)據(jù)包管理模塊、用戶信息管理模塊、算法基本細(xì)信息管理模塊、數(shù)據(jù)字典表管理模塊以及算法代碼文件管護(hù)理模塊等。
2.1 系統(tǒng)管理模塊
系統(tǒng)管理模塊主要是為用戶提供友好界面,其包含了用戶基本信息管理子模塊、密碼設(shè)定子模塊、設(shè)定權(quán)限子模塊以及日志管理子模塊等。系統(tǒng)管理模塊主要對(duì)用戶的基本信息進(jìn)行增減、儲(chǔ)存以及查找,修改密碼,設(shè)置用戶的權(quán)限以及管理日志等方面的功能。
2.2 數(shù)據(jù)維護(hù)模塊
數(shù)據(jù)維護(hù)管理模塊主要是對(duì)數(shù)據(jù)進(jìn)行初始化,將數(shù)據(jù)窗口中的數(shù)據(jù)復(fù)制到數(shù)據(jù)庫(kù)中形成備用文件,也可以將后臺(tái)數(shù)據(jù)進(jìn)行恢復(fù)等,數(shù)據(jù)維護(hù)管理模塊由系統(tǒng)管理員來(lái)完成。
2.3 算法基本信息管理模塊
算法基本信息管理模塊主要是對(duì)基本算法信息進(jìn)行植入、刪減、變更以及查詢等,對(duì)算法的信息進(jìn)行刪減時(shí),也會(huì)刪去后臺(tái)代碼文件。
2.4 算法代碼管理模塊
算法代碼管理模塊主要增加新的代碼、刪去數(shù)據(jù)窗中的代碼與相關(guān)文件、對(duì)現(xiàn)有代碼進(jìn)行修改、儲(chǔ)存算法代碼以及選中數(shù)據(jù)窗中的代碼算法,將算法代碼文件傳輸至前臺(tái)數(shù)據(jù)庫(kù),將算法代碼數(shù)據(jù)中內(nèi)容刪掉,也可以打印出數(shù)據(jù)創(chuàng)中的算法代碼。
2.5 算法的執(zhí)行模塊
算法的執(zhí)行模塊主要是在TC以及VC++的環(huán)境下進(jìn)行算法操作的,若是在其他環(huán)境中運(yùn)行,只需要將新數(shù)據(jù)包添加至此環(huán)境下,并將代碼進(jìn)行修改就可以了。
2.6 窗口管理模塊
窗口管理模塊主要是排列數(shù)據(jù)窗口,用戶一般打開多個(gè)窗口,在此模塊下,用戶可選擇平鋪、豎向排列以及橫向排列等多種選擇。
2.7 系統(tǒng)輔助模塊
系統(tǒng)輔助模塊主要為用戶提供具體的操作功能、系統(tǒng)使用說(shuō)明,盡可能版主用戶找到自己所需的模塊。
2.8 數(shù)據(jù)字典模塊
數(shù)據(jù)字典模塊主要包含了算法的名稱、算法的類型以及用戶權(quán)限設(shè)置等數(shù)據(jù)列表所構(gòu)成。數(shù)據(jù)字典模塊的主要功能就是滿足于用戶的各種各樣的使用需求。
2.9 退出模塊
用戶在系統(tǒng)中點(diǎn)擊退出就可以退出系統(tǒng)。
前臺(tái)中所包含的功能模塊主要是通過(guò)結(jié)構(gòu)化查詢語(yǔ)言2008系統(tǒng)作為后臺(tái)的數(shù)據(jù)庫(kù),采用power builder編程語(yǔ)言實(shí)現(xiàn)對(duì)數(shù)據(jù)結(jié)構(gòu)算法庫(kù)系統(tǒng)的開發(fā)。
3 數(shù)據(jù)結(jié)構(gòu)算法庫(kù)的實(shí)現(xiàn)
在對(duì)數(shù)據(jù)結(jié)構(gòu)算法庫(kù)系統(tǒng)的設(shè)計(jì)中,以結(jié)構(gòu)化查詢語(yǔ)言為數(shù)據(jù)庫(kù),若實(shí)現(xiàn)數(shù)據(jù)結(jié)構(gòu)算法庫(kù),就要了解系統(tǒng)的界面設(shè)計(jì)以及核心技術(shù)。
3.1 界面設(shè)計(jì)的實(shí)現(xiàn)
系統(tǒng)的界面設(shè)計(jì)主要包含了系統(tǒng)的主界面、基本信息管理與查詢界面、插入算法、修改算法、運(yùn)行算法以及系統(tǒng)副主界面等幾個(gè)方面。endprint
3.1.1 系統(tǒng)主界面
系統(tǒng)的主界面是由多個(gè)文檔窗口構(gòu)成,主菜單、工具欄以及子菜單等,經(jīng)過(guò)移動(dòng)鼠標(biāo)可以顯現(xiàn)出來(lái),方便用戶的使用。其中主菜單為導(dǎo)航界面,包含了用戶所需的內(nèi)容供其選擇;主界面中的詳細(xì)菜單,幫助用戶可以更詳細(xì)的幫助用戶找出所需的算法,也方便與用戶返回主界面進(jìn)行窗口間的切換,在主界面中用戶可隨時(shí)退出或返回。
3.1.2 基本信息管理與查詢界面
這兩個(gè)界面主要完成對(duì)用戶基本信息的管理與查詢。管理界面主要是對(duì)基本算法信息進(jìn)行瀏覽。刪減、變更、查找等方面的操作,也可以將瀏覽記錄顯示出來(lái),從而定位總的瀏覽記錄;查詢界面主要是對(duì)數(shù)據(jù)結(jié)構(gòu)算法庫(kù)系統(tǒng)中,根據(jù)算法的名字、類型、作者以及文件夾名稱等進(jìn)行整體的查詢,在查詢過(guò)程中可將查詢的信息記錄下來(lái),也可以打印出查詢的信息。
3.1.3 插入算法
其主要是對(duì)算法基本信息以及算法代碼進(jìn)行修正,算法代碼和插入算法的修正是一樣的。對(duì)算法基本信息進(jìn)行修正,保證對(duì)系統(tǒng)中各種算法信息進(jìn)行修正以及查詢算法的基本信息。
3.1.4 運(yùn)行算法
運(yùn)行算法界面主要是進(jìn)行算法編寫、運(yùn)行和連接。在不同的環(huán)境中和相應(yīng)的程序模塊進(jìn)行關(guān)聯(lián),首次算法執(zhí)行進(jìn)行編寫,會(huì)形成默認(rèn),連接就可以實(shí)現(xiàn)算法運(yùn)行。
3.1.5 系統(tǒng)輔助界面
此界面主要是方便用戶對(duì)系統(tǒng)設(shè)置進(jìn)行了解。
3.1.6 退出系統(tǒng)
此退出界面以對(duì)話框的形式出現(xiàn),只需要點(diǎn)擊窗口的叉號(hào),就會(huì)出現(xiàn)確定退出系統(tǒng)的對(duì)話框。
3.2 核心技術(shù)
系統(tǒng)的核心技術(shù)主要有三種,即文件導(dǎo)入技術(shù)、數(shù)據(jù)備份和恢復(fù)以及數(shù)據(jù)庫(kù)連接技術(shù)。
3.2.1 文件導(dǎo)入技術(shù)
在選中文件后,將文件中的內(nèi)容導(dǎo)入至數(shù)據(jù)庫(kù)中,而此時(shí)的前臺(tái)數(shù)據(jù)窗口可以將導(dǎo)入的文件進(jìn)行顯示,這就是文件導(dǎo)入技術(shù)。
3.2.2 數(shù)據(jù)備份與恢復(fù)
在數(shù)據(jù)庫(kù)環(huán)境下,經(jīng)過(guò)對(duì)數(shù)據(jù)庫(kù)本身的指令來(lái)完成數(shù)據(jù)備份。而數(shù)據(jù)備份完成后會(huì)出現(xiàn)完成的對(duì)話框,點(diǎn)擊確定就可實(shí)現(xiàn);數(shù)據(jù)恢復(fù)指令下達(dá)后,經(jīng)過(guò)運(yùn)行的代碼來(lái)執(zhí)行數(shù)據(jù)恢復(fù)指令,從而實(shí)現(xiàn)對(duì)數(shù)據(jù)備份與恢復(fù)。
3.2.3 數(shù)據(jù)庫(kù)的連接技術(shù)
開放數(shù)據(jù)庫(kù)連接訪問(wèn)數(shù)據(jù)庫(kù)所用到的標(biāo)準(zhǔn)接口方式、專用接口與數(shù)據(jù)庫(kù)連接是由計(jì)算機(jī)的儲(chǔ)存實(shí)現(xiàn)。數(shù)據(jù)庫(kù)開放是連接的流程主要是對(duì)數(shù)據(jù)源的定義、配置文件的定義以及數(shù)據(jù)庫(kù)連接等。
4 總結(jié)
數(shù)據(jù)結(jié)構(gòu)算法庫(kù)系統(tǒng)的設(shè)計(jì)主要是依據(jù)數(shù)據(jù)結(jié)構(gòu)來(lái)完成的,了解數(shù)據(jù)結(jié)構(gòu)算法的設(shè)計(jì)原則,注重算法代碼與算法信息管理的探究,可以克服系統(tǒng)設(shè)計(jì)中存在的困難。數(shù)據(jù)結(jié)構(gòu)算法庫(kù)系統(tǒng)的設(shè)計(jì)要了解系統(tǒng)的功能模塊,對(duì)前臺(tái)與后臺(tái)所包含的功能模塊設(shè)計(jì)進(jìn)行具體分析,通過(guò)界面設(shè)計(jì)與核心技術(shù)來(lái)實(shí)現(xiàn)數(shù)據(jù)結(jié)構(gòu)算法庫(kù)系統(tǒng),最終實(shí)現(xiàn)數(shù)據(jù)結(jié)構(gòu)算法庫(kù)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。
參考文獻(xiàn)
[1]姜愛(ài)敏.數(shù)據(jù)結(jié)構(gòu)算法庫(kù)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)分析[J].數(shù)字技術(shù)與應(yīng)用,2016(02):128+130.
[2]李玉梅.基于C/S模式的數(shù)據(jù)結(jié)構(gòu)算法庫(kù)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].中國(guó)科技信息,2009(12):127+136.
[3]王玢玥,李冬梅,李華穎等.數(shù)據(jù)結(jié)構(gòu)算法演示系統(tǒng)的設(shè)計(jì)[J].教育教學(xué)論壇,2016(28):167-168.
[4]張巖,婁久,李秀坤等. 數(shù)據(jù)結(jié)構(gòu)經(jīng)典算法實(shí)驗(yàn)平臺(tái)的設(shè)計(jì)與開發(fā)[J].實(shí)驗(yàn)室研究與探索,2015,34(08):127-130.
[5]劉叢.針對(duì)數(shù)據(jù)結(jié)構(gòu)的命令式算法可視化系統(tǒng)設(shè)計(jì)與開發(fā)[D].湖南大學(xué),2015.
作者簡(jiǎn)介
王鵬(1996-),男,山西省晉中市人。大學(xué)本科學(xué)歷。
張勝利(1995-),男,山西省陽(yáng)泉市人。學(xué)本科學(xué)歷。
作者單位
山西農(nóng)業(yè)大學(xué)信息學(xué)院 山西省晉中市 030801endprint