শেল সাজানোর অ্যালগরিদমের একটি ভূমিকা

শেল সাজানোর অ্যালগরিদমের একটি ভূমিকা

শেল বাছাই একটি সাজানোর কৌশল যা প্রদত্ত তালিকাকে সাবলিস্টে বিভক্ত করে এবং তারপর সন্নিবেশ সাজানোর মাধ্যমে সেগুলিকে বাছাই করে। অ্যালগরিদম একটি ফাঁক ব্যবহার করে n যে আইটেমগুলি বেছে নেয় n sublists অন্তর্ভুক্ত ফাঁক।





সাবলিস্টগুলিকে সন্নিবেশ বাছাই ব্যবহার করে বাছাই করা হয়, তারপরে সেগুলি একত্রিত হয়। সম্মিলিত তালিকাটি পুরোপুরি বাছাই করা হয় না কিন্তু অ্যালগরিদমকে আইটেমগুলিকে তাদের চূড়ান্ত অবস্থানের কাছাকাছি রাখার সুবিধা দেয়।





তালিকা সন্নিবেশ করার জন্য আবার সন্নিবেশ সাজানো ব্যবহার করা হয়।





শেল বাছাইয়ের দিকে একটি ঘনিষ্ঠ দৃষ্টি

উপরের বর্ণনাটি বোধগম্য হয়নি, তবে একটি উদাহরণ সাহায্য করা উচিত। ধরুন আপনার তালিকা আছে: [39, 6, 2, 51, 30, 42, 7, 4, 16] এবং তিনটি ব্যবধানের মান।

প্রথম সাবলিস্টে আইটেম থাকবে: 39, 51, 7



দ্বিতীয় সাবলিস্ট: 6, 30, 4

টাস্কবার উইন্ডোজ ১০ এ ব্যাটারি আইকন দেখা যাচ্ছে না

তৃতীয় এবং শেষ সাবলিস্ট: 2, 42, 16





সন্নিবেশ সাজানোর পরে, প্রতিটি সাবলিস্টকে নীচের মতো আদেশ দেওয়া হবে:

প্রথম: 7, 39, 51





দ্বিতীয়: 4, 6, 30

তৃতীয়: 2, 16, 42

সাজানো সাবলিস্ট এখন একটি বিশেষ উপায়ে একত্রিত হয়েছে। প্রতিটি সাবলিস্ট আইটেমকে সেই সূচীতে রাখা হয় যেখান থেকে মূল অসংগঠিত সাবলিস্ট মান সংগ্রহ করা হয়েছিল।

সম্পর্কিত: বাবল সাজানোর অ্যালগরিদমের একটি ভূমিকা

অতএব আপনি নীচের ক্রমটি শেষ করবেন:

কিভাবে গুগল বই থেকে ডাউনলোড করবেন

[7, 4, 2, 39, 6, 16, 51, 30, 42]

লক্ষ্য করুন যে তালিকাটি এখনও বাছাই করা হয়নি কিন্তু আইটেমগুলি যে অবস্থানে থাকার কথা তার কাছাকাছি।

[2, 4, 6, 7, 16, 30, 39, 42, 51]

অ্যালগরিদম বিশ্লেষণ

শেল সাজানোর জটিলতা O (n) এবং O (n2) এর মধ্যে। এই উপসংহারের জন্য গণনা এই নিবন্ধের সুযোগের বাইরে।

কিভাবে আমার ল্যাপটপকে দ্রুত উইন্ডোজ ১০ করা যায়

পাইথন বাস্তবায়ন:

def shellSort(my_list):
n = len(my_list)
interval = n // 2 # floor division
while interval > 0:
for val in range(interval, n):
temp = my_list[val]
x = val
while x >= interval and my_list[x - interval] > temp:
my_list[x] = my_list[x - interval]
x = x - interval

my_list[x] = temp
interval = interval // 2

মার্জ বাছাই করা

বেশ কয়েকটি বাছাইয়ের অ্যালগরিদম রয়েছে, প্রতিটিই একটি অনন্য কাজের সাথে। উদাহরণস্বরূপ মার্জ বাছাই একটি বিভাজন এবং বিজয় কৌশল ব্যবহার করে এবং O (nlogn) এর একটি জটিলতা রয়েছে।

মার্জ সাজান, কিছু ক্ষেত্রে, শেল সাজানোর চেয়ে ভাল এবং স্পষ্টভাবে দেখার যোগ্য। এটি আপনার বাছাই-অ্যালগরিদম পড়ার তালিকায় পরবর্তী হওয়া উচিত।

শেয়ার করুন শেয়ার করুন টুইট ইমেইল মার্জ বাছাই অ্যালগরিদমের একটি ভূমিকা

ডেটা স্ট্রাকচার এবং অ্যালগরিদম নিয়ে পড়াশোনা করছেন? মার্জ সাজানোর সাথে আপনার অ্যারে সাজানোর একটি নতুন উপায় শিখুন।

পরবর্তী পড়ুন
সম্পর্কিত বিষয়
  • প্রোগ্রামিং
  • প্রোগ্রামিং
  • পাইথন
লেখক সম্পর্কে জেরোম ডেভিডসন(22 নিবন্ধ প্রকাশিত)

জেরোম MakeUseOf এর একজন স্টাফ রাইটার। তিনি প্রোগ্রামিং এবং লিনাক্সের নিবন্ধগুলি জুড়েছেন। তিনি একজন ক্রিপ্টো উৎসাহী এবং সর্বদা ক্রিপ্টো শিল্পের উপর নজর রাখেন।

জেরোম ডেভিডসন থেকে আরো

আমাদের নিউজলেটার সদস্যতা

প্রযুক্তি টিপস, রিভিউ, ফ্রি ইবুক এবং এক্সক্লুসিভ ডিলের জন্য আমাদের নিউজলেটারে যোগ দিন!

সাবস্ক্রাইব করতে এখানে ক্লিক করুন