3.8.8 · D1 · HinglishString Algorithms

FoundationsSuffix tree (conceptual)

2,271 words10 min read↑ Read in English

3.8.8 · D1 · Coding › String Algorithms › Suffix tree (conceptual)

Yeh page assume karta hai ki aapne kuch nahi dekha. Hum har symbol introduce karte hain, uski picture draw karte hain, aur batate hain ki topic uske bina kyun nahi chal sakta. Upar se neeche padho — har item pichle wale pe lean karta hai.


1. "String" kya hoti hai?

Example: banana.

Figure — Suffix tree (conceptual)

Topic ko yeh kyun chahiye: poora suffix tree isi ek row ke pieces se bana hai. Agar ko ek addressed row of boxes ki tarah picture nahi kar sakte, toh baad mein kuch bhi samajh nahi aayega.


2. Index — ek character ka address

Hum likhte hain matlab "woh single character jo address pe baitha hai." Upar ki figure mein, a.


3. Substring — ek contiguous chunk

Figure — Suffix tree (conceptual)

Topic ko yeh kyun chahiye: suffix tree ka poora purpose substrings ke baare mein questions ka jawab dena hai ("kya nan aata hai?"). Yeh woh object hai jo hum dhundhte hain.


4. Prefix — ek chunk jo front se start hota hai

Topic ko yeh kyun chahiye: parent ka key claim — "ek substring kisi suffix ka ek prefix hai" — yeh word use karta hai. Hum suffix aage define karte hain, phir dono ideas ko jodenge.


5. Suffix — ek chunk jo peeche end hota hai (show ka star)

banana ke liye, suffixes yeh "tails" hain:

start index suffix
0 banana
1 anana
2 nana
3 ana
4 na
5 a
Figure — Suffix tree (conceptual)

Topic ko yeh kyun chahiye: suffix tree literally in sab tails ka tree hai. Exactly hain (ek per start index), toh length- word ke suffixes hote hain.


6. Bridge: substring = prefix of a suffix

Topic ko yeh kyun chahiye: isliye suffixes ka ek tree substring questions ka jawab de sakta hai. Agar tum sab tails store karo aur unke front-parts walk kar sako, toh koi bhi chunk dhundh sakte ho. Parent note jo kuch bhi karta hai sab is line pe tika hai.


7. Alphabet aur terminal symbol $

Topic ko yeh kyun chahiye: yeh guarantee karta hai "exactly leaves, ek per suffix" — ek fact jo parent size proof ke liye use karta hai.


8. Tree words: root, node, edge, leaf, path

Figure — Suffix tree (conceptual)

Topic ko yeh kyun chahiye: "ek path ek substring hai" poori structure ka punchline hai. Tree ek machine hai jahan neeche walk karna = ek substring spell karna.


9. Edge labels as index pairs

Topic ko yeh kyun chahiye: yeh trick hi poori wajah hai ki suffix tree memory mein fit ho jaata hai.


10. Big-O notation — growth-rate ruler

Topic ko yeh kyun chahiye: parent mein har payoff ("build ", "search ") is language mein stated hai. Yahan ka matlab hai "pattern ki length" — bars "length of" padte hain.


Prerequisite map

String S as a row of boxes

Index i counting from 0

Length n

Substring S i to j

Prefix front part

Suffix tail part

Bridge substring is prefix of a suffix

Terminal symbol dollar

Tree words root node edge leaf path

Edge label as index pair i j

Big O growth ruler

Suffix tree

Isko aise padho: rows of boxes indices aur length deti hain; indices substrings kaatti hain; substrings prefixes aur suffixes mein specialise hoti hain; bridge unhe fuse karta hai; aur tree machinery plus growth ruler milkar finished suffix tree banate hain.


Equipment checklist

Right side cover karo aur reveal karne se pehle zor se jawab do.

banana mein, kaun sa character hai?
a (0-based: b=0, a=1, n=2, a=3).
banana ki (length) kya hai?
; valid indices se tak jaate hain.
Kya bnn banana ki substring hai?
Nahi — yeh boxes skip karta hai, toh yeh subsequence hai, contiguous substring nahi.
banana ki substring likho.
nan.
Length- word ke kitne suffixes hote hain?
Exactly (ek per start index ).
Bridge complete karo: ek substring kisi ____ ki ____ hoti hai.
kisi suffix ki prefix.
End mein $ kyun chipkate hain?
Taaki koi bhi tail doosri tail ka front na ho; phir har suffix apni private leaf pe khatam hoti hai.
Edge label ka kya matlab hai?
Substring — hum letters copy karne ki jagah unhe point karte hain.
Tree space mein kyun fit hota hai, mein nahi?
Edges har ek mein do integers store karti hain, copied text nahi; edges 2 ints .
search cost ke baare mein kya bataata hai?
Yeh sirf pattern ki length pe depend karta hai, text ke size pe nahi.
Ek node se, kya do edges same character se start ho sakti hain?
Nahi — alag starting characters downward walk ko unambiguous banate hain.

Connections

  • Suffix tree (conceptual) (index 3.8.8) — woh parent jiske liye yeh page tume tayaar karta hai.
  • Trie — woh uncompressed tree jo yeh symbols pehle banate hain.
  • Suffix Array — wohi suffix information ek sorted list ke roop mein stored.
  • Ukkonen's Algorithm — tree actually construct karne ka linear-time tarika.
  • KMP Algorithm — ek aur matcher jo prefixes aur suffixes ki bhi parwah karta hai.
  • Longest Common Substring — in foundations pe bana ek payoff.
  • Burrows-Wheeler Transform — same suffixes use karne wala ek cousin structure.