This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
board = [] | |
board_size = -1 | |
def initiateBoard (board_dimensions): | |
global board | |
global board_size | |
global knights_moves | |
board_size = board_dimensions | |
for i in range(0, board_size): | |
board.append(board_size*[0]) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
settings_table = { | |
{ | |
-- Edit this table to customise your rings. | |
-- You can create more rings simply by adding more elements to settings_table. | |
-- "name" is the type of stat to display; you can choose from 'cpu', 'memperc', 'fs_used_perc', 'battery_used_perc'. | |
name='time', | |
-- "arg" is the argument to the stat type, e.g. if in Conky you would write ${cpu cpu0}, 'cpu0' would be the argument. If you would not use an argument in the Conky variable, use ''. | |
arg='%I.%M', | |
-- "max" is the maximum value of the ring. If the Conky variable outputs a percentage, use 100. | |
max=12, |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Timing the performance of various ways of extracting top k elements from a vector: | |
Here sequence size is about 10000 | |
and k=300 | |
Here is a randomly generated vector containing 10K maps. Each of the maps look like this | |
{ | |
:id 123 | |
:data (0 1 2 3 ....) | |
:more-data (0 1 2 3 ....) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{-# LANGUAGE GADTs, DataKinds #-} | |
module BST where | |
data Nat = Zero | Succ Nat | |
data Tree n a where | |
Branch :: T n a -> Tree (Succ n) a | |
Leaf :: Tree Zero a | |
data T n a = NodeR (Tree n a) a (Tree (Succ n) a) -- right subtree has height + 1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
data Nat = Zero | Succ Nat | |
data T n a = NodeR (Tree n a) a (Tree (Succ n) a) -- right subtree has height + 1 | |
| NodeL (Tree (Succ n) a) a (Tree n a) -- left subtree has height + 1 | |
| Node (Tree n a) a (Tree n a) -- both subtrees are of equal height | |
data Tree n a where | |
Branch :: T n a -> Tree (Succ n) a | |
Leaf :: Tree Zero a |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{-# LANGUAGE GADTs, DataKinds #-} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
delete :: (Ord a) => a -> Tree a -> Tree a | |
delete x t = makeBlack $ del x t | |
where makeBlack (T _ a y b) = T B a y b | |
makeBlack E = E | |
del :: (Ord a) => a -> Tree a -> Tree a | |
del x t@(T _ l y r) | |
| x < y = delL x t | |
| x > y = delR x t | |
| otherwise = fuse l r |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
fuse (T B t1 x t2) (T B t3 y t4) = | |
let s = fuse t2 t3 | |
in case s of | |
(T R s1 z s2) -> (T R (T B t1 x s1) z (T B s2 y t4)) -- consfusing case | |
(T B s1 z s2) -> balL (T B t1 x (T B s y t4)) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
fuse (T R t1 x t2) (T R t3 y t4) = | |
let s = fuse t2 t3 | |
in case s of | |
(T R s1 z s2) -> (T R (T R t1 x s1) z (T R s2 y t4)) | |
(T B _ _ _) -> (T R t1 x (T R s y t4)) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
fuse t1@(T B _ _ _) (T R t3 y t4) = T R (fuse t1 t3) y t4 | |
fuse (T R t1 x t2) t3@(T B _ _ _) = T R t1 x (fuse t2 t3) |
OlderNewer