Dumping trees to a terminal in a compact, readable form is an invaluable aid to developing and debugging tree-based algorithms. The following demonstrates a mechanism for doing this for array-based binary trees:
<Reveal this spoiler or all in this thread>
A couple of examples:
C:\test>genBinTree -S=1 ___________ ___________/ \___ _______/ \_ _/ \ _____/ \_ _/ \_ _/ \_ z _/ \_ _/ \_ _/ \ / \ _/ \ / \ _/ \_ _/ \ _/ \ / \ _/ \ r s t / \ w x y _/ \ / \ / \ h / \ k m n / \ q u v / \ c d e f g i j o p a b C:\test>genBinTree -S=1 -N ___________ ___________/ \___ _______/ \_ _/ \ _____/ \_ _/ \_ _/ \_ z _/ \_ _/ \_ _/ \ / \ _/ \ / \ _/ \_ _/ \ _/ \ / \ _/ \ r s t / \ w x y _/ \ / \ / \ h / \ k m n / \ q u v / \ c d e f g i j o p a b a b c d e f g h i j k m n o p q r s t u v w x y z l r h e c o o o n u i i o s a u o i a n i h r a u p a a l h x l t d l l k v c p e m e n i c i a n l h v r t o t f e i i o e e a a b e r g f t s y k u a o l a r l g e m r e o r o o o k e i o o t b c a r r e e e t e m y r C:\test>genBinTree -S=1234567890123456789 _____________________ _______/ \_ _______/ \___________ _/ \___ _/ \ _____/ \ _/ \ / \_ / \___ f / \_________ q _/ \ v w _/ \ a / \_ g ___/ \ _/ \ u / \ z b _/ \ / \_____ p / \ t x y / \ e h _/ \_ r s c d / \_ _/ \ i / \ / \ o j k m n C:\test>genBinTree -S=123456789012345678 _______ ___/ \_ _/ \_ _/ \_______ / \_ / \_ / \ / \_________ a / \ d / \ g h i _/ \___________ b c e f _/ \ ___/ \_ _/ \ n _/ \ _____/ \ / \ m _/ \_ s ___/ \ z j k / \ / \ / \_ y o p q r t _/ \_ / \ / \ u v w x
With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
Back to
Cool Uses for Perl