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

          追求無(wú)止境

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

          視頻感想

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

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

          在頁(yè)面結(jié)構(gòu)的定義上,將頁(yè)面分成多部分,例如頁(yè)頭,頁(yè)尾,左側(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語(yǔ)句。不利于各個(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í)間來(lái)對(duì)樹的結(jié)構(gòu)作修改,以保持樹的平衡。也就是說(shuō),紅黑樹的查找方法與二叉搜索樹完全一樣;插入和刪除節(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ì)。所以我們要做一些操作來(lái)把整棵樹修補(bǔ)好。下面我就來(lái)介紹一下。

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


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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 水富县| 保德县| 攀枝花市| 明溪县| 富阳市| 瓮安县| 兰州市| 金寨县| 莎车县| 九寨沟县| 冕宁县| 海宁市| 天祝| 景东| 沅江市| 泰和县| 和林格尔县| 定襄县| 托克逊县| 泸定县| 邢台市| 扶绥县| 呼伦贝尔市| 黄陵县| 托克逊县| 桐城市| 乃东县| 海晏县| 勃利县| 黄平县| 宝坻区| 天长市| 京山县| 马关县| 昂仁县| 莱阳市| 若尔盖县| 临高县| 曲阜市| 太仆寺旗| 金秀|