Disk humhe kya free mein deta hai. Disks (aur SSDs) ek byte nahi padhte; woh ek poora block / page padhte hain (jaise 4 KB ya 16 KB) ek hi I/O mein. Ek hi block se 1 key ya 200 keys padhne ka cost same hota hai — sirf ek read.
Node size kaise choose karte hain. Keys ki sankhya itni raho ki ek node = ek disk block. Disk block size hi tree ka branching factor dictate karti hai.
Recall Feynman: ek 12-saal ke bacche ko explain karo
Socho tumhari books ek badi warehouse mein hain aur har baar jab tum ek shelf fetch karte ho toh ek lamba walk lagta hai. Tum 30 baar walk nahi karna chahte. Toh ek shelf-card pe ek book rakhne ki jagah, tum ek poori row of book titles ek card pe rakhte ho. Ab ek walk tumhe saikdon books ke baare mein bata deta hai, aur tum sirf 3–4 baar walk karte ho ek billion mein se koi bhi book dhundhne ke liye. Woh mota, chota cards ka directory hi B-tree hai. B+ tree same hai, lekin woh saari real books sirf niche wali shelves pe rakhta hai, aur un niche wali shelves ko ek rope se baandhta hai taaki tum bina upar wapas gaye ek range of books ek baar mein le sako.
B-trees kya optimize karte hain — comparisons ya disk accesses?
Disk/block accesses (random reads HDD pe ms cost karti hain, SSD pe ~0.1 ms, dono ≫ RAM); CPU comparisons almost free hain.
Node size disk block size ke barabar kyun hoti hai?
Ek disk read same cost pe ek poora block fetch karta hai, toh fanout maximize karne aur reads minimize karne ke liye har node mein ek full block of keys pack karo.
Min degree t (non-root) ke B-tree node mein max aur min keys ki sankhya?
Max 2t−1, min t−1.
k keys wale B-tree node mein kitne children hote hain?
k+1.
N keys aur min degree t wale B-tree ki height bound?
h≤logt2N+1.
Kaun sa node minimum-keys rule se exempt hai?
Root (usme sirf 1 key bhi ho sakti hai).
Key structural difference: B-tree vs B+ tree mein data kahan rehta hai?
Saare B-tree leaves same depth pe kyun hone chahiye?
B-trees root ko upar split karke badhte hain, kisi ek branch ko extend nahi karte, toh tree perfectly balanced rehta hai — worst case logtN guarantee hoti hai.
B+ tree mein kya search ek internal node pe key match hone par ruk sakti hai?
Nahi — internal keys exact separators hain lekin koi record nahi rakhte; actual data padhne ke liye leaf tak descend karna zaroori hai.
Nodes ko "at least half full" force karna kyun important hai?
Yeh branching factor high rakhta hai taaki height logtN rahe; merges/splits is invariant ko enforce karte hain.