[Scheme]
一刀不二
这个作者很懒,什么都没留下…
展开
-
scheme 中 list 和 vector 的访问速度
list 类似于 Cpp 中的链表,不支持随机访问,访问时间和 index 成正比vector 支持#lang scheme( define size 10000000 )( define vec ( make-vector size ) )( define index ( - size 1 ) )( time ( for ( [ _ size ] )原创 2015-03-26 15:24:44 · 1033 阅读 · 0 评论 -
scheme set-car! 模拟
#lang scheme( define li '( 1 2 3 4 ) )( define-syntax set-car! ( syntax-rules () ( ( set-car! li elem ) ( set! li ( cons elem ( cdr li ) ) ) ) ) )( set-car! li '( a b ) )#原创 2014-10-05 14:22:54 · 1431 阅读 · 0 评论 -
scheme 矩阵运算
基于表:( define ( accumulate op init seq ) ( cond [ ( null? seq ) init ] [ else ( op ( car seq ) ( accumulate op init ( cdr seq ) ) ) ] ) )( define ( ac原创 2015-01-23 19:10:58 · 1660 阅读 · 0 评论 -
高度平衡树 -- AVL 树
原本打算用 Cpp,Ada,Python 各重写一份,觉得这种行为比较2.因为还是 Scheme 的表达最优雅.#lang scheme( define nil '() )( define ( root tree )( car tree ) )( define ( left-tree tree )( cadr tree ) )( define ( right原创 2014-08-17 00:39:03 · 2236 阅读 · 0 评论 -
素数判定 费马测试
;; Fermat's Little Theorem:;; If N is a prime number and A is any positive integer less ;; than N, then A raised to the N-th power is congruent to A modulo N;; Two numbers are said to be congruent原创 2014-07-05 01:54:50 · 2902 阅读 · 0 评论 -
Scheme -- Hierarchical Structures
原list: ( ( 1 2 ) ( 3 4 ) )转置: ( ( 3 4 ) ( 1 2 ) )深度转置: ( ( 4 3 ) ( 2 1 ) )( define tree ( list 1 ( list 2 ( list 3 4 ) 5 ) ( list 6 7 ) ) )( define nil '() )( define ( my-reverse items原创 2014-07-13 23:29:18 · 1179 阅读 · 0 评论 -
scheme 符号求导程序
SICP 习题:#lang scheme( define ( variable? x ) ( symbol? x ) )( define ( same-variable? x y ) ( and ( variable? x ) ( variable? y ) ( eq? x y ) ) )( define原创 2015-01-26 21:22:19 · 1238 阅读 · 0 评论 -
Scheme 快速排序
#!r6rs( import ( rnrs base ( 6 ) ) )( define ( filter pred items ) ( cond [ ( null? items ) '() ] [ ( pred ( car items ) ) ( cons ( car items )原创 2014-08-02 00:12:05 · 2576 阅读 · 0 评论 -
哈弗曼编码解码
#lang scheme( define l ( list 1 2 3 4 ) )( define l1 ( list 5 6 7 8 ) )( define nil '() )( define ( make-leaf symbol weight ) ( list 'leaf symbol weight ) ) ( define ( l原创 2014-08-09 00:35:17 · 1424 阅读 · 0 评论 -
The differentiation program with abstract data
#!r6rs( import ( rnrs base ( 6 ) ) ( rnrs io simple ( 6 ) ) )( define ( deriv exp var ) ( define ( variable? x ) ( symbol? x ) ) ( define ( =number? exp num )原创 2014-08-01 00:09:39 · 1225 阅读 · 0 评论 -
scheme 中的宏使用
#lang scheme( define-syntax my-when ( syntax-rules () [ ( _ pred body ... ) ( if pred ( begin body ... ) ( void ) ) ] ) )( my-when ( = 2 1 ) ( display 1 ) ( disp原创 2015-07-04 11:54:06 · 2311 阅读 · 0 评论