File:Sum segment tree.svg

Summary

Description
English: A diagram of a small sum query segment tree, with the queried range and its corresponding nodes highlighted.
Date
Source Competitive Programmer's Handbook
Author Antti Laaksonen

Licensing

w:en:Creative Commons
attribution share alike
This file is licensed under the Creative Commons Attribution-Share Alike 4.0 International license.
You are free:
  • to share – to copy, distribute and transmit the work
  • to remix – to adapt the work
Under the following conditions:
  • attribution – You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
  • share alike – If you remix, transform, or build upon the material, you must distribute your contributions under the same or compatible license as the original.
Category:CC-BY-SA-4.0#Sum%20segment%20tree.svg

Source

Derived from the Competitive Programmer's Handbook repository.

\documentclass[crop,tikz,border=5pt]{standalone}
\begin{document}
\begin{tikzpicture}[scale=0.7]
    \fill[color=white] (0,0) rectangle (2,1);
    \fill[color=gray!50] (2,0) rectangle (8,1);
    \draw (0,0) grid (8,1);

    \node[anchor=center] at (0.5, 0.5) {5};
    \node[anchor=center] at (1.5, 0.5) {8};
    \node[anchor=center] at (2.5, 0.5) {6};
    \node[anchor=center] at (3.5, 0.5) {3};
    \node[anchor=center] at (4.5, 0.5) {2};
    \node[anchor=center] at (5.5, 0.5) {7};
    \node[anchor=center] at (6.5, 0.5) {2};
    \node[anchor=center] at (7.5, 0.5) {6};

    \node[draw,circle,fill=white] (a) at (1,2.5) {13};
    \path[draw,thick,-] (a) -- (0.5,1);
    \path[draw,thick,-] (a) -- (1.5,1);
    \node[draw,circle,fill=gray!50,minimum size=22pt] (b) at (3,2.5) {9};
    \path[draw,thick,-] (b) -- (2.5,1);
    \path[draw,thick,-] (b) -- (3.5,1);
    \node[draw,circle,fill=white,minimum size=22pt] (c) at (5,2.5) {9};
    \path[draw,thick,-] (c) -- (4.5,1);
    \path[draw,thick,-] (c) -- (5.5,1);
    \node[draw,circle,fill=white,minimum size=22pt] (d) at (7,2.5) {8};
    \path[draw,thick,-] (d) -- (6.5,1);
    \path[draw,thick,-] (d) -- (7.5,1);

    \node[draw,circle,fill=white] (i) at (2,4.5) {22};
    \path[draw,thick,-] (i) -- (a);
    \path[draw,thick,-] (i) -- (b);
    \node[draw,circle,fill=gray!50] (j) at (6,4.5) {17};
    \path[draw,thick,-] (j) -- (c);
    \path[draw,thick,-] (j) -- (d);

    \node[draw,circle,fill=white] (m) at (4,6.5) {39};
    \path[draw,thick,-] (m) -- (i);
    \path[draw,thick,-] (m) -- (j);
\end{tikzpicture}
\end{document}
pdflatex seg_tree.tex
pdf2svg seg_tree.pdf seg_tree.svg
svgo seg_tree.svg
Category:Tree structures Category:Computer science diagrams Category:Images with LaTeX source code
Category:CC-BY-SA-4.0 Category:Computer science diagrams Category:Images with LaTeX source code Category:Tree structures