ভিজ্যুয়াল ইনটুইউটিভ অনুভূতি 7 টি সাধারণভাবে ব্যবহৃত সোর্টিং অ্যালগরিদম ((লেখার কৌশলগুলি সাধারণত ব্যবহৃত হয়)

লেখক:ছোট্ট স্বপ্ন, তৈরিঃ ২০১৬-১২-০৬ ১০ঃ২৩ঃ১৬, আপডেটঃ

ভিজ্যুয়াল ইনটুইটিভিটি 7 টি সাধারণভাবে ব্যবহৃত সোর্টিং অ্যালগরিদম

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

  • ১. দ্রুত সাজানো

    এ সম্পর্কে বিস্তারিতঃ ফাস্ট সোর্টিং হল টনি হলের দ্বারা বিকশিত একটি সোর্টিং অ্যালগরিদম। গড় পরিস্থিতিতে, অর্ডার করা n টি আইটেমের জন্য O ((n log n) বার তুলনা করা প্রয়োজন। সবচেয়ে খারাপ পরিস্থিতিতে, O ((n2) বার তুলনা করা প্রয়োজন, তবে এটি খুব কমই ঘটে। প্রকৃতপক্ষে, ফাস্ট সোর্টিং সাধারণত অন্যান্য O ((n log n) অ্যালগরিদমের চেয়ে উল্লেখযোগ্যভাবে দ্রুত হয়, কারণ এর অভ্যন্তরীণ লুপটি বেশিরভাগ আর্কিটেকচারে কার্যকরভাবে বাস্তবায়ন করা যায় এবং বেশিরভাগ বাস্তব বিশ্বের ডেটাতে, নকশার পছন্দগুলি নির্ধারণ করা যেতে পারে, প্রয়োজনীয় সময়কে হ্রাস করে দ্বিতীয় আইটেমের সম্ভাবনা। পদক্ষেপঃ একটি সংখ্যা কলাম থেকে একটি উপাদান বাছাই করা হয়, যা পাইভট নামে পরিচিত। পুনরায় সাজানোর জন্য, সমস্ত উপাদানগুলি যা বেঞ্চমার্কের চেয়ে ছোট তা বেঞ্চমার্কের সামনে এবং সমস্ত উপাদানগুলি যা বেঞ্চমার্কের চেয়ে বড় তা বেঞ্চমার্কের পিছনে রাখা হয় (একই সংখ্যা উভয় দিকে যেতে পারে) । এই পার্টিশনটি ছাড়ার পরে, বেঞ্চমার্কটি অ্যারেটির মাঝখানে থাকে। এটিকে পার্টিশন অপারেশন বলা হয়। পুনরাবৃত্ত (recursive) হল একটি সূচক যা একটি সূচক থেকে ছোট এবং একটি সূচক থেকে বড়। সোর্টিং এফেক্টঃimg

  • ২. শ্রেণীবদ্ধকরণ

    এ সম্পর্কে বিস্তারিতঃ মার্জ সোর্ট হল একটি কার্যকর সোর্টিং অ্যালগরিদম যা মার্জ অপারেশনের উপর ভিত্তি করে তৈরি। এই অ্যালগরিদমটি বিভাজন এবং বিজয় পদ্ধতির একটি খুব সাধারণ প্রয়োগ। পদক্ষেপঃ অ্যাপ্লিকেশন স্পেস, যার আকার দুইটি সাজানো সারি যোগফলের সমান, যা সংযুক্ত সারি সংরক্ষণের জন্য ব্যবহৃত হয় দুটি পয়েন্টার সেট করুন, যার শুরু পয়েন্টগুলি দুটি সাজানো সিকোয়েন্সের শুরু পয়েন্ট দুটি পয়েন্টারের পয়েন্টারগুলি তুলনা করুন, একটি তুলনামূলকভাবে ছোট উপাদান নির্বাচন করুন, এটিকে সংমিশ্রণ স্পেসে রাখুন এবং পয়েন্টারটিকে পরবর্তী অবস্থানে সরান ধাপ 3 পুনরাবৃত্তি করুন যতক্ষণ না কোন পয়েন্টার ক্রম শেষ হয় অন্য ক্রমের বাকি সমস্ত উপাদান সরাসরি সংযুক্ত ক্রমের শেষে অনুলিপি করুন সোর্টিং এফেক্টঃimg

  • ৩. স্ট্যাক সোর্টিং

    এ সম্পর্কে বিস্তারিতঃ হ্যাপসোর্ট হল এমন একটি সাজানোর অ্যালগরিদম যা এই ধরনের ডেটা স্ট্রাকচার ব্যবহার করে তৈরি করা হয়েছে। এই স্ট্যাকটি একটি সম্পূর্ণ বাইনারি গাছের অনুরূপ কাঠামো এবং একই সাথে এটি স্ট্যাকের বৈশিষ্ট্য পূরণ করেঃ অর্থাৎ একটি সাব-নোটের কী-ভ্যালু বা সূচক সর্বদা তার পিতা-নোটের চেয়ে ছোট বা বড় হয়। পদক্ষেপঃ (আরও জটিল, নিজেরাই দেখুন) সোর্টিং এফেক্টঃimg

  • ৪. নির্বাচন করুন

    এ সম্পর্কে বিস্তারিতঃ নির্বাচন sort একটি সহজ এবং স্বজ্ঞাত sorting algorithm. এটির কাজটি হলঃ প্রথমে unsorted sequence এর মধ্যে smallest element খুঁজে বের করুন, এটিকে sorted sequence এর শুরুতে সংরক্ষণ করুন, তারপর, বাকি unsorted elements এর মধ্যে থেকে smallest element খুঁজে বের করুন, এবং তারপর sorted sequence এর শেষ পর্যন্ত রাখুন। এবং এভাবেই চলুন, যতক্ষণ না সব elements sorted হয়ে যায়। সোর্টিং এফেক্টঃimg

  • ৫. বাষ্পীভবন

    এ সম্পর্কে বিস্তারিতঃ বাবল সোর্টিং (বাংলাঃ বাবল সোর্টিং বা বাবল সোর্টিং) একটি সহজ সোর্টিং অ্যালগরিদম। এটি বারবার সাজানোর জন্য সংখ্যার সারিগুলি পরিদর্শন করে, একবারে দুটি উপাদান তুলনা করে এবং যদি তাদের ক্রমানুসারে ভুল হয় তবে সেগুলি প্রতিস্থাপন করে। পদক্ষেপঃ প্রতিবেশী উপাদানগুলোকে তুলনা করুন। যদি প্রথমটি দ্বিতীয়টির চেয়ে বড় হয়, তাহলে তাদের দুটি প্রতিস্থাপন করুন। প্রতিবেশী উপাদানগুলির জন্য একই কাজ করুন, শুরুতে প্রথম জোড়া থেকে শেষ জোড়া পর্যন্ত। এই মুহুর্তে, শেষ উপাদানটি সবচেয়ে বড় সংখ্যা হওয়া উচিত। সব উপাদানের জন্য উপরের ধাপগুলি পুনরাবৃত্তি করুন, শেষটি ব্যতীত। ক্রমবর্ধমান সংখ্যার জন্য উপরের ধাপগুলি পুনরাবৃত্তি করুন, যতক্ষণ না কোনও সংখ্যার জোড়া তুলনা করার প্রয়োজন হয়। সোর্টিং এফেক্টঃimg

  • ৬. ইনস্টল করা হচ্ছে

    এ সম্পর্কে বিস্তারিতঃ Insertion Sort এর বর্ণনা হল একটি সহজ এবং স্বজ্ঞাত সোর্টিং অ্যালগরিদম। এটি কাজ করে এমন একটি সোর্টিং অ্যালগরিদম তৈরি করে যা একটি সোর্টেড সারি তৈরি করে, অনির্ধারিত ডেটার জন্য, একটি সোর্টেড সারি থেকে পিছনে স্ক্যান করে, একটি উপযুক্ত অবস্থান খুঁজে পায় এবং সন্নিবেশ করে। পদক্ষেপঃ প্রথম উপাদান থেকে শুরু করে, এই উপাদানটি সাজানো হয়েছে বলে মনে করা যেতে পারে পরবর্তী উপাদানটি বের করুন, এবং তারপর থেকে সাজানো উপাদানগুলির ক্রম অনুসারে স্ক্যান করুন যদি এলিমেন্টটি (অর্ডার করা) নতুন এলিমেন্টের চেয়ে বড় হয়, তাহলে এলিমেন্টটিকে পরবর্তী অবস্থানে সরান ধাপ 3 পুনরাবৃত্তি করুন যতক্ষণ না আপনি নতুন উপাদানটির চেয়ে ছোট বা সমান স্থানে সাজানো উপাদানটি খুঁজে পান এই অবস্থানে নতুন উপাদান সন্নিবেশ করান ধাপ ২ পুনরাবৃত্তি করুন সোর্টিং এফেক্টঃ (অস্থায়ীভাবে)

  • ৭. হিলের সাজানো

    এ সম্পর্কে বিস্তারিতঃ হিলের বাছাই, যা বিবর্তনশীল ইনজেকশন বাছাইয়ের অ্যালগরিদম নামেও পরিচিত, এটি ইনজেকশন বাছাইয়ের একটি দ্রুত এবং স্থিতিশীল উন্নত সংস্করণ। হিল বাছাইয়ের দুটি বৈশিষ্ট্যগুলির উপর ভিত্তি করে উন্নত পদ্ধতির প্রস্তাব দেওয়া হয়েছেঃ ১, ইনপুট সোর্টিং উচ্চ দক্ষতা, অর্থাৎ লিনিয়ার সোর্টিংয়ের মতো দক্ষতা অর্জন করে যখন প্রায় অর্ডার করা ডেটাতে কাজ করা হয় ২। কিন্তু ইনপুট সোর্টিং সাধারণত অকার্যকর, কারণ ইনপুট সোর্টিং প্রতিবার শুধুমাত্র একটি তথ্য স্থানান্তর করতে পারেimg

আমি প্রায়শই ফোমিং পদ্ধতি (সবচেয়ে সহজ) ব্যবহার করি, আর আপনি?


আরো

কঠোর পরিশ্রমকিছু জাভাস্ক্রিপ্ট সোর্টিং অ্যালগরিদম কোড পাওয়া গেছে https://www.w3cschool.cn/wqcota/

কঠোর পরিশ্রমধন্যবাদ কোপ।