npm install @n3bula/binary-tree-printer
# or
yarn add @n3bula/binary-tree-printer
# or
pnpm add @n3bula/binary-tree-printer
import bTreePrinter from '@nebula/binary-tree-printer';
// const bTreePrinter = require('@nebula/binary-tree-printer');
console.log(
bTreePrinter(
{
value: 1,
left: null,
right: {
value: 2,
left: {
value: 3,
left: null,
right: null,
},
right: {
value: 4,
left: null,
right: null,
},
},
},
{
minLength: 5,
marks: {
dash: '-',
lb: '^',
joint: '^',
},
},
),
);
console.log(
bTreePrinter({
value: 1,
left: {
value: 2,
left: {
value: 4,
left: {
value: 8,
left: null,
right: null,
},
right: {
value: 9,
left: null,
right: null,
},
},
right: {
value: 5,
left: {
value: 10,
left: null,
right: null,
},
right: {
value: 11,
left: null,
right: null,
},
},
},
right: {
value: 3,
left: {
value: 6,
left: {
value: 12,
left: null,
right: null,
},
right: {
value: 13,
left: null,
right: null,
},
},
right: {
value: 7,
left: {
value: 14,
left: null,
right: null,
},
right: {
value: 15,
left: null,
right: null,
},
},
},
}),
);
<body>
<script src="../lib/bundle.min.js"></script>
<script>
console.log(
bTreePrinter(
{
value: 1,
left: null,
right: {
value: '😀',
left: {
value: 3,
left: null,
right: null,
},
right: {
value: 4,
left: null,
right: null,
},
},
},
{
minLength: 5,
marks: {
dash: '-',
lb: '^',
joint: '^',
},
},
),
);
</script>
</body>
option | value | description |
---|---|---|
minLength | number | padding length (default: 2) |
marks | object | tree branches placeholder |
marks.dash | string | (default: '━') |
marks.lt | string | (default: '┏') |
marks.rt | string | (default: '┓') |
marks.lb | string | (default: '┗') |
marks.rb | string | (default: '┛') |
marks.joint | string | (default: '┻') |