Diese Frage ist von http://www.geeksforgeeks.org/construct-bst-from-given-preorder-traversa/Construct BST von vorgegebenen Preorder Traversal?
ich von unten einfachen Algorithmus (eine Art gleichen, dass Java für TreeMap folgt intern) denken kann
- Wir beginnen den Knoten eins nach dem anderen hinzufügen. Beim Hinzufügen beginnen jeden Knoten mit Root-Knoten zu vergleichen und dann mit der rechten/linken Position
- es
rekursiv entscheiden tun, aber ich erwähnt es nicht überall auf Google oder gleiche link.Per Mine sehen zu verstehen ist es Zeit, Komplexität wird sei nlog (n). Ich verstehe, es ist nicht besser als zweiter Ansatz, der O (n) ist, aber besser als der erste, der O (n^2) ist, nicht wahr?
Diese https://stackoverflow.com/questions/19640382/bst-from-preorder-by-just-inserting-the-nodes-in-same-order diskutiert die dieselbe Methode wie du erwähnt hast. Wie in Antwort gesagt, wird dies nolg (n) dauern. – LearningC