Ich habe einen Code für einen Prototyp einer Aktienhandelsplattform geschrieben. Ich entschied mich für einen roten schwarzen Baum, um die Transaktionen zu speichern. Ich schrieb den Code für einen RB-Baum mit den Schlüssel als TradeValue (3. Element in der Parameterliste). Beim Einfügen der Schlüssel in diese bestimmte Reihenfolge [80, 9, 4, 3, 2 (absteigender Reihenfolge) scheinen die letzten 2 Knoten verloren zu gehen. < /P>
unten ist der Code für die Datenstruktur . Ich habe die Implementierung in "Einführung in Algorithmen" auf PG verfolgt. 439. Ich habe auch Helferfunktionen zum Drucken und Visualisieren des Baums aufgenommen. < /P>
Ich habe einen Code für einen Prototyp einer Aktienhandelsplattform geschrieben. Ich entschied mich für einen roten schwarzen Baum, um die Transaktionen zu speichern. Ich schrieb den Code für einen RB-Baum mit den Schlüssel als TradeValue (3. Element in der Parameterliste). Beim Einfügen der Schlüssel in diese bestimmte Reihenfolge [80, 9, 4, 3, 2 (absteigender Reihenfolge) scheinen die letzten 2 Knoten verloren zu gehen. < /P> unten ist der Code für die Datenstruktur . Ich habe die Implementierung in "Einführung in Algorithmen" auf PG verfolgt. 439. Ich habe auch Helferfunktionen zum Drucken und Visualisieren des Baums aufgenommen. < /P> [code] def getTradeValue(transaction): return transaction[1] * transaction[2]
def colorFlip(self): self.color = RED self.right.color = BLACK self.left.color = BLACK
def put(self, transaction):
if self is None: return RBTree(transaction)
if getTradeValue(transaction) == self.key: self.value.append(transaction)
elif getTradeValue(transaction) < self.key: if self.left is None: self.left = RBTree(transaction) else: self.left.put(transaction)
elif getTradeValue(transaction) > self.key: if self.right is None: self.right = RBTree(transaction) else: self.right.put(transaction)
if (self.right and self.right.isRed()) and (self.left and not self.left.isRed()): self = self.rotateLeft() if (self.left and self.left.isRed()) and (self.left.left and self.left.left.isRed()): self = self.rotateRight() if (self.left and self.left.isRed()) and (self.right and self.right.isRed()): self.colorFlip()
return self
def inorder(self): if self: if self.left: print(self.left.inorder()) print(self.key, " ", self.value, " ", self.color) if self.right: print(self.right.inorder())
def print2DUtil(self, space) : COUNT = [10] # Base case if self is None : return
# Increase distance between levels space += COUNT[0]
# Process right child first if self.right: self.right.print2DUtil(space)
# Print current node after space # count print() for i in range(COUNT[0], space): print(end = " ") print(self.key,self.color)
# Process left child if self.left: self.left.print2DUtil(space)
Was ist der genaueste Weg, um einen Knoten in einer Baumansicht auf und ab zu bewegen. Ich habe ein Kontextmenü auf jedem Knoten erhalten und der ausgewählte Knoten sollte mit allen Subnoden...
Ich stoße auf ein Problem, bei dem ich beim „Flutter Run“ von VS Code einen roten Bildschirm mit der Meldung „'package:dio_http_formatter/src/dio_http_formatter_base.dart': Failed Assertion“ erhalte:...
Ich habe zwei Seiten, Seite 0 und Seite1 . Ich habe auf eine Schaltfläche in Seite1 geklickt und eine leere Seite zum Laden von 3-5 Minuten geklickt. Danach wird eine neue Seite angezeigt und alle...
Im Moment habe ich
return PopScope(
canPop: false,
onPopInvokedWithResult: (bool didPop, Object? result) async {
if (result == null){
final navigator = Navigator.of(context);
await _save();...