posts - 403, comments - 310, trackbacks - 0, articles - 7
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          SICP 習題記錄 (1)

          Posted on 2008-04-03 22:33 ZelluX 閱讀(1107) 評論(0)  編輯  收藏 所屬分類: Algorithm
          沒事干找了幾個SICP上的習題做,先是一道以前只想出一種很啰嗦的寫法的題目

          Ex 2.18
          把一個列表倒過來。不習慣在lisp里用iterative方式 >,<

          接下來幾題都是Map-Reduce思想的應用(或者照書上的說法,用enumerator - filter - map - accumulator這四個步驟操作一個list)

          用到的幾個函數:

          enumrate-tree 的功能是遍歷一個樹狀結構,把其中的所有葉子保存在一個list中。

          Ex 2.34
          利用Horner's rule計算多項式結果(這公式這幾天還經常碰到)

          Ex 2.35
          數出一棵樹中的葉子數。這題我的做法比較土,沒想到map-reduce操作上的遞歸,而是把葉子節點的值都改成1然后一個累加。

          其實只要遞歸調用主函數就行了

          Ex 2.36
          可以理解為計算矩陣各列之和吧


          > (accumulate-n + 0 (list (list 1 2 3) (list 4 5 6) (list 7 8 9) (list 10 11 12)))
          (22 26 30)
          主站蜘蛛池模板: 博野县| 莱州市| 广西| 勐海县| 安泽县| 临夏市| 仙游县| 台北市| 建湖县| 张家口市| 浏阳市| 麦盖提县| 衡南县| 陇南市| 镇巴县| 罗城| 盐池县| 华亭县| 云林县| 和硕县| 乌鲁木齐市| 信丰县| 赣州市| 潜山县| 三河市| 卓尼县| 威海市| 镇江市| 马边| 桑植县| 河津市| 武定县| 徐汇区| 迁安市| 衡阳市| 祁连县| 任丘市| 江西省| 宜春市| 那坡县| 阳西县|