摘要:文章以題庫管理系統的開發為例,詳細介紹了B/S三層架構中樹型結構的設計和實現方式。提出了一種在瀏覽器中構建動態樹型結構的解決方案,即使用TrceView控件、數據庫和遞歸算法來實現動態樹型結構,靈活方便地管理題庫。最后重點介紹了遞歸算法、樹結點定位展開等的程序實現。
關鍵詞:樹型結構;題庫系統;TrceView控件;遞歸算法
0 引言
在數據結構中,樹型結構是一種非常重要的非線性結構,具有結構清楚,層次分明,操作方便等優點,因此在系統開發中的應用非常廣泛,如:Windows的資源管理器,數據庫中的索引等。但是在瀏覽器中實現動態樹型結構存在一些難點,本文以基于Web的題庫管理系統開發為例介紹了動態樹型結構的實現方式。該系統充分利用了樹型結構的優點來進行題目的多級管理。
1 題庫系統的結構分析
在進行題庫管理系統開發時,首先要對題庫的結構進行研究和設計。一般而言,在對課程組織題庫時,人們是按照比較熟悉的課程架構,即:課程、章、節三級結構來組成每個題目的,每一級構成一個結點。為了使題庫中的每個題目都比較科學合理,學校需要專門組織一個課程專家組,先對課程的整個框架和每個知識點進行確定和劃分,把知識點一一羅列出來,并對應于相應的章節。
在課程結構和知識點確定之后,再對題目進行組織。一般來說,一個題目可以對應單個知識點,也可以對應章節、甚至整門課程的多個知識點。題目與知識點、結點(課程、章、節三者的統稱)以及整個三級結構的關系如圖1所示。
由圖1可知,對題目的組織和管理可以基于課程的知識點來進行,這樣便于統一操作,方便管理。一般來說每門課程都包含很多章,每章都會分成若干節,每節中又有多個知識點。每道題目或多或少都會涉及到幾個知識點。但由于知識點分布的不同,題目歸屬的方式就有所不同,不同題目可能放入不同的結點中,其形狀就是一個典型的樹型結構,如圖2所示。
在創建題庫系統中,要首先構建如圖2的一個樹型結構,然后教師就可以靈活組織與操作樹中對應的結點,并把題目放到相關的結點中。借助這個樹型結構,教師對題目的管理就非常方便了。
注:“本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文”