binary-search-tree/red-black-tree

View on GitHub
media/sketch.svg

Summary

Maintainability
Test Coverage
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="372pt" height="228pt" viewBox="0 0 372 228" version="1.1">
<g id="surface1">
<path style="fill-rule:evenodd;fill:rgb(20%,20%,20%);fill-opacity:1;stroke-width:1.2;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(20%,20%,20%);stroke-opacity:1;stroke-miterlimit:10;" d="M 160 704 L 256 768 " transform="matrix(1,0,0,-1,-70.5,785.5)"/>
<path style="fill-rule:evenodd;fill:rgb(20%,20%,20%);fill-opacity:1;stroke-width:1.2;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(20%,20%,20%);stroke-opacity:1;stroke-miterlimit:10;" d="M 160 704 L 112 640 " transform="matrix(1,0,0,-1,-70.5,785.5)"/>
<path style="fill-rule:evenodd;fill:rgb(20%,20%,20%);fill-opacity:1;stroke-width:1.2;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(20%,20%,20%);stroke-opacity:1;stroke-miterlimit:10;" d="M 112 640 L 88 576 " transform="matrix(1,0,0,-1,-70.5,785.5)"/>
<path style="fill-rule:evenodd;fill:rgb(20%,20%,20%);fill-opacity:1;stroke-width:1.2;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(20%,20%,20%);stroke-opacity:1;stroke-miterlimit:10;" d="M 112 640 L 136 576 " transform="matrix(1,0,0,-1,-70.5,785.5)"/>
<path style="fill-rule:evenodd;fill:rgb(20%,20%,20%);fill-opacity:1;stroke-width:1.2;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(20%,20%,20%);stroke-opacity:1;stroke-miterlimit:10;" d="M 184 576 L 208 640 " transform="matrix(1,0,0,-1,-70.5,785.5)"/>
<path style="fill-rule:evenodd;fill:rgb(20%,20%,20%);fill-opacity:1;stroke-width:1.2;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(20%,20%,20%);stroke-opacity:1;stroke-miterlimit:10;" d="M 208 640 L 232 576 " transform="matrix(1,0,0,-1,-70.5,785.5)"/>
<path style="fill-rule:evenodd;fill:rgb(20%,20%,20%);fill-opacity:1;stroke-width:1.2;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(20%,20%,20%);stroke-opacity:1;stroke-miterlimit:10;" d="M 280 576 L 304 640 " transform="matrix(1,0,0,-1,-70.5,785.5)"/>
<path style="fill-rule:evenodd;fill:rgb(20%,20%,20%);fill-opacity:1;stroke-width:1.2;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(20%,20%,20%);stroke-opacity:1;stroke-miterlimit:10;" d="M 328 576 L 304 640 " transform="matrix(1,0,0,-1,-70.5,785.5)"/>
<path style="fill-rule:evenodd;fill:rgb(20%,20%,20%);fill-opacity:1;stroke-width:1.2;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(20%,20%,20%);stroke-opacity:1;stroke-miterlimit:10;" d="M 376 576 L 400 640 " transform="matrix(1,0,0,-1,-70.5,785.5)"/>
<path style="fill-rule:evenodd;fill:rgb(20%,20%,20%);fill-opacity:1;stroke-width:1.2;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(20%,20%,20%);stroke-opacity:1;stroke-miterlimit:10;" d="M 400 640 L 424 576 " transform="matrix(1,0,0,-1,-70.5,785.5)"/>
<path style="fill-rule:evenodd;fill:rgb(20%,20%,20%);fill-opacity:1;stroke-width:1.2;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(20%,20%,20%);stroke-opacity:1;stroke-miterlimit:10;" d="M 304 640 L 344 704 " transform="matrix(1,0,0,-1,-70.5,785.5)"/>
<path style="fill-rule:evenodd;fill:rgb(20%,20%,20%);fill-opacity:1;stroke-width:1.2;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(20%,20%,20%);stroke-opacity:1;stroke-miterlimit:10;" d="M 344 704 L 400 640 " transform="matrix(1,0,0,-1,-70.5,785.5)"/>
<path style="fill-rule:evenodd;fill:rgb(20%,20%,20%);fill-opacity:1;stroke-width:1.2;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(20%,20%,20%);stroke-opacity:1;stroke-miterlimit:10;" d="M 344 704 L 256 768 " transform="matrix(1,0,0,-1,-70.5,785.5)"/>
<path style="fill-rule:evenodd;fill:rgb(20%,20%,20%);fill-opacity:1;stroke-width:1.2;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(20%,20%,20%);stroke-opacity:1;stroke-miterlimit:10;" d="M 160 704 L 208 640 " transform="matrix(1,0,0,-1,-70.5,785.5)"/>
<path style="fill-rule:evenodd;fill:rgb(20%,20%,20%);fill-opacity:1;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(100%,100%,100%);stroke-opacity:1;stroke-miterlimit:10;" d="M 272 768 C 272 776.835938 264.835938 784 256 784 C 247.164062 784 240 776.835938 240 768 C 240 759.164062 247.164062 752 256 752 C 264.835938 752 272 759.164062 272 768 Z M 272 768 " transform="matrix(1,0,0,-1,-70.5,785.5)"/>
<path style="fill-rule:evenodd;fill:rgb(20%,20%,20%);fill-opacity:1;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(100%,100%,100%);stroke-opacity:1;stroke-miterlimit:10;" d="M 360 704 C 360 712.835938 352.835938 720 344 720 C 335.164062 720 328 712.835938 328 704 C 328 695.164062 335.164062 688 344 688 C 352.835938 688 360 695.164062 360 704 Z M 360 704 " transform="matrix(1,0,0,-1,-70.5,785.5)"/>
<path style="fill-rule:evenodd;fill:rgb(100%,50%,50%);fill-opacity:1;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(100%,100%,100%);stroke-opacity:1;stroke-miterlimit:10;" d="M 176 704 C 176 712.835938 168.835938 720 160 720 C 151.164062 720 144 712.835938 144 704 C 144 695.164062 151.164062 688 160 688 C 168.835938 688 176 695.164062 176 704 Z M 176 704 " transform="matrix(1,0,0,-1,-70.5,785.5)"/>
<path style="fill-rule:evenodd;fill:rgb(100%,50%,50%);fill-opacity:1;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(100%,100%,100%);stroke-opacity:1;stroke-miterlimit:10;" d="M 320 640 C 320 648.835938 312.835938 656 304 656 C 295.164062 656 288 648.835938 288 640 C 288 631.164062 295.164062 624 304 624 C 312.835938 624 320 631.164062 320 640 Z M 320 640 " transform="matrix(1,0,0,-1,-70.5,785.5)"/>
<path style="fill-rule:evenodd;fill:rgb(100%,50%,50%);fill-opacity:1;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(100%,100%,100%);stroke-opacity:1;stroke-miterlimit:10;" d="M 416 640 C 416 648.835938 408.835938 656 400 656 C 391.164062 656 384 648.835938 384 640 C 384 631.164062 391.164062 624 400 624 C 408.835938 624 416 631.164062 416 640 Z M 416 640 " transform="matrix(1,0,0,-1,-70.5,785.5)"/>
<path style="fill-rule:evenodd;fill:rgb(20%,20%,20%);fill-opacity:1;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(100%,100%,100%);stroke-opacity:1;stroke-miterlimit:10;" d="M 224 640 C 224 648.835938 216.835938 656 208 656 C 199.164062 656 192 648.835938 192 640 C 192 631.164062 199.164062 624 208 624 C 216.835938 624 224 631.164062 224 640 Z M 224 640 " transform="matrix(1,0,0,-1,-70.5,785.5)"/>
<path style="fill-rule:evenodd;fill:rgb(20%,20%,20%);fill-opacity:1;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(100%,100%,100%);stroke-opacity:1;stroke-miterlimit:10;" d="M 128 640 C 128 648.835938 120.835938 656 112 656 C 103.164062 656 96 648.835938 96 640 C 96 631.164062 103.164062 624 112 624 C 120.835938 624 128 631.164062 128 640 Z M 128 640 " transform="matrix(1,0,0,-1,-70.5,785.5)"/>
<path style="fill-rule:evenodd;fill:rgb(20%,20%,20%);fill-opacity:1;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(100%,100%,100%);stroke-opacity:1;stroke-miterlimit:10;" d="M 104 576 C 104 584.835938 96.835938 592 88 592 C 79.164062 592 72 584.835938 72 576 C 72 567.164062 79.164062 560 88 560 C 96.835938 560 104 567.164062 104 576 Z M 104 576 " transform="matrix(1,0,0,-1,-70.5,785.5)"/>
<path style="fill-rule:evenodd;fill:rgb(20%,20%,20%);fill-opacity:1;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(100%,100%,100%);stroke-opacity:1;stroke-miterlimit:10;" d="M 200 576 C 200 584.835938 192.835938 592 184 592 C 175.164062 592 168 584.835938 168 576 C 168 567.164062 175.164062 560 184 560 C 192.835938 560 200 567.164062 200 576 Z M 200 576 " transform="matrix(1,0,0,-1,-70.5,785.5)"/>
<path style="fill-rule:evenodd;fill:rgb(20%,20%,20%);fill-opacity:1;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(100%,100%,100%);stroke-opacity:1;stroke-miterlimit:10;" d="M 248 576 C 248 584.835938 240.835938 592 232 592 C 223.164062 592 216 584.835938 216 576 C 216 567.164062 223.164062 560 232 560 C 240.835938 560 248 567.164062 248 576 Z M 248 576 " transform="matrix(1,0,0,-1,-70.5,785.5)"/>
<path style="fill-rule:evenodd;fill:rgb(20%,20%,20%);fill-opacity:1;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(100%,100%,100%);stroke-opacity:1;stroke-miterlimit:10;" d="M 152 576 C 152 584.835938 144.835938 592 136 592 C 127.164062 592 120 584.835938 120 576 C 120 567.164062 127.164062 560 136 560 C 144.835938 560 152 567.164062 152 576 Z M 152 576 " transform="matrix(1,0,0,-1,-70.5,785.5)"/>
<path style="fill-rule:evenodd;fill:rgb(20%,20%,20%);fill-opacity:1;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(100%,100%,100%);stroke-opacity:1;stroke-miterlimit:10;" d="M 296 576 C 296 584.835938 288.835938 592 280 592 C 271.164062 592 264 584.835938 264 576 C 264 567.164062 271.164062 560 280 560 C 288.835938 560 296 567.164062 296 576 Z M 296 576 " transform="matrix(1,0,0,-1,-70.5,785.5)"/>
<path style="fill-rule:evenodd;fill:rgb(20%,20%,20%);fill-opacity:1;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(100%,100%,100%);stroke-opacity:1;stroke-miterlimit:10;" d="M 392 576 C 392 584.835938 384.835938 592 376 592 C 367.164062 592 360 584.835938 360 576 C 360 567.164062 367.164062 560 376 560 C 384.835938 560 392 567.164062 392 576 Z M 392 576 " transform="matrix(1,0,0,-1,-70.5,785.5)"/>
<path style="fill-rule:evenodd;fill:rgb(20%,20%,20%);fill-opacity:1;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(100%,100%,100%);stroke-opacity:1;stroke-miterlimit:10;" d="M 440 576 C 440 584.835938 432.835938 592 424 592 C 415.164062 592 408 584.835938 408 576 C 408 567.164062 415.164062 560 424 560 C 432.835938 560 440 567.164062 440 576 Z M 440 576 " transform="matrix(1,0,0,-1,-70.5,785.5)"/>
<path style="fill-rule:evenodd;fill:rgb(20%,20%,20%);fill-opacity:1;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(100%,100%,100%);stroke-opacity:1;stroke-miterlimit:10;" d="M 344 576 C 344 584.835938 336.835938 592 328 592 C 319.164062 592 312 584.835938 312 576 C 312 567.164062 319.164062 560 328 560 C 336.835938 560 344 567.164062 344 576 Z M 344 576 " transform="matrix(1,0,0,-1,-70.5,785.5)"/>
</g>
</svg>