Könnte man den Algorithmus so beschreiben:
Man könnte mit einer Schleife über die Positionen des Arrays iterrieren. Bei der Besucherreinfolge von PreOrder- Traversierung wird erst die Wurzel dann der linke und dann der rechte Teilbaum wiederhergestellt. Somit ist das Element an der Stelle A[0] die Wurzel. Wenn das nächste Element im Array kleiner ist, als die Wurzel existiert ein linker Teilbaum. Somit wird dieses Element linker Kinderknoten der Wurzel. Im anderen Fall wäre es der rechte Kinderknoten. Wenn das nächste Element kleiner ist, als das zuvor betrachtete also an der Stelle A[i-1], dann wird es zum linken Kinderknoten, sonst zum rechten. Falls das folgende Element größer ist, als A[i-2] wird es zum rechten Kinderknoten von A[i-2] sonst wird es zum rechten/linken Kinderknoten A[i-1]. Zudem muss bei jedem betrachteten Element geprüft werden, ob es kleiner als die Wurzel ist, wenn diese Bedingung nicht mehr erfüllt ist, weiß man, dass der linke Teilbaum abgeschlossen ist und man mit dem rechten fortfahren muss.