Initial data commit

This commit is contained in:
Ingy döt Net 2023-07-01 11:58:00 -04:00
parent 72d218235f
commit f23f22d71c
199087 changed files with 3378941 additions and 0 deletions

View file

@ -0,0 +1,12 @@
import qualified Data.Set as S
htree :: (Ord t, Num t, Ord a) => S.Set (t, HTree a) -> HTree a
htree ts | S.null ts_1 = t1
| otherwise = htree ts_3
where
((w1,t1), ts_1) = S.deleteFindMin ts
((w2,t2), ts_2) = S.deleteFindMin ts_1
ts_3 = S.insert (w1 + w2, Branch t1 t2) ts_2
huffmanTree :: (Ord w, Num w, Ord a) => [(w, a)] -> HTree a
huffmanTree = htree . S.fromList . map (second Leaf)