7
7
# HELPERS #
8
8
9
9
10
- def _get_child_branches (tr ):
11
- return tr [1 :]
10
+ def _get_child_branches (trie ):
11
+ return trie [1 :]
12
12
13
13
14
- def _get_child_branch (tr , c ):
14
+ def _get_child_branch (trie , c ):
15
15
"""
16
16
Find matching branch with the character
17
17
"""
18
- for branch in _get_child_branches (tr ):
18
+ for branch in _get_child_branches (trie ):
19
19
if branch [0 ] == c :
20
20
return branch
21
21
22
22
return None
23
23
24
24
25
- def _retrive_branch (k , trie_list ):
25
+ def _retrive_branch (k , trie ):
26
26
if not k :
27
27
return None
28
- tr = trie_list
28
+
29
29
for c in k :
30
- child_branch = _get_child_branch (tr , c )
30
+ child_branch = _get_child_branch (trie , c )
31
31
if not child_branch :
32
32
return None
33
- tr = child_branch
33
+ trie = child_branch
34
34
35
- return tr
35
+ return trie
36
36
37
37
38
38
def _is_trie_bucket (bucket ):
@@ -51,40 +51,40 @@ def _get_bucket_key(bucket):
51
51
# HAS_KEY #
52
52
53
53
54
- def has_key (k , tr ):
55
- return _retrive_branch (k , tr ) is not None
54
+ def has_key (k , trie ):
55
+ return _retrive_branch (k , trie ) is not None
56
56
57
57
# RETRIE_VAL
58
58
59
59
60
- def retrie_val (k , tr ):
61
- key_tuple = _retrive_branch (k , tr )
60
+ def retrie_val (k , trie ):
61
+ key_tuple = _retrive_branch (k , trie )
62
62
if not key_tuple :
63
63
return None
64
64
65
65
return key_tuple [1 ]
66
66
67
67
68
- def insert_key (key , v , trie_list ):
69
- if not key or has_key (key , trie_list ):
68
+ def insert_key (key , v , trie ):
69
+ if not key or has_key (key , trie ):
70
70
return
71
71
72
- tr = trie_list
73
72
for char in key :
74
- branch = _get_child_branch (tr , char )
73
+ branch = _get_child_branch (trie , char )
75
74
if not branch :
76
75
new_branch = [char ]
77
- tr .append (new_branch )
78
- tr = new_branch
76
+ trie .append (new_branch )
77
+ trie = new_branch
79
78
else :
80
- tr = branch
81
- tr .append ((key , v ))
79
+ trie = branch
80
+ trie .append ((key , v ))
82
81
83
82
84
83
def start_with_prefix (prefix , trie ):
85
84
branch = _retrive_branch (prefix , trie )
86
85
if not branch :
87
86
return []
87
+
88
88
prefix_list = []
89
89
q = branch [1 :]
90
90
while q :
0 commit comments