MCPcopy Create free account
hub / github.com/acm-clan/algorithm-stone / find_element

Method find_element

animations/segmenttree.py:137–151  ·  view source on GitHub ↗
(self, node, val, new_val)

Source from the content-addressed store, hash-verified

135 self.show_message("再来看看如何更新线段树")
136
137 def find_element(self, node, val, new_val):
138 if node.l==node.r and node.v == val:
139 n = self.tree.get_node(node.id)
140 self.play(n.set_color, RED)
141 self.show_message("修改元素")
142 n.set_text(str(new_val))
143 n.v = new_val
144 return
145 self.find_element(node.l, val, new_val)
146 self.find_element(node.r, val, new_val)
147 node.v = node.l.v + node.r.v
148 n = self.tree.get_node(node.id)
149 n.set_text(str(node.v))
150 self.show_message("更新节点")
151 self.play(FocusOn(n))
152
153 def construct(self):
154 self.start_logo(animate=False)

Callers

nothing calls this directly

Calls 3

set_textMethod · 0.80
get_nodeMethod · 0.45
show_messageMethod · 0.45

Tested by

no test coverage detected