推薦淘寶秋冬男裝熱賣網(wǎng)店

          追求無止境

          我的程序人生
          隨筆 - 31, 文章 - 2, 評論 - 20, 引用 - 0
          數(shù)據(jù)加載中……

          視頻感想

          昨天晚上看了關(guān)于“都市信息網(wǎng)”項目開發(fā)視頻,給人總體感覺差強(qiáng)人意,學(xué)到了一些知識,記錄如下:

          1、頁面結(jié)構(gòu):

          在頁面結(jié)構(gòu)的定義上,將頁面分成多部分,例如頁頭,頁尾,左側(cè)欄和右主欄。在每個欄中導(dǎo)入需要的JSP文件。

          2、關(guān)于controller:

          要讓controller實(shí)現(xiàn)RequestAware和ResponseAware。然后使用繼承。

          3、關(guān)于DAO層的設(shè)計

          遺憾的是都市信息在DAO層的設(shè)計上,是一個敗筆。在controller里面使用sql語句。不利于各個層次的獨(dú)立。

          4、關(guān)于TreeMap

          在該項目中,使用map多使用TreeMap,查一下TreeMap是什么東西吧:

          A Red-Black tree based NavigableMap implementation. The map is sorted according to the natural ordering of its keys, or by aComparator provided at map creation time, depending on which constructor is used.

          哦,是一個基于紅黑樹的Map。

          什么是紅黑樹。

          紅黑樹(Red-Black Tree)是二叉搜索樹(Binary Search Tree)的一種改進(jìn)。我們知道二叉搜索樹在最壞的情況下可能會變成一個鏈表(當(dāng)所有節(jié)點(diǎn)按從小到大的順序依次插入后)。而紅黑樹在每一次插入或刪除節(jié)點(diǎn)之后都會花O(log N)的時間來對樹的結(jié)構(gòu)作修改,以保持樹的平衡。也就是說,紅黑樹的查找方法與二叉搜索樹完全一樣;插入和刪除節(jié)點(diǎn)的的方法前半部分節(jié)與二叉搜索樹完全一樣,而后半部分添加了一些修改樹的結(jié)構(gòu)的操作。
          紅黑樹的每個節(jié)點(diǎn)上的屬性除了有一個key、3個指針:parent、lchild、rchild以外,還多了一個屬性:color。它只能是兩種顏色:紅或黑。而紅黑樹除了具有二叉搜索樹的所有性質(zhì)之外,還具有以下4點(diǎn)性質(zhì):
          1. 根節(jié)點(diǎn)是黑色的。
          2. 空節(jié)點(diǎn)是黑色的(紅黑樹中,根節(jié)點(diǎn)的parent以及所有葉節(jié)點(diǎn)lchild、rchild都不指向NULL,而是指向一個定義好的空節(jié)點(diǎn))。
          3. 紅色節(jié)點(diǎn)的父、左子、右子節(jié)點(diǎn)都是黑色。
          4. 在任何一棵子樹中,每一條從根節(jié)點(diǎn)向下走到空節(jié)點(diǎn)的路徑上包含的黑色節(jié)點(diǎn)數(shù)量都相同。

          有了這幾條規(guī)則,就可以保證整棵樹的平衡,也就等于保證了搜索的時間為O(log N)。

          但是在插入、刪除節(jié)點(diǎn)后,就有可能破壞了紅黑樹的性質(zhì)。所以我們要做一些操作來把整棵樹修補(bǔ)好。下面我就來介紹一下。

          posted on 2009-11-16 13:03 追求無止境 閱讀(102) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 淮阳县| 石河子市| 丽水市| 榆社县| 隆化县| 无锡市| 紫阳县| 许昌市| 时尚| 保德县| 大余县| 渭源县| 石林| 阜城县| 安新县| 宝清县| 富锦市| 磐石市| 龙山县| 淮滨县| 新化县| 海伦市| 慈溪市| 惠州市| 朝阳市| 墨玉县| 四会市| 北宁市| 信宜市| 中阳县| 东兰县| 碌曲县| 新建县| 广汉市| 西贡区| 丰镇市| 望城县| 成都市| 科技| 静宁县| 卓尼县|