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 āĻŸā§āϰāĻŋāϤ⧇ āϰ⧂āĻĒāĻžāĻ¨ā§āϤāϰ āĻ•āϰāϤ⧇ āĻšā§Ÿ (āϝāĻž āĻĒāϰāĻŦāĻ°ā§āϤ⧀ āĻ­āĻŋāĻĄāĻŋāĻ“āϤ⧇ āφāϞ⧋āϚāύāĻž āĻ•āϰāĻž āĻšāĻŦ⧇)āĨ¤