統計

          留言簿(1)

          DB

          Others

          QA

          Tech Website

          閱讀排行榜

          評論排行榜

          【編程珠璣】-開篇


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

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

                二、位圖或者向量表示集合
                        1)、位圖數據結構的實現
            
          #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)、位圖可以用于排序和和統計當中,合理應用往往可以得到時間-空間折中與雙贏

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

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

          主站蜘蛛池模板: 曲靖市| 扬州市| 邳州市| 弥渡县| 辽中县| 新巴尔虎左旗| 玛曲县| 佳木斯市| 玉环县| 永川市| 丹寨县| 山阳县| 自贡市| 潼关县| 高陵县| 贡觉县| 衡阳市| 海阳市| 内黄县| 黎城县| 山阴县| 汉源县| 永康市| 石河子市| 吕梁市| 汤原县| 牟定县| 襄垣县| 周口市| 丰原市| 临泉县| 乐业县| 莫力| 兴城市| 攀枝花市| 阿合奇县| 根河市| 包头市| 鄂托克前旗| 揭东县| 博罗县|