統(tǒng)計

          留言簿(1)

          DB

          Others

          QA

          Tech Website

          閱讀排行榜

          評論排行榜

          【編程珠璣】-開篇


                 昨天入手《編程珠璣》(第二版)一書,去年寒假已經(jīng)把這書看了一大半,發(fā)現(xiàn)里面的一些算法和觀點簡單而富有哲理。

                 一、準(zhǔn)確描述問題:程序員的主要問題與其說是技術(shù)問題,還不如說是心理問題,他不能解決問題,是因為他企圖解決錯誤的問題。所以準(zhǔn)確描述一個問題非常重要,實際中往往體現(xiàn)中需求文檔的規(guī)范性和無異性中。

                二、位圖或者向量表示集合
                        1)、位圖數(shù)據(jù)結(jié)構(gòu)的實現(xiàn)
            
          #define BITSPERWORD 32
          #define SHIFT 5
          #define MASK 0x1F
          #define N 10000000

          int a[1 + N/BITSPERWORD];

          void set(int i) {        a[i>>SHIFT] |=  (1<<(i & MASK)); }

          void clr(int i) {        a[i>>SHIFT] &= ~(1<<(i & MASK)); }
          int  test(int i)return a[i>>SHIFT] &   (1<<(i & MASK)); }
                      2)、位圖可以用于排序和和統(tǒng)計當(dāng)中,合理應(yīng)用往往可以得到時間-空間折中與雙贏

                  三、原理
                   1)、正確的問題:明確了問題,這場戰(zhàn)役就成功了90%
                   2)、位圖數(shù)據(jù)結(jié)構(gòu)
                   3)、多趟算法:這些算法多趟讀入其輸入數(shù)據(jù),每次完成一步
                   4)、時間-空間折中與雙贏
                   5)、簡單的設(shè)計:設(shè)計者確定其設(shè)計已經(jīng)達(dá)到了完美的標(biāo)準(zhǔn)不是不能增加任何東西,而是不能再減少任何東西
                   6)、程序的設(shè)計階段

          posted on 2011-01-08 10:41 XXXXXX 閱讀(236) 評論(0)  編輯  收藏 所屬分類: Algorithm

          主站蜘蛛池模板: 蓬莱市| 上栗县| 剑川县| 大荔县| 长沙市| 宜昌市| 滦平县| 通许县| 娱乐| 二手房| 关岭| 赞皇县| 淮南市| 庄河市| 朝阳县| 田阳县| 汤阴县| 嘉荫县| 广灵县| 江川县| 孝感市| 武安市| 游戏| 慈利县| 新余市| 河北区| 汕头市| 嘉定区| 普格县| 龙泉市| 临汾市| 钦州市| 连南| 洪湖市| 曲麻莱县| 阿鲁科尔沁旗| 紫金县| 儋州市| 百色市| 攀枝花市| 锦屏县|