b-tree-node.tex 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. \documentclass{article}
  2. \usepackage[pdftex,active,tightpage]{preview}
  3. \setlength\PreviewBorder{2mm}
  4. \usepackage{tikz}
  5. \usetikzlibrary{calc,shapes.multipart,chains,arrows,positioning}
  6. \tikzset{
  7. font=\tt,
  8. >= stealth,
  9. every picture/.style={thick},
  10. pointer/.style={*->},
  11. node/.style={
  12. align=center,
  13. rectangle split, rectangle split horizontal,
  14. rectangle split parts=#1,
  15. draw,
  16. anchor=center,
  17. rectangle split part align={center},
  18. rectangle split empty part width=1.5,
  19. rectangle split part fill = {orange!50, blue!50, white}
  20. }
  21. }
  22. \begin{document}
  23. \begin{preview}
  24. \begin{tikzpicture}
  25. \node[align=center, draw, fill=yellow]{
  26. \tikz \node[node=13] (A) {
  27. \nodepart{one}\tiny False
  28. \nodepart{two}5
  29. \nodepart{three}
  30. \nodepart{four}-3
  31. \nodepart{five}
  32. \nodepart{six}0
  33. \nodepart{seven}
  34. \nodepart{eight}4
  35. \nodepart{nine}
  36. \nodepart{ten}17
  37. \nodepart{eleven}
  38. \nodepart{twelve}42
  39. \nodepart{thirteen}
  40. };
  41. };
  42. \node[orange!80] at ($(A.one)+(0, 0.6)$) {$\scriptscriptstyle isLeaf$};
  43. \node[blue!80] at ($(A.two)+(0, -0.5)$) {$\scriptscriptstyle n$};
  44. \node[gray] at ($(A.three)+(0, 0.6)$) {$\scriptscriptstyle c_1$};
  45. \node[gray] at ($(A.four)+(0, -0.5)$) {$\scriptscriptstyle key_1$};
  46. \node[gray] at ($(A.five)+(0, 0.6)$) {$\scriptscriptstyle c_2$};
  47. \node[gray] at ($(A.six)+(0, -0.5)$) {$\scriptscriptstyle key_2$};
  48. \node[gray] at ($(A.seven)+(0, 0.6)$) {$\scriptscriptstyle c_3$};
  49. \node[gray] at ($(A.eight)+(0, -0.5)$) {$\scriptscriptstyle key_3$};
  50. \node[gray] at ($(A.nine)+(0, 0.6)$) {$\scriptscriptstyle c_4$};
  51. \node[gray] at ($(A.ten)+(0, -0.5)$) {$\scriptscriptstyle key_4$};
  52. \node[gray] at ($(A.eleven)+(0, 0.6)$) {$\scriptscriptstyle c_5$};
  53. \node[gray] at ($(A.twelve)+(0, -0.5)$) {$\scriptscriptstyle key_5$};
  54. \node[gray] at ($(A.thirteen)+(0, 0.6)$) {$\scriptscriptstyle c_1$};
  55. \draw[pointer] ($(A.three) + (0, 0.15)$) -- +(0,-1) node[] {};
  56. \draw[pointer] ($(A.five) + (0, 0.15)$) -- +(0,-1) node[] {};
  57. \draw[pointer] ($(A.seven) + (0, 0.15)$) -- +(0,-1) node[] {};
  58. \draw[pointer] ($(A.nine) + (0, 0.15)$) -- +(0,-1) node[] {};
  59. \draw[pointer] ($(A.eleven) + (0, 0.15)$) -- +(0,-1) node[] {};
  60. \draw[pointer] ($(A.thirteen) + (0, 0.15)$) -- +(0,-1) node[] {};
  61. \end{tikzpicture}
  62. \end{preview}
  63. \end{document}