Index
AVL āĻā§āϰāĻŋ āĻāϰ āĻĒāϰāĻŋāĻāĻŋāϤāĻŋ āĻ āĻā§āϰā§āϤā§āĻŦāĻĒā§āϰā§āĻŖ āĻŦāĻŋāώā§āϏāĻŽā§āĻš:
ā§§. āĻŦāĻžāĻāύāĻžāϰāĻŋ āĻā§āϰāĻŋ (Binary Tree) āĻāĻŦāĻ āĻāϰ āϏāĻŽāϏā§āϝāĻž:
- āĻŦāĻžāĻāύāĻžāϰāĻŋ āĻā§āϰāĻŋāϰ āĻā§āώā§āϤā§āϰ⧠āĻĒā§āϰāϤāĻŋāĻāĻŋ āύā§āĻĄā§āϰ (Node) āϏāϰā§āĻŦā§āĻā§āĻ āĻĻā§āĻāĻŋ āĻāĻžāĻāϞā§āĻĄ āĻŦāĻž āϏāύā§āϤāĻžāύ āĻĨāĻžāĻāϤ⧠āĻĒāĻžāϰ⧠(ā§Ļ, ā§§ āĻŦāĻž ⧍)āĨ¤
- āĻāϤ⧠āĻĄā§āĻāĻž āĻāύāϏāĻžāϰā§āĻ āĻŦāĻž āĻĒā§āϰāĻŦā§āĻļ āĻāϰāĻžāύā§āϰ āĻā§āύ⧠āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āύāĻŋā§āĻŽ āĻŦāĻž āĻā§āϰāĻŽ āĻĨāĻžāĻā§ āύāĻžāĨ¤ āϝā§āĻā§āύā§āĻāĻžāĻŦā§āĻ āĻĄā§āĻāĻž āϰāĻžāĻāĻž āϝāĻžā§āĨ¤
- āϤāĻŦā§ āĻā§āύ⧠āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āύāĻŋā§āĻŽ āύāĻž āĻĨāĻžāĻāĻžā§ āĻĄā§āĻāĻž āϏāĻžāϰā§āĻ (āĻ āύā§āϏāύā§āϧāĻžāύ) āĻāϰāĻžāϰ āϏāĻŽā§ āϏāĻŽāϏā§āϝāĻž āϤā§āϰāĻŋ āĻšā§āĨ¤ āϝā§āĻŽāύ āĻāĻāĻāĻŋ āĻā§āϞāĻžāϏ⧠āĻļāĻŋāĻā§āώāĻžāϰā§āĻĨā§āϰāĻž āϝāĻĻāĻŋ āĻā§āύ⧠āύāĻŋā§āĻŽ āύāĻž āĻŽā§āύ⧠āĻāϞā§āĻŽā§āϞā§āĻāĻžāĻŦā§ āĻŦāϏā§, āϤāĻŦā§ āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āĻāĻžāĻāĻā§ āĻā§āĻāĻā§ āĻĒā§āϤ⧠āĻāώā§āĻ āĻšā§āĨ¤ āĻĄā§āĻāĻž āϏā§āĻā§āϰāĻžāĻāĻāĻžāϰā§āϰ āĻŽā§āϞ āĻāĻĻā§āĻĻā§āĻļā§āϝāĻ āĻšāϞ⧠āĻĄā§āĻāĻžāĻā§ āϏāĻ āĻŋāĻāĻāĻžāĻŦā§ āϏāĻžāĻāĻžāύ⧠āϝāĻžāϤ⧠āϏāĻšāĻā§ āĻ āύā§āϏāύā§āϧāĻžāύ, āĻāύāϏāĻžāϰā§āĻ āĻŦāĻž āĻĄāĻŋāϞāĻŋāĻ āĻāϰāĻž āϝāĻžā§āĨ¤
⧍. āĻŦāĻžāĻāύāĻžāϰāĻŋ āϏāĻžāϰā§āĻ āĻā§āϰāĻŋ (Binary Search Tree - BST):
- āĻŦāĻžāĻāύāĻžāϰāĻŋ āĻā§āϰāĻŋāϰ āϏāĻŽāϏā§āϝāĻž āϏāĻŽāĻžāϧāĻžāύā§āϰ āĻāύā§āϝ āĻŦāĻžāĻāύāĻžāϰāĻŋ āϏāĻžāϰā§āĻ āĻā§āϰāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻž āĻšā§āĨ¤ āĻāϰ āύāĻŋā§āĻŽ āĻšāϞā§âāĻŽā§āϞ āĻŦāĻž āϰā§āĻ (Root) āύā§āĻĄā§āϰ āĻā§ā§ā§ āĻā§āĻ āĻāĻĒāĻžāĻĻāĻžāύāĻā§āϞ⧠āĻŦāĻžāĻŽ āĻĻāĻŋāĻā§ (Left Subtree) āĻāĻŦāĻ āĻŦā§ āĻāĻĒāĻžāĻĻāĻžāύāĻā§āϞ⧠āĻĄāĻžāύ āĻĻāĻŋāĻā§ (Right Subtree) āĻŦāϏāĻŦā§āĨ¤
- āĻāĻāĻāĻŋ āĻāĻĻāϰā§āĻļ āĻŦāĻž āĻŦā§āϝāĻžāϞā§āύā§āϏāĻĄ (Balanced) āĻŦāĻžāĻāύāĻžāϰāĻŋ āϏāĻžāϰā§āĻ āĻā§āϰāĻŋāϰ āĻšāĻžāĻāĻ āĻŦāĻž āĻāĻā§āĻāϤāĻž āĻšā§
log n(āϝā§āĻāĻžāύ⧠n āĻšāϞ⧠āύā§āĻĄā§āϰ āϏāĻāĻā§āϝāĻž)āĨ¤ āĻāĻā§āĻāϤāĻžlog nāĻšāϞ⧠āϏāĻžāϰā§āĻ, āĻāύāϏāĻžāϰā§āĻ āĻ āĻĄāĻŋāϞāĻŋāĻ āĻāϰāĻžāϰ āĻāĻāĻŋāϞāϤāĻž āĻŦāĻž āĻāĻžāĻāĻŽ āĻāĻŽāĻĒā§āϞā§āĻā§āϏāĻŋāĻāĻŋ āĻ āύā§āĻ āĻāĻŽā§ āϝāĻžā§āĨ¤
ā§Š. BST-āĻāϰ āϏāĻŽāϏā§āϝāĻž (Worst Case):
- āĻāĻŋāύā§āϤ⧠BST-āĻāϰ āĻāĻāĻāĻŋ āĻŦā§ āϏāĻŽāϏā§āϝāĻž āϰā§ā§āĻā§āĨ¤ āϝāĻĻāĻŋ āĻĄā§āĻāĻž āĻāĻāĻāĻŋ āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āĻā§āϰāĻŽāĻžāύā§āϏāĻžāϰ⧠āĻāϏ⧠(āϝā§āĻŽāύ: ā§§ā§Ļ, ⧍ā§Ļ, ā§Šā§Ļ, ā§Ēā§Ļ, ā§Ģā§Ļ), āϤāĻŦā§ āĻā§āϰāĻŋāĻāĻŋ āĻāϰ āϏāĻžāϧāĻžāϰāĻŖ āĻā§āϰāĻŋāϰ āĻŽāϤ⧠āύāĻž āĻĨā§āĻā§ āĻāĻāĻāĻŋ āϞāĻŋāĻāĻāĻĄ āϞāĻŋāϏā§āĻā§āϰ (Linked List) āĻŽāϤ⧠āĻāĻāϰāĻŖ āĻāϰā§āĨ¤
- āĻāĻāĻŋ āϝā§āĻā§āύ⧠āĻāĻāĻĻāĻŋāĻā§ āĻŦā§āĻĻā§āϧāĻŋ āĻĒā§āϤ⧠āĻĨāĻžāĻā§, āϝāĻžāĻā§ āĻŦāϞāĻž āĻšā§ āϏā§āĻāĻŋāĻāĻĄ āĻā§āϰāĻŋ (Skewed Tree)āĨ¤ āĻĄāĻžāύ āĻĻāĻŋāĻā§ āĻŦāĻžā§āϞ⧠'Right Skewed' āĻāĻŦāĻ āĻŦāĻžāĻŽ āĻĻāĻŋāĻā§ āĻŦāĻžā§āϞ⧠'Left Skewed' āĻŦāϞāĻž āĻšā§āĨ¤
- āĻāĻ āĻ
āĻŦāϏā§āĻĨāĻžā§ āĻā§āϰāĻŋāϰ āĻāĻā§āĻāϤāĻž āĻšā§ā§ āϝāĻžā§
nāĻāĻŦāĻ āϝā§āĻā§āύ⧠āĻāĻĒāĻžāĻĻāĻžāύ āϏāĻžāϰā§āĻ, āĻāύāϏāĻžāϰā§āĻ āĻŦāĻž āĻĄāĻŋāϞāĻŋāĻ āĻāϰāĻžāϰ āĻāĻžāĻāĻŽ āĻāĻŽāĻĒā§āϞā§āĻā§āϏāĻŋāĻāĻŋ āĻŦā§ā§ā§O(n)āĻšā§ā§ āϝāĻžā§, āϝāĻž āĻ āϤā§āϝāύā§āϤ āϧā§āϰāĻāϤāĻŋāϰāĨ¤
ā§Ē. AVL āĻā§āϰāĻŋ (AVL Tree) āĻā§?
- BST-āĻāϰ āĻāĻ āĻāϰā§āϏā§āĻ āĻā§āϏ (Worst Case) āĻŦāĻž āĻāϰāĻŽ āϏāĻŽāϏā§āϝāĻž āϏāĻŽāĻžāϧāĻžāύā§āϰ āĻāύā§āϝāĻ āĻŦā§āϝāĻžāϞā§āύā§āϏāĻĄ āĻŦāĻžāĻāύāĻžāϰāĻŋ āϏāĻžāϰā§āĻ āĻā§āϰāĻŋ āĻŦāĻž AVL Tree-āĻāϰ āĻā§āĻĒāϤā§āϤāĻŋāĨ¤ āϤāĻŋāύāĻāύ āϰāĻžāĻļāĻŋā§āĻžāύ āĻŦāĻŋāĻā§āĻāĻžāύ⧠āĻāĻāĻŋ āĻāĻŦāĻŋāώā§āĻāĻžāϰ āĻāϰā§āύ āĻāĻŦāĻ āϤāĻžāĻāĻĻā§āϰ āύāĻžāĻŽāĻžāύā§āϏāĻžāϰā§āĻ āĻāϰ āύāĻžāĻŽāĻāϰāĻŖ āĻāϰāĻž āĻšā§ā§āĻā§āĨ¤
- āϏāĻŽā§āĻĒāϰā§āĻ: āϏāĻāϞ AVL āĻā§āϰāĻŋāĻ āĻšāϞ⧠āĻŦāĻžāĻāύāĻžāϰāĻŋ āϏāĻžāϰā§āĻ āĻā§āϰāĻŋ (BST), āĻāĻŦāĻ āϏāĻāϞ BST āĻšāϞ⧠āĻŦāĻžāĻāύāĻžāϰāĻŋ āĻā§āϰāĻŋāĨ¤ āĻāĻŋāύā§āϤ⧠āĻāϰ āĻāϞā§āĻā§āĻāĻž āϏāĻŦāϏāĻŽā§ āϏāϤā§āϝ āύā§āĨ¤
ā§Ģ. āĻŦā§āϝāĻžāϞā§āύā§āϏ āĻĢā§āϝāĻžāĻā§āĻāϰ (Balance Factor - BF):
- āĻāĻāĻāĻŋ āĻŦāĻžāĻāύāĻžāϰāĻŋ āϏāĻžāϰā§āĻ āĻā§āϰāĻŋ āϤāĻāύāĻ AVL āĻā§āϰāĻŋ āĻšāĻŦā§ āϝāĻāύ āĻāϰ āĻĒā§āϰāϤāĻŋāĻāĻŋ āύā§āĻĄ āĻŦā§āϝāĻžāϞā§āύā§āϏāĻĄ āĻĨāĻžāĻāĻŦā§āĨ¤ āĻāϰ āĻāĻāĻŋ āĻĒāϰāĻŋāĻŽāĻžāĻĒ āĻāϰāĻž āĻšā§ āĻŦā§āϝāĻžāϞā§āύā§āϏ āĻĢā§āϝāĻžāĻā§āĻāϰā§āϰ āĻŽāĻžāϧā§āϝāĻŽā§āĨ¤
- āϏā§āϤā§āϰ: āĻŦā§āϝāĻžāϞā§āύā§āϏ āĻĢā§āϝāĻžāĻā§āĻāϰ (BF) = āĻŦāĻžāĻŽ āϏāĻžāĻŦ-āĻā§āϰāĻŋāϰ āĻāĻā§āĻāϤāĻž (Height of Left Subtree) - āĻĄāĻžāύ āϏāĻžāĻŦ-āĻā§āϰāĻŋāϰ āĻāĻā§āĻāϤāĻž (Height of Right Subtree)āĨ¤
- āĻļāϰā§āϤ: āĻāĻāĻāĻŋ āĻā§āϰāĻŋāϰ āĻĒā§āϰāϤāĻŋāĻāĻŋ āύā§āĻĄā§āϰ āĻŦā§āϝāĻžāϞā§āύā§āϏ āĻĢā§āϝāĻžāĻā§āĻāϰā§āϰ āĻŽāĻžāύ āĻ āĻŦāĻļā§āϝāĻ -ā§§, ā§Ļ, āĻ āĻĨāĻŦāĻž +ā§§ āĻšāϤ⧠āĻšāĻŦā§āĨ¤ āϝāĻĻāĻŋ āĻāĻ āϤāĻŋāύāĻāĻŋ āĻŽāĻžāύā§āϰ āĻŦāĻžāĻāϰ⧠āĻ āύā§āϝ āĻāĻŋāĻā§ (āϝā§āĻŽāύ: -⧍, ⧍ āĻāϤā§āϝāĻžāĻĻāĻŋ) āĻāϏā§, āϤāĻŦā§ āĻā§āϰāĻŋāĻāĻŋ āĻāύāĻŦā§āϝāĻžāϞā§āύā§āϏāĻĄ āĻŦāĻž āĻāĻžāϰāϏāĻžāĻŽā§āϝāĻšā§āύ āĻšā§ā§ āĻĒā§āĻŦā§āĨ¤
ā§Ŧ. AVL āĻā§āϰāĻŋāϰ āϏā§āĻŦāĻŋāϧāĻž āĻ āĻāĻžāϰā§āϝāĻāĻžāϰāĻŋāϤāĻž:
- āϝāĻĻāĻŋ āĻā§āύ⧠āĻā§āϰāĻŋāϰ āĻĒā§āϰāϤāĻŋāĻāĻŋ āύā§āĻĄā§āϰ āĻŦā§āϝāĻžāϞā§āύā§āϏ āĻĢā§āϝāĻžāĻā§āĻāϰ āĻļāϰā§āϤ āĻŽā§āύ⧠āĻāϞā§, āϤāĻŦā§ āĻā§āϰāĻŋāϰ āϏāϰā§āĻŦā§āĻā§āĻ āĻāĻā§āĻāϤāĻž
log nāĻāϰ āĻŽāϧā§āϝ⧠āϏā§āĻŽāĻžāĻŦāĻĻā§āϧ āĻĨāĻžāĻā§āĨ¤ - āĻāϰ āĻĢāϞ⧠āϏāĻžāϰā§āĻ, āĻāύāϏāĻžāϰā§āĻ āĻāĻŦāĻ āĻĄāĻŋāϞāĻŋāĻâāϏāĻŦ āϧāϰāύā§āϰ āĻ
āĻĒāĻžāϰā§āĻļāύā§āϰ āĻāĻžāĻāĻŽ āĻāĻŽāĻĒā§āϞā§āĻā§āϏāĻŋāĻāĻŋ āϏāĻŦāϏāĻŽā§
O(log n)āĻĨāĻžāĻā§āĨ¤ - āϝāĻĻāĻŋ āĻā§āύ⧠āĻāĻžāϰāĻŖā§ āĻŦā§āϝāĻžāϞā§āύā§āϏ āĻĢā§āϝāĻžāĻā§āĻāϰ āύāĻŋā§āĻŽ āϞāĻā§āĻāύ āĻāϰā§, āϤāĻŦā§ āĻŦāĻŋāĻāĻŋāύā§āύ āϰā§āĻā§āĻļāύ (Rotation) āĻŦāĻž āĻā§āĻļāϞā§āϰ āĻŽāĻžāϧā§āϝāĻŽā§ āϏā§āĻāĻŋāĻā§ āĻĒā§āύāϰāĻžā§ AVL āĻā§āϰāĻŋāϤ⧠āϰā§āĻĒāĻžāύā§āϤāϰ āĻāϰāϤ⧠āĻšā§ (āϝāĻž āĻĒāϰāĻŦāϰā§āϤ⧠āĻāĻŋāĻĄāĻŋāĻāϤ⧠āĻāϞā§āĻāύāĻž āĻāϰāĻž āĻšāĻŦā§)āĨ¤