3.8.8 · HinglishString Algorithms

Suffix tree (conceptual)

1,616 words7 min readRead in English

3.8.8 · Coding › String Algorithms


YEH cheez EXIST kyun karti hai?

Lo banana. Iske suffixes hain:

start index suffix
0 banana
1 anana
2 nana
3 ana
4 na
5 a

Inki trie mein ek root-to-leaf path hota hai har suffix ke liye. Problem yeh hai: isme nodes aa sakte hain. Isko hum compression se fix karte hain.


Suffix tree EXACTLY kya hoti hai?

Figure — Suffix tree (conceptual)

Idea KAISE build karte hain (trie se derivation)


Isse KYA kar sakte hain (80/20 payoff)



Recall Feynman: 12-saal ke bachche ko samjhao

Soch ke ek lambi word likhte ho aur tum chahte ho uske andar chhupi har chhoti piece ka ek magic map. Tum us word ko lete ho aur baar baar aage ka ek letter kaatte jaate ho — banana, anana, nana, … — aur in saari tails ko ek aisi tree mein daal do jahan same se shuru hone wale words ek hi branch share karein. Ab agar koi dost puchhe "kya nan isme hai?", tum bas walk karo: n → a → n, aur agar path complete ho jaata hai, toh haan woh andar hai! Neeche kitne leaf-tags latak rahe hain ginne se pata chalta hai woh kitni baar aata hai. $ end mein ek chhoti si flag hai jo ensure karti hai har tail ko apna leaf mile, taaki koi cheez doosre ke andar na chhup jaaye.


Active Recall

A suffix tree is a compressed trie of what?
String S\$$ ke saare suffixes ka. Why append a unique terminal `? ::: Taaki koi suffix doosre ka prefix na ho; har suffix phir apne leaf par khatam hota hai, exactly $n+1$ leaves guaranteed hoti hain. How many leaves does a suffix tree of $S\$ have? ::: Exactly $n+1$ (ek har suffix ke liye, O(n)O(n^2)S(i,j)O(n)O(n)PO(\lvert P\rvert)PPSSS$ ke kisi suffix ka prefix — isliye suffixes ki tree substring queries answer karti hai.

Connections

  • Trie — suffix tree ka uncompressed ancestor.
  • Suffix Array — same info, kam memory; practice mein aksar prefer kiya jaata hai.
  • Ukkonen's Algorithm — linear-time online construction.
  • KMP Algorithm — alternative single-pattern matcher, .
  • Longest Common Substring — do strings ki generalized suffix tree se solve hota hai.
  • Burrows-Wheeler Transform — compression mein use hone wala related suffix-structure.

Concept Map

is prefix of

inserted into

has O of n squared nodes

produces

forces each suffix to a leaf

has n plus 1 leaves

keeps space linear

enables

bounds internal nodes

Substring of S

Suffix of S

Trie of all suffixes

Suffix tree

Terminal symbol dollar

Compress single-child chains

Edge labels as start end index pairs

Total nodes O of n

Search P in O of length P