Creazione albero di ricorsione con Tikz

  • Creatore
    Topic
  • #101177
    Up
    0
    Down
    ::


    Salve, è il mio primo post, come notate e mi sono iscritto perchè ho un problema con la libreria Tikz. Devo creare un albero come la figura in allegato, ma non riesco in nessun modo a realizzarlo. Sto usando la libreria Tikz perchè è veramente molto vasta per questo genere di cose e sono sicuro che in qualche modo dovrei riuscirci. Ho dato un’occhiata anche ad alcuni templates qui -> http://www.texample.net/tikz/examples/area/computer-science/ ma non riesco a trovarne uno che sia simile al mio. Sto leggendo in modo rapido la guida per la libreria Tikz qui -> http://paws.wcu.edu/tsfoguel/tikzpgfmanual.pdf che spiega abbastanza bene il suo funzionamento ma ancora non ho trovato nulla che faccia al caso mio. Ho provato a scrivere qualcosa in modo semplice. Questo è il codice:
    `
    \usepackage {tikz}

    \begin{document}
    $c = 0\quad$
    \begin{tikzpicture}
    \draw [help lines] (0,0) grid (4,1);
    \node at (0.5,0.5) {$1$};
    \node at (1.5,0.5) {$1$};
    \node at (2.5,0.5) {$1$};
    \node at (3.5,0.5) {$1$};
    \end{tikzpicture}
    $\quad Input$

    \vspace{1cm}
    $c = 4\quad$
    \begin{tikzpicture}
    \draw [help lines, red] (0,0) grid (4,1);
    \node at (0.5,0.5) {$1$};
    \node at (1.5,0.5) {$1$};
    \node at (2.5,0.5) {$1$};
    \node at (3.5,0.5) {$1$};
    \end{tikzpicture}
    $\quad Output$

    \end{tikzpicture}
    \end{document}
    `

    Facendo in questo modo , però non riesco ad allineare tutti i blocchi , le scritte , le frecce e le figure geometriche.
    Avreste qualche consiglio da darmi?

    Ps: I numeri all’interno dell’immagine sono poco importanti, li ho messi apposta tutti ad “1”. Ho bisogno solo di uno scheletro per lo schema che non riesco a creare.

    Ogni risposta è molto apprezzata! Grazie.

    [attachment=1305]pic.jpg[/attachment]

    Attachments:
    You must be logged in to view attached files.
Visualizzazione 1 filone di risposte
  • Autore
    Risposte
    • #101178
      Up
      0
      Down
      ::


      Ho provato a buttare giù qualcosa.
      `
      \documentclass{article}
      \usepackage {tikz}
      \usetikzlibrary{matrix}
      \begin{document}
      \begin{tikzpicture}[every node/.style={draw,minimum size=.5cm},every matrix/.style={inner sep=0pt}]
      \matrix[label=180:{$c=0$},label=0:\emph{Input},draw=none,matrix of nodes]
      {1& 1& 1 & 1 \\};
      \matrix(a) at(0,-1cm)[label=180:{$c=4$},label=0:\emph{Output},draw=none,matrix of nodes]
      {1& 1& 1 & 1 \\};
      \matrix(b) at(-1cm,-2cm)[draw=none,matrix of nodes]
      {1& 1 \\};
      \matrix(c) at(1cm,-2cm)[draw=none,matrix of nodes]
      {1& 1 \\};
      \draw(a-1-2.south) — (b.north) (a-1-3.south) — (c.north);
      \end{tikzpicture}
      \end{document}
      `
      Come vedi, ho utilizzato una matrice in TikZ. Per maggiori info su come utilizzarle, devi leggere la documentazione del pacchetto dando [tt]texdoc tikz[/tt] in un terminale.

    • #101179
      Up
      0
      Down
      ::


      Grazie mille, non avevo proprio idea di come fare. Provo a continuare sulla base che mi hai dato. Grazie ancora!

Visualizzazione 1 filone di risposte
  • Devi essere connesso per rispondere a questo topic.

Go to top