b-tree-2-small-4.tex 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  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 = {white}
  20. }
  21. }
  22. \begin{document}
  23. \begin{preview}
  24. \begin{tikzpicture}
  25. \node[align=center, draw, fill=yellow] at (3,3){
  26. \tikz \node[node=7] (A) {
  27. \nodepart{one}
  28. \nodepart{two}7
  29. \nodepart{three}
  30. \nodepart{four}11
  31. \nodepart{five}
  32. \nodepart{six}15
  33. \nodepart{seven}
  34. };
  35. };
  36. \node[align=center, draw, fill=yellow] at (0,0){
  37. \tikz \node[node=5] (B) {
  38. \nodepart{one}
  39. \nodepart{two}1
  40. \nodepart{three}
  41. \nodepart{four}4
  42. \nodepart{five}
  43. };
  44. };
  45. \node[align=center, draw, fill=yellow] at (3,0){
  46. \tikz \node[node=5] (C) {
  47. \nodepart{one}
  48. \nodepart{two}4
  49. \nodepart{three}
  50. \nodepart{four}8
  51. \nodepart{five}
  52. };
  53. };
  54. \node[align=center, draw, fill=yellow] at (5.6,0){
  55. \tikz \node[node=3, rectangle split part fill={red, white, green}] (D) {
  56. \nodepart{one}
  57. \nodepart{two}14
  58. \nodepart{three}
  59. };
  60. };
  61. \node[align=center, draw, fill=yellow] at (8.4,0){
  62. \tikz \node[node=5, rectangle split part fill={blue, white, purple, white}] (D) {
  63. \nodepart{one}
  64. \nodepart{two}16
  65. \nodepart{three}
  66. \nodepart{four}17
  67. \nodepart{five}
  68. };
  69. };
  70. \draw[pointer] (1.4, 3.1) -- ($(B)+(0,0.4)$) node[] {};
  71. \draw[pointer] (2.25, 3.1) -- ($(B)+(3,0.4)$) node[] {};
  72. \draw[pointer] (3.3, 3.1) -- ($(B)+(5.6,0.4)$) node[] {};
  73. \draw[pointer] (4.4, 3.1) -- ($(B)+(8.4,0.4)$) node[] {};
  74. \end{tikzpicture}
  75. \end{preview}
  76. \end{document}