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

Method construct

animations/trie.py:9–50  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

7 self.data_find = ["te", "ted", "ins"]
8
9 def construct(self):
10 self.go_speed_up()
11 self.reset_speed_up()
12
13 self.start_logo(subtitle="Trie前缀树", animate=True)
14 self.init_message("Trie树也叫做前缀树、字典树")
15
16 vector = AlgoVector(self, datas=self.data, is_rect=True)
17 self.add(vector)
18 vector.set_color(GOLD)
19 self.play(vector.shift, UP*3.5)
20
21 self.show_message("如上所示,有6个单词")
22 self.show_message("前缀树是如何存储这些单词的呢?")
23 self.show_message("我们先来看看前缀树的插入操作")
24
25 tree = AlgoTrieTree(self)
26 for w in self.data:
27 tree.add_word(w)
28
29 self.add(tree)
30
31 self.show_message("前缀树的查询操作")
32
33 vector2 = AlgoVector(self, datas=self.data_find, is_rect=True)
34 vector2.shift(UP*3.5)
35 vector2.set_color(GOLD)
36 self.play(Transform(vector, vector2))
37
38 i = 0
39 for w in self.data_find:
40 v = tree.query(w)
41 if v:
42 self.play(vector2.submobjects[i].set_color, BLUE)
43 else:
44 self.play(vector2.submobjects[i].set_color, GREEN)
45 print("word %s %s"%(w, v))
46 i += 1
47
48 self.wait(2)
49 self.show_message("完成Trie前缀树,谢谢观看!")
50 self.wait(10)

Callers

nothing calls this directly

Calls 9

add_wordMethod · 0.95
queryMethod · 0.95
AlgoVectorClass · 0.85
AlgoTrieTreeClass · 0.85
printFunction · 0.85
start_logoMethod · 0.80
init_messageMethod · 0.80
addMethod · 0.45
show_messageMethod · 0.45

Tested by

no test coverage detected