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

          追求無止境

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

          視頻感想

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

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

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

          2、關(guān)于controller:

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

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

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

          4、關(guān)于TreeMap

          在該項(xiàng)目中,使用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.

          哦,是一個(gè)基于紅黑樹的Map。

          什么是紅黑樹。

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

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

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

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


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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 合肥市| 靖州| 广南县| 巢湖市| 德安县| 泗阳县| 增城市| 海晏县| 凤阳县| 涡阳县| 古田县| 遂川县| 明溪县| 宜都市| 临沭县| 武隆县| 上高县| 长岛县| 叶城县| 雅安市| 平舆县| 靖宇县| 望谟县| 平江县| 固阳县| 罗平县| 牡丹江市| 大兴区| 广饶县| 湘潭县| 天峻县| 宁德市| 大冶市| 越西县| 喜德县| 安顺市| 临武县| 姜堰市| 天台县| 柏乡县| 天镇县|