committing trees changes (again? git is a little strange...)

release
Alex Chapman 2007-09-30 15:40:36 +10:00
parent 42690e8af0
commit 63ead46a47
5 changed files with 18 additions and 19 deletions

View File

@ -1,4 +1,4 @@
USING: kernel test trees math sequences ;
USING: kernel tools.test trees trees.avl-tree math random sequences ;
IN: temporary
[ "key1" 0 "key2" 0 ] [ T{ avl-node T{ node f "key1" f f T{ avl-node T{ node f "key2" } 1 } } 2 } [ single-rotate ] go-left [ node-left dup node-key swap avl-node-balance ] keep dup node-key swap avl-node-balance ] unit-test

View File

@ -1,18 +1,18 @@
! Copyright (C) 2007 Alex Chapman
! See http://factorcode.org/license.txt for BSD license.
USING: kernel generic math namespaces io sequences ;
IN: trees
USING: combinators kernel generic math math.functions math.parser namespaces io
sequences trees ;
IN: trees.avl-tree
TUPLE: avl-tree ;
C: avl-tree ( -- tree )
<tree> over set-delegate ;
: <avl-tree> ( -- tree )
avl-tree construct-empty <tree> over set-delegate ;
TUPLE: avl-node balance ;
C: avl-node ( value key -- node )
>r <node> r> tuck set-delegate
0 over set-avl-node-balance ;
: <avl-node> ( value key -- node )
<node> 0 avl-node construct-boa tuck set-delegate ;
M: avl-tree create-node ( value key tree -- node ) drop <avl-node> ;

View File

@ -1,4 +1,4 @@
USING: trees test kernel sequences ;
USING: trees trees.bst tools.test kernel sequences ;
IN: temporary
: test-tree ( -- tree )

View File

@ -1,15 +1,16 @@
! Copyright (C) 2007 Alex Chapman
! See http://factorcode.org/license.txt for BSD license.
USING: kernel generic math ;
IN: trees
USING: kernel generic math trees ;
IN: trees.bst
TUPLE: bst ;
C: bst ( -- tree ) <tree> over set-delegate ;
: <bst> ( -- tree ) bst construct-empty <tree> over set-delegate ;
TUPLE: bst-node ;
C: bst-node ( value key -- node ) >r <node> r> tuck set-delegate ;
: <bst-node> ( value key -- node )
<node> bst-node construct-empty tuck set-delegate ;
M: bst create-node ( value key tree -- node ) drop <bst-node> ;

View File

@ -1,18 +1,16 @@
! Copyright (C) 2007 Alex Chapman
! See http://factorcode.org/license.txt for BSD license.
USING: kernel generic math sequences arrays io namespaces kernel-internals ;
USING: kernel generic math math.parser sequences arrays io namespaces namespaces.private random layouts ;
IN: trees
TUPLE: tree root ;
C: tree ( -- tree ) ;
: <tree> ( -- tree ) tree construct-empty ;
TUPLE: node key value left right ;
C: node ( value key -- node )
[ set-node-key ] keep
[ set-node-value ] keep
f over 2dup set-node-left set-node-right ;
: <node> ( value key -- node )
swap f f node construct-boa ;
SYMBOL: current-side