Explorar el Código

updated to week 6 minus week 5 oops

master
Thorn Avery hace 4 años
padre
commit
5e8d2432b3
Se han modificado 3 ficheros con 88 adiciones y 0 borrados
  1. +22
    -0
      201/week6/lib/dfs.hoon
  2. +42
    -0
      201/week6/tests/lib/dfs.hoon
  3. +24
    -0
      README.md

+ 22
- 0
201/week6/lib/dfs.hoon Ver fichero

@@ -0,0 +1,24 @@
:: depth first library
::
|%
|= t=(tree @)
^- (list @)
?~ t
~
%+ weld
(traverse l.t)
%+ weld
(traverse r.t)
[n.t ~]
|= [t=(tree @) x=@]
^- ?
?~ t
%.n
?| (search l.t x)
(search r.t x)
=(n.t x)
==
--


+ 42
- 0
201/week6/tests/lib/dfs.hoon Ver fichero

@@ -0,0 +1,44 @@
:: Hoon 201 - Week 6
:: ~bannum-magtus | s@p7.co.nz
::
/+ *test, dfs
::
|%
=/ null-tree=(tree @) *(tree @)
=/ fill-tree=(tree @) [12 [8 [4 ~ ~] ~] [14 ~ [16 ~ ~]]]
;: weld
:: cant find something in an empty tree
%+ expect-eq
!> %.n
!> (search:dfs null-tree 42)
:: cant find something thats not in a tree
%+ expect-eq
!> %.n
!> (search:dfs fill-tree 42)
:: can find something that is in a tree
%+ expect-eq
!> %.y
!> (search:dfs fill-tree 12)
==
=/ null-tree=(tree @) *(tree @)
=/ a-tree=(tree @) [12 [8 [4 ~ ~] ~] [14 ~ [16 ~ ~]]]
=/ b-tree=(tree @) [8 [4 [12 ~ ~] ~] [16 ~ [14 ~ ~]]]
=/ a-list=(list @) [4 8 16 14 12 ~]
=/ b-list=(list @) [12 4 14 16 8 ~]
;: weld
:: null tree has empty traversal
%+ expect-eq
!> ~
!> (traverse:dfs null-tree)
:: tree a has traversal a
%+ expect-eq
!> a-list
!> (traverse:dfs a-tree)
:: tree b has traversal b
%+ expect-eq
!> b-list
!> (traverse:dfs b-tree)
==
--

+ 24
- 0
README.md Ver fichero

@@ -35,3 +35,27 @@ deal two poker hands and rank them
## Week 2

Depth first search a tree

## Week 3

Write +turn without stdlib

## Week 4

Rewrite Egg-Timer (Gall App) to take an absolute date

## Week 5

Write a Gall App that queries an api

## Week 6

Write a test suite for a library

## Week 7

Write a Modulo Tile for a simple Todo List

## Week 8

Create something hopefully impressive

Cargando…
Cancelar
Guardar