I am ready to answer your question, but not here it's a Django User's
Group. The question you are asking is about implementation of an algorithm
which is language agnostic. Technically, it shouldn't be asked in the
Python Mailing list too.

Keep a watch on your inbox though. :)

Thanks,
onlinejudge95

On Sat, Feb 8, 2020, 3:06 PM Soumen Khatua <[email protected]>
wrote:

> from collections import defaultdict
>
>
> class TrieNode():
>
> def __init__(self):
> self.children = defaultdict()
> self.terminating = False
>
>
> class Trie():
>
> def __init__(self):
> self.root = self.get_node()
>
> def get_node(self):
> return TrieNode()
>
> def get_index(self, ch):
> return ord(ch) - ord('a')
>
> def insert(self, word):
>
> root = self.root
> len1 = len(word)
>
> for i in range(len1):
> index = self.get_index(word[i])
>
> if index not in root.children:
> root.children[index] = self.get_node()
> root = root.children.get(index)
>
> root.terminating = True
>
> def search(self, word):
> root = self.root
> len1 = len(word)
>
> for i in range(len1):
> index = self.get_index(word[i])
> if not root:
> return False
> root = root.children.get(index)
>
> return True if root and root.terminating else False
>
> def delete(self, word):
>
> root = self.root
> len1 = len(word)
>
> for i in range(len1):
> index = self.get_index(word[i])
>
> if not root:
> print ("Word not found")
> return -1
> root = root.children.get(index)
>
> if not root:
> print ("Word not found")
> return -1
> else:
> root.terminating = False
> return 0
>
> def update(self, old_word, new_word):
> val = self.delete(old_word)
> if val == 0:
> self.insert(new_word)
>
>
>
> if __name__ == "__main__":
>
> strings = ["pqrs", "pprt", "psst", "qqrs", "pqrs"]
>
> t = Trie()
> for word in strings:
> t.insert(word)
>
>
> Could anyone tell me,How Inset function is working here? actually I'm not
> able to track it. Specially if index is alerady available in root.children
> then how it is creating an another TrieNode object.
>
> Thank you in advance
>
> --
> You received this message because you are subscribed to the Google Groups
> "Django users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/django-users/CAPUw6WbzxcxyzwKynS9vnZe5cwem2bT8bjLZS%2BO9C%2BfyV6V6MA%40mail.gmail.com
> <https://groups.google.com/d/msgid/django-users/CAPUw6WbzxcxyzwKynS9vnZe5cwem2bT8bjLZS%2BO9C%2BfyV6V6MA%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/CAD%3DM5eTHoFBbwPiMphieWSB8pemHM0Tzs_r1CjfjdPVB0NWCaw%40mail.gmail.com.

Reply via email to