Insertion sort in Python | Bangla Documentation

Insertion Sort āφāϞāĻ—োāϰিāĻĻāĻŽ

Insertion Sort: āĻāĻ•āϟি āϏāĻšāϜ āĻāĻŦং āĻ•াāϰ্āϝāĻ•āϰী āϏāϰ্āϟিং āĻ…্āϝাāϞāĻ—োāϰিāĻĻāĻŽ

Sorting āĻŦা āϏāϰ্āϟিং āĻĒ্āϰāĻ•্āϰিāϝ়া āĻĒ্āϰোāĻ—্āϰাāĻŽিংāϝ়ে āĻāĻ•āϟি āϏাāϧাāϰāĻŖ āϏāĻŽāϏ্āϝা। āφāĻŽāϰা āĻ…āύেāĻ• āϏāĻŽāϝ় āĻĄেāϟা āϏাāϜাāύোāϰ āĻĒ্āϰāϝ়োāϜāύ āĻĒāĻĄ়ে āϝাāϤে āφāĻŽāϰা āϏāĻšāϜে āĻĒ্āϰāϝ়োāϜāύীāϝ় āϤāĻĨ্āϝ āĻĒেāϤে āĻĒাāϰি। āĻāϰāĻ•āĻŽ āĻāĻ•āϟি āϏāĻšāϜ āϏāϰ্āϟিং āĻ…্āϝাāϞāĻ—োāϰিāĻĻāĻŽ āĻšāϞ Insertion Sort। āĻāϟি āύāϤুāύ āχāϞিāĻŽেāύ্āϟāĻ—ুāϞোāĻ•ে āϏāĻ িāĻ• āĻ…āĻŦāϏ্āĻĨাāύে āϰেāĻ–ে āφāĻ—েāϰ āĻĄেāϟাāĻ—ুāϞো āϏāϰ্āϟ āĻ•āϰে āϰাāĻ–ে।

Insertion Sort āĻ•িāĻ­াāĻŦে āĻ•াāϜ āĻ•āϰে?

āĻāχ āĻ…্āϝাāϞāĻ—োāϰিāĻĻāĻŽāϟি āĻāĻ•āϟি āχāύāĻĒুāϟ āϞিāϏ্āϟāĻ•ে āϧাāĻĒে āϧাāĻĒে āϏাāϜাāϝ়। āĻĒ্āϰāϤিāϟি āϧাāĻĒে, āϞিāϏ্āϟেāϰ āĻāĻ•āϟি āχāϞিāĻŽেāύ্āϟ āϤুāϞে āύেāĻ“āϝ়া āĻšāϝ় āĻāĻŦং āϏেāϟিāĻ•ে āϤাāϰ āϏāĻ িāĻ• āϏ্āĻĨাāύে āϰাāĻ–াāϰ āϜāύ্āϝ āφāĻ—েāϰ āχāϞিāĻŽেāύ্āϟāĻ—ুāϞোāϰ āϏাāĻĨে āϤুāϞāύা āĻ•āϰা āĻšāϝ়। āĻāĻ­াāĻŦে āύāϤুāύ āχāϞিāĻŽেāύ্āϟ āϏāĻ িāĻ• āϏ্āĻĨাāύে āĻŦāϏে āĻāĻŦং āφāĻ—েāϰ āχāϞিāĻŽেāύ্āϟāĻ—ুāϞোāĻ•ে āĻĄাāύ āĻĻিāĻ•ে āϏāϰিāϝ়ে āĻĻেāϝ়।

Python āĻ•োāĻĄ āωāĻĻাāĻšāϰāĻŖ


def insertion_sort(arr):
    for i in range(1, len(arr)):
        key = arr[i]
        j = i - 1
        while j >= 0 and arr[j] > key:
            arr[j + 1] = arr[j]
            j -= 1
        arr[j + 1] = key

arr = [3, 8, 7, 5, 9, 4]
insertion_sort(arr)
print(arr)

    

āĻ•োāĻĄেāϰ āĻŦ্āϝাāĻ–্āϝা

āωāĻĒāϰেāϰ āĻ•োāĻĄāϟি āĻāĻ•āϟি insertion_sort āĻĢাংāĻļāύ āϤৈāϰি āĻ•āϰে āϝা āĻāĻ•āϟি āϞিāϏ্āϟāĻ•ে āϏাāϜিāϝ়ে āĻĻেāϝ়। āύিāϚে āĻ•োāĻĄāϟিāϰ āϧাāĻĒে āϧাāĻĒে āĻŦ্āϝাāĻ–্āϝা āĻĻেāĻ“āϝ়া āĻšāϞো:

  • Line 1: āφāĻŽāϰা āĻāĻ•āϟি insertion_sort āύাāĻŽে āĻĢাংāĻļāύ āĻĄিāĻĢাāχāύ āĻ•āϰেāĻ›ি āϝা arr āύাāĻŽে āĻāĻ•āϟি āϞিāϏ্āϟ āχāύāĻĒুāϟ āĻšিāϏেāĻŦে āĻ—্āϰāĻšāĻŖ āĻ•āϰে।
  • Line 2: āĻāĻ•āϟি āϞুāĻĒ āϚাāϞাāύো āĻšāϝ়েāĻ›ে āϝা ā§§ āĻĨেāĻ•ে āĻļুāϰু āĻ•āϰে āϞিāϏ্āϟেāϰ āĻļেāώ āĻĒāϰ্āϝāύ্āϤ āϚāϞে। āĻāϟি key āύাāĻŽে āĻāĻ•āϟি āĻ­েāϰিāϝ়েāĻŦāϞ āϧāϰে āϰাāĻ–ে āϝা āĻŦāϰ্āϤāĻŽাāύ āχāϞিāĻŽেāύ্āϟāϟি āϧāϰা āĻšāϝ়।
  • Line 3: j āύাāĻŽāĻ• āĻ­েāϰিāϝ়েāĻŦāϞāϟি i - 1 āĻŽাāύে, āĻ…āϰ্āĻĨাā§Ž āφāĻ—েāϰ āχāύ্āĻĄেāĻ•্āϏ āϧāϰে āϰাāĻ–ে।
  • Line 4: āĻāĻ•āϟি while āϞুāĻĒ āϚāϞāĻ›ে āϝāϤāĻ•্āώāĻŖ āĻĒāϰ্āϝāύ্āϤ j āĻļূāύ্āϝ āĻŦা āĻŦāĻĄ় āĻāĻŦং arr[j] āĻāϰ āĻŽাāύ key āĻāϰ āϚেāϝ়ে āĻŦেāĻļি।
  • Line 5: arr[j + 1] āĻ arr[j] āĻāϰ āĻŽাāύ āϰাāĻ–া āĻšāϚ্āĻ›ে, āĻ…āϰ্āĻĨাā§Ž āĻŦāĻĄ় āĻŽাāύāĻ—ুāϞো āĻĄাāύ āĻĻিāĻ•ে āϏāϰাāύো āĻšāϚ্āĻ›ে।
  • Line 6: j āĻāϰ āĻŽাāύ āĻāĻ• āĻ•āĻŽিāϝ়ে āĻĒূāϰ্āĻŦেāϰ āχāϞিāĻŽেāύ্āϟে āϝাāϚ্āĻ›ি।
  • Line 7: āϏāĻ িāĻ• āϏ্āĻĨাāύে key āĻŦāϏাāύো āĻšāϚ্āĻ›ে।

āĻ•াāϜেāϰ āωāĻĻাāĻšāϰāĻŖ

āϧāϰুāύ, āφāĻŽাāĻĻেāϰ āχāύāĻĒুāϟ āϞিāϏ্āϟāϟি āĻ›িāϞ [3, 8, 7, 5, 9, 4]। āύিāϚে āĻĒ্āϰāϤিāϟি āϧাāĻĒে āϞিāϏ্āϟেāϰ āĻĒāϰিāĻŦāϰ্āϤāύ āĻĻেāĻ–াāύো āĻšāϝ়েāĻ›ে:

  1. āĻĒ্āϰāĻĨāĻŽ āϧাāĻĒে i = 1, key = 8। āϝেāĻšেāϤু 3 āĻ›োāϟ 8 āĻāϰ āϚেāϝ়ে, āϤাāχ āĻ•োāύ āĻĒāϰিāĻŦāϰ্āϤāύ āĻšāϝ় āύা।
  2. āĻĻ্āĻŦিāϤীāϝ় āϧাāĻĒে i = 2, key = 78 > 7, āϤাāχ 8 āĻ•ে āĻĄাāύ āĻĻিāĻ•ে āϏāϰিāϝ়ে 7 āϤাāϰ āϏāĻ িāĻ• āϏ্āĻĨাāύে āĻŦāϏাāύো āĻšāϝ়।
  3. āϤৃāϤীāϝ় āϧাāĻĒে i = 3, key = 58, 7 āĻāĻŦং 5 āĻāϰ āϤুāϞāύাāϝ় āĻŦāĻĄ়, āϤাāχ āĻāĻ—ুāϞো āĻĄাāύ āĻĻিāĻ•ে āϏāϰে āϝাāϝ় āĻāĻŦং 5 āϏāĻ িāĻ• āϏ্āĻĨাāύে āĻŦāϏে।
  4. āϚāϤুāϰ্āĻĨ āϧাāĻĒে i = 4, key = 9। āϝেāĻšেāϤু āφāĻ—েāϰ āχāϞিāĻŽেāύ্āϟāĻ—ুāϞো 9 āĻāϰ āϚেāϝ়ে āĻ›োāϟ, āϤাāχ āĻ•োāύ āĻĒāϰিāĻŦāϰ্āϤāύ āĻšāϝ় āύা।
  5. āĻĒāĻž্āϚāĻŽ āϧাāĻĒে i = 5, key = 49, 8, 7, 5 āĻāĻ—ুāϞো 4 āĻāϰ āϚেāϝ়ে āĻŦāĻĄ়, āϤাāχ āϏেāĻ—ুāϞো āĻĄাāύ āĻĻিāĻ•ে āϏāϰিāϝ়ে 4 āϏāĻ িāĻ• āϏ্āĻĨাāύে āĻŦāϏাāύো āĻšāϝ়।

āϚূāĻĄ়াāύ্āϤ āφāωāϟāĻĒুāϟ

āĻļেāώে āĻĒ্āϰিāύ্āϟ āĻ•āϰāϞে āφāĻŽāϰা āĻĒাāχ: [3, 4, 5, 7, 8, 9]

āωāĻĒāϏংāĻšাāϰ

Insertion Sort āĻ…্āϝাāϞāĻ—োāϰিāĻĻāĻŽāϟি āϏāĻšāϜেāχ āĻŦোāĻা āϝাāϝ় āĻāĻŦং āĻ›োāϟ āφāĻ•াāϰেāϰ āĻĄেāϟা āĻŦা āϞিāϏ্āϟ āϏāϰ্āϟ āĻ•āϰাāϰ āϜāύ্āϝ āĻŦেāĻļ āωāĻĒāϝোāĻ—ী। āĻāϟি āĻāĻ•āϟি O(n^2) āĻ•āĻŽāĻĒ্āϞেāĻ•্āϏিāϟি āϏāĻŽ্āĻĒāύ্āύ āĻ…্āϝাāϞāĻ—োāϰিāĻĻāĻŽ, āĻ…āϰ্āĻĨাā§Ž āĻŦāĻĄ় āϞিāϏ্āϟেāϰ āĻ•্āώেāϤ্āϰে āĻāϟি āĻāĻ•āϟু āϧীāϰāĻ—āϤিāϰ āĻšāϤে āĻĒাāϰে। āϤāĻŦে āĻāϟি āĻļেāĻ–াāϰ āϜāύ্āϝ āĻāĻŦং āϏāϰ্āϟিং āĻ…্āϝাāϞāĻ—োāϰিāĻĻāĻŽāĻ—ুāϞোāϰ āĻ­িāϤ্āϤি āĻŦুāĻāϤে āϏাāĻšাāϝ্āϝ āĻ•āϰে।

āϤুāĻŽি āϝāĻĻি āφāϰāĻ“ āωāύ্āύāϤ āϏāϰ্āϟিং āĻ…্āϝাāϞāĻ—োāϰিāĻĻāĻŽ āĻļিāĻ–āϤে āϚাāĻ“, āϤāĻŦে Khan Academy āĻāϰ āĻ•āύ্āϟেāύ্āϟ āĻĻেāĻ–āϤে āĻĒাāϰো। Happy coding!

About the author

MD Zakaria Hossen
Hi! I am Zakaria. I am the founder of Kochu Programmer. I want to spread tech knowledge to everyone.

Post a Comment