Skip to content
Shameem's Note
Shameem Reza JavaScript, WordPress & SwiftUI
Shameem's Note

JavaScript, WordPress & SwiftUI

BUY ME A COFFEE
  • Home
  • About
  • Now
Shameem's Note

JavaScript, WordPress & SwiftUI

June 21, 2017November 4, 2021

সর্টিংঃ সিলেকশন সর্ট

সর্টিং অ্যালগোরিদমের মুল কাজই হচ্ছে অ্যারেতে থাকা দুটি উপাদানের অবস্থান সোয়াপ(swap) বা বিনিময় করা। সিলেকশন সর্ট অ্যারের সুচকগুলোকে প্রতিটি ইন্ডেক্সের জন্য লুপ করে। এখানে মনে রাখতে হবে যে, যদি অ্যারে এর দৈর্ঘ্য n হয়, তবে ঐ অ্যারের ইন্ডেক্স সংখ্যা n হবে।

Ο(n2) এর সকল সর্ট অ্যালগোরিদমের মধ্যে আমার কাছে সিলেকশন সর্ট (Selection Sort) অনেক সহজ লাগে। এর মুল ধারণা হচ্ছে, তুমি শুরুতে প্রথম অবস্থানের সংখ্যাটি নির্বাচন করবে। তারপর ঐ সংখ্যার পরের সংখ্যাগুলো একে একে দেখবে। যদি দেখো পরের কোন সংখ্যা তোমার নির্বাচিত অবস্থানে থাকা সংখ্যার চেয়ে ছোট, তাহলে দুটি সংখ্যাকে সোয়াপ বা অদলবদল করে দিবে। এভাবে সব সংখ্যা দেখা শেষ হয়ে গেলে তোমার নির্বাচিত অবস্থানে সব থেকে ছোট সংখ্যা থাকবে।

এবার দ্বিতীয় অবস্থানের সংখ্যাটি নির্বারচন কর। বাকি সব সংখ্যা দিয়ে যাও, আর যদি দেখো যেই সংখ্যা দিয়ে যাচ্ছো তা ছোট, তাহলে অদলবদল করে ফেলো। এভাবে প্রতিটি সংখ্যা এক এক করে নির্বাচন করলে দকেহবে পুরো অ্যারেটি সর্ট হয়ে গেছে।

সিলেকশন সর্ট কভাবে কাজ করে?

সিলেকশন সর্ট অনেক বড় ডেটা সেটের জন্য উপযুক্ত না। আসলে কোন Ο(n2) অ্যালগোরিদমই অনেক বড় ডেটাসেটের জন্য উপযুক্তি না। বলে রাখি এখানে n হচ্ছে আইটেম সংখ্যা।

সিলেকশন সর্ট কিভাবে কাজ করে বোঝার জন্য আমরা নিচের অ্যারে সেট কে উদাহরণ হিসেবে নিতে পারি।

অ্যারেতে থাকা ডেটা লিস্টে আমরা দেখছি যে প্রথম ডেটা, মানে ১৪ সর্টেড আছে। কিন্তু আমরা যদি পুরো লিস্ট দেখি বা পুরো লিস্টে সার্চ করি, তাহলে দকেহবো যে ১০ সব থেকে ছোট ভ্যালু।

সিলেকশন সর্টের নিয়ম অনুযায়ী আমরা ১৪ এর জায়গা ১০ কে নিয়ে আসবো এবং ১০ এর জায়গা ১৪কে নিয়ে যাবো। এরফলে সব থেকে ছোট মান সবার শুরুতে থাকবে, এবং সর্টেড ও হবে।

এবার দ্বিতীয় অবস্থানের জন্য আমরা ৩৩ নির্বাচন করে সার্চিং শুরু করবো।

দ্বিতীয় অবস্থানের জন্য ৩৩ কে নিয়ে সার্চ দিলে দকেহা যাবে ১৪ সব থেকে ছোট। আর সিলেকশন সর্ট এর নিয়ম অনুযায়ী আমরা ৩৩ এর স্থানে ১৪ কে নিইয়ে আসবো, আর ১৪ এর স্থলে ৩৩।

১৪ এবং ৩৩ সোয়াপের পর আমাদের অ্যারেতে শুরুর দুইটা মান সর্টেড হবে ছোট থেকে বড় আকারে।

এভাবে তৃতীয়, চতুর্থ, পঞ্চমসহ বাকি অবস্থানের জন্য সব থেকে ছোট মান নির্বাচন করে পুরো অ্যারে সর্টেড করতে হবে। তুমি যদি এখন পর্যন্ত সব ঠিক থাক বুঝতে পারো, তাহলে তোমার সর্টেড ফলাফল হবেঃ ১০,১৪,১৯,২৭,২২,২৫,৪২,৪৫।

যদি বুঝতে না পারো বা সর্টিং করতে ভুল করো, তাহলে ফুল প্রসেসটি আরেকবার পড়। তোমাদের বোঝার সুবিধার জন্য ফুল প্রসেস নিচে দিলামঃ

তাহলে সিলেকশন সর্ট আর মুল কাজ কি দাঁড়ালো ? ছোট মান কে প্রথমে নিয়ে ফুল অ্যারেকেট সর্টেড করা, যেখানে ফলাফল হিসেবে আমরা শুরুতে পাবো সব থেকে ছোট মান আর সব শেষে পাবো সব থেকে বড় মান।

সিলেকশন সর্ট অ্যালগোরিদম যদি আমি আমার মত করে লিখি, তাহলে তা হবে নিম্নরুপঃ

সিলেকশন সর্ট ইমপ্লিমেন্টশনের সব থেকে ছোট কোডঃ

তুমি যদি সি ভালো পারো, তাহলে তোমার বোঝার সুবিদার জন্য আরো একটু সহজ করে করলে এমন হবেঃ

আউটপুটঃ

পাইথন আমার অনেক প্রিয় একটি ল্যাঙ্গুয়েজ। যদি তুমিও পাইথন পছন্দ করে, তবে সিলেকশন সর্ট কিভাবে পাইথনে ইমপ্লিমেন্ট করতে হয়, তা নিচে দিলামঃ

আউটপুটঃ

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

এছাড়া বাবল সর্ট অ্যালগরিদম এর উপর আমার একটি অনেক সহজ একটি লেখাও আছে।

 

Bangla

Post navigation

Previous post
Next post

Woth to read

Bangla IELTS লিসেনিং এ 7+ স্কোর করার ৫টি টিপস

IELTS লিসেনিং এ 7+ স্কোর করার ৫টি টিপস

November 7, 2017

IELTS এর লিসেনিং এমন একটি স্কিল টেস্ট, যেখানে ৯ এ ৯ পাওয়া সম্ভব। কেননা IELTS…

Read More
Bangla বাবল সর্ট অ্যালগরিদম

সর্টিংঃ বাবল সর্ট অ্যালগরিদম

June 21, 2017January 26, 2023

সর্টিং মানেই যে কোন কিছু সাজানো, তা আমরা কম বেশি সবাই জানি। কম্পিউটার সায়েন্সের একটি…

Read More
Bangla ডিপ্লোমা ইঞ্জিনিয়ারিং

ডিপ্লোমা ইঞ্জিনিয়ারিং এবং সফলতা

July 18, 2017October 15, 2019

বিশ্বায়নের এই যুগে ইন্ডাস্ট্রির সংখ্যা ক্রমশই বাড়ছে। আর এ কারণে বাড়ছে ইঞ্জিনিয়ারিং শিক্ষার গুরুত্ব। নিশ্চিত…

Read More

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Shameem Reza

I am the Father of a son, blessed with a pious wife. I am a self-taught iOS developer, SwiftUI Addicted and WordPress Ninja.

Over 80,000+ Readers

Get fresh content from Shameem.

  • Twitter
  • GitHub
  • LinkedIn
SwiftUI
JavaScript
Wordpress
Tips & Tricks

Recommended Resources

WordHero: 50+ AI writing tool to write sales and marketing emails that sell.

Rytr: AI Writing Tool to generate high-quality content.

WriterZen: Boost SEO rankings with tools organized into a results-oriented workflow.

WP 301 Redirects: Improve SEO and customer experience by finding broken links, site redirects, and 404 errors.

Join 3500+ Developers Getting Early Access To My Posts!

I learned these in the past 10 years by building a digital product development agency, and dozens of different web & mobile applications for clients and myself. Sign up to get updates when I write something new. No spam ever.

© 2023 Shameem's Note | Contact - Privacy - Disclosure