Antworte auf:  Pseudo-Code Algorithmus Binärer Suchbaum von Mitness
Forum:  Algorithmen / Datenstrukturen, moderiert von: matroid

[Zur Forum-Gliederung] [Wie man Fragen beantwortet] [Themenstart einblenden]

  Alle registrierten Mitglieder können Mitteilungen schreiben.
Benutzername:
Passwort:
Nachricht-Icon:                   
                  
              
Nachricht:


 
 


Input assistance tools (JavaScript): [Link extern intern] [MathML?] [$$?]
[fed-area] [LaTeX-inline] [LaTeX-display] [Tikz] [hide-area][show-area] [Source code [num.]][?]
 Show Preview      Write using fedgeo formula editor or Latex.

Smilies for your message:
😃 😄 😁 🙂 🙃 😉 🤗 🤫 🤔 🙄 😴 🤒 😎 😮 😲 😂
🙁 😖 😒 😐 😡 👌 👍 👎 🤢 🤧 🥵 🥶 😵 🤯 😛 😷
Optionen: Deaktiviere HTML in dieser Nachricht
Deaktiviere MATHML in dieser Nachricht. Wenn Dein Text $-Zeichen enthält, die nicht LaTeX-Formeln begrenzen.
Deaktiviere Smilies in dieser Nachricht
Zeige die Signatur (Kann in 'Mein Profil' editiert werden.)
    [Abbrechen]
 
Beachte bitte die [Forumregeln]


Themenübersicht
StrgAltEntf
Senior
Dabei seit: 19.01.2013
Mitteilungen: 5874
Herkunft: Milchstraße
 Beitrag No.8, eingetragen 2019-01-12 21:21    [Diesen Beitrag zitieren]

2019-01-12 20:12 - Mitness in Beitrag No. 6 schreibt:
Weißt du denn auch, wie ich zeigen kann, dass die Lauftzeit von O(n) eingehalten wird mit diesem Pseudocode? 😄

Mache dir klar, dass die Funktion H für jeden Knoten genau ein Mal aufgerufen wird. Damit bist du eigentlich fertig.

(Übrigens solltest du, wenn n die Anzahl der Knoten bezeichnet, die Variable n im Pseudocode durch k ersetzen.)

[Die Antwort wurde nach Beitrag No.6 begonnen.]


matph
Senior
Dabei seit: 20.11.2006
Mitteilungen: 5506
Herkunft: A
 Beitrag No.7, eingetragen 2019-01-12 21:19    [Diesen Beitrag zitieren]

Hallo,

Du könntest das Akra-Bazzi-Theorem verwenden 😄

--
mfg
matph


Mitness
Junior
Dabei seit: 11.01.2019
Mitteilungen: 14
Herkunft:
 Beitrag No.6, eingetragen 2019-01-12 20:12    [Diesen Beitrag zitieren]

2019-01-12 19:38 - StrgAltEntf in Beitrag No. 4 schreibt:
Eigentlich musst du es nur ins Englische übersetzen 😉
function H(v,n)
  h[v] <- n
 
  if left[v] != NIL then
    H(left[v],n+1)
  end if
 
  if right[v] != NIL then
    H(right[v],n+1)
  end if
 
  return
end function


Weißt du denn auch, wie ich zeigen kann, dass die Lauftzeit von O(n) eingehalten wird mit diesem Pseudocode? 😄


Mitness
Junior
Dabei seit: 11.01.2019
Mitteilungen: 14
Herkunft:
 Beitrag No.5, eingetragen 2019-01-12 19:45    [Diesen Beitrag zitieren]

2019-01-12 19:38 - StrgAltEntf in Beitrag No. 4 schreibt:
Eigentlich musst du es nur ins Englische übersetzen 😉
function H(v,n)
  h[v] <- n
 
  if left[v] != NIL then
    H(left[v],n+1)
  end if
 
  if right[v] != NIL then
    H(right[v],n+1)
  end if
 
  return
end function

Ich danke dir vielmals 😁
Jetzt habe ich ein Beispiel wie ich die nächsten Übungen angehe  😄



StrgAltEntf
Senior
Dabei seit: 19.01.2013
Mitteilungen: 5874
Herkunft: Milchstraße
 Beitrag No.4, eingetragen 2019-01-12 19:38    [Diesen Beitrag zitieren]

Eigentlich musst du es nur ins Englische übersetzen 😉
function H(v,n)
  h[v] <- n
 
  if left[v] != NIL then
    H(left[v],n+1)
  end if
 
  if right[v] != NIL then
    H(right[v],n+1)
  end if
 
  return
end function


Mitness
Junior
Dabei seit: 11.01.2019
Mitteilungen: 14
Herkunft:
 Beitrag No.3, eingetragen 2019-01-12 19:26    [Diesen Beitrag zitieren]

2019-01-12 18:44 - StrgAltEntf in Beitrag No. 1 schreibt:
Hallo Mitness,

für einen Knoten v, der kein Blatt ist, seien k1(v) und k2(v) die beiden Kindknoten.

Du kannst die Funktion rekursiv definieren:
Funktion H(v,n) (input: Knoten v und Wert n)
  setze h(v) = n
  wenn v ein Blatt ist: return
  rufe H(k1(v),n+1) und H(k2(v),n+1) auf
  return

Rufe dann H(w,0) auf, wobei w die Wurzel des binären Baums ist.

Also ich verstehe was der Pseudocode macht, soweit so gut, nur ist es gefordert den Pseudocode in dieser Konvention zu schreiben:
example

kannst du mir deinen Pseudocode auf diese art einmal schreiben? Damit ich weiß wie ich sowas in Zukunft abstrahiere 😄

PS: Diese Aufgabe ist lediglich eine Übungsaufgabe und wird nicht bewertet!


Mitness
Junior
Dabei seit: 11.01.2019
Mitteilungen: 14
Herkunft:
 Beitrag No.2, eingetragen 2019-01-12 18:57    [Diesen Beitrag zitieren]

2019-01-12 18:44 - StrgAltEntf in Beitrag No. 1 schreibt:
Hallo Mitness,

für einen Knoten v, der kein Blatt ist, seien k1(v) und k2(v) die beiden Kindknoten.

Du kannst die Funktion rekursiv definieren:
Funktion H(v,n) (input: Knoten v und Wert n)
  setze h(v) = n
  wenn v ein Blatt ist: return
  rufe H(k1(v),n+1) und H(k2(v),n+1) auf
  return

Rufe dann H(nil,0) auf.

Ich danke dir :)!


StrgAltEntf
Senior
Dabei seit: 19.01.2013
Mitteilungen: 5874
Herkunft: Milchstraße
 Beitrag No.1, eingetragen 2019-01-12 18:44    [Diesen Beitrag zitieren]

Hallo Mitness,

für einen Knoten v, der kein Blatt ist, seien k1(v) und k2(v) die beiden Kindknoten.

Du kannst die Funktion rekursiv definieren:
Funktion H(v,n) (input: Knoten v und Wert n)
  setze h(v) = n
  wenn v ein Blatt ist: return
  rufe H(k1(v),n+1) und H(k2(v),n+1) auf
  return

Rufe dann H(w,0) auf, wobei w die Wurzel des binären Baums ist.


Mitness
Junior
Dabei seit: 11.01.2019
Mitteilungen: 14
Herkunft:
 Themenstart: 2019-01-12 17:39    [Diesen Beitrag zitieren]

Moin!

Ich brauche einen rekursiven Algorithmus im form eines Pseudo-codes, der in einem Binären Suchbaum jedem Knoten ein Label h(v) gibt, welches die Höhe des Knotens im Baum beschreibt, wenn angenommen wird, dass h(nil) = 0 global definiert ist.  


Ich habe schon dutzende male bei Google danach gesucht, aber kann nichts dazu finden 😐 , vielleicht könnt ihr mir ja weiterhelfen  😄 !


 
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2020 by Matroids Matheplanet
This web site was originally made with PHP-Nuke, a former web portal system written in PHP that seems no longer to be maintained nor supported. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen.
Lesen Sie die Nutzungsbedingungen, die Distanzierung, die Datenschutzerklärung und das Impressum.
[Seitenanfang]