摘要:文章以題庫管理系統(tǒng)的開發(fā)為例,詳細介紹了B/S三層架構(gòu)中樹型結(jié)構(gòu)的設(shè)計和實現(xiàn)方式。提出了一種在瀏覽器中構(gòu)建動態(tài)樹型結(jié)構(gòu)的解決方案,即使用TrceView控件、數(shù)據(jù)庫和遞歸算法來實現(xiàn)動態(tài)樹型結(jié)構(gòu),靈活方便地管理題庫。最后重點介紹了遞歸算法、樹結(jié)點定位展開等的程序?qū)崿F(xiàn)。
關(guān)鍵詞:樹型結(jié)構(gòu);題庫系統(tǒng);TrceView控件;遞歸算法
0 引言
在數(shù)據(jù)結(jié)構(gòu)中,樹型結(jié)構(gòu)是一種非常重要的非線性結(jié)構(gòu),具有結(jié)構(gòu)清楚,層次分明,操作方便等優(yōu)點,因此在系統(tǒng)開發(fā)中的應(yīng)用非常廣泛,如:Windows的資源管理器,數(shù)據(jù)庫中的索引等。但是在瀏覽器中實現(xiàn)動態(tài)樹型結(jié)構(gòu)存在一些難點,本文以基于Web的題庫管理系統(tǒng)開發(fā)為例介紹了動態(tài)樹型結(jié)構(gòu)的實現(xiàn)方式。該系統(tǒng)充分利用了樹型結(jié)構(gòu)的優(yōu)點來進行題目的多級管理。
1 題庫系統(tǒng)的結(jié)構(gòu)分析
在進行題庫管理系統(tǒng)開發(fā)時,首先要對題庫的結(jié)構(gòu)進行研究和設(shè)計。一般而言,在對課程組織題庫時,人們是按照比較熟悉的課程架構(gòu),即:課程、章、節(jié)三級結(jié)構(gòu)來組成每個題目的,每一級構(gòu)成一個結(jié)點。為了使題庫中的每個題目都比較科學合理,學校需要專門組織一個課程專家組,先對課程的整個框架和每個知識點進行確定和劃分,把知識點一一羅列出來,并對應(yīng)于相應(yīng)的章節(jié)。
在課程結(jié)構(gòu)和知識點確定之后,再對題目進行組織。一般來說,一個題目可以對應(yīng)單個知識點,也可以對應(yīng)章節(jié)、甚至整門課程的多個知識點?!?br>