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

          SICP 習題記錄 (1)

          Posted on 2008-04-03 22:33 ZelluX 閱讀(1101) 評論(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)
          主站蜘蛛池模板: 盐城市| 东辽县| 陵水| 麟游县| 永善县| 西丰县| 广东省| 鹤庆县| 万源市| 防城港市| 清涧县| 凯里市| 菏泽市| 濮阳县| 开平市| 巴彦淖尔市| 海阳市| 临夏市| 桓台县| 句容市| 六枝特区| 繁昌县| 江北区| 合水县| 连城县| 连州市| 蓬安县| 平乡县| 元氏县| 晋江市| 莆田市| 上虞市| 应城市| 盐亭县| 名山县| 彭山县| 仙游县| 湟源县| 应城市| 丹凤县| 荆州市|