অ্যালগরিদম বাছাইয়ের স্থায়িত্ব কী এবং কেন এটি গুরুত্বপূর্ণ?


292

আমি খুব কৌতূহলী, কেন অ্যালগরিদম বাছাইয়ে স্থিতিশীলতা বা গুরুত্বপূর্ণ নয়?


2
সমান্তরালনের জন্য? উদাহরণস্বরূপ: সংযুক্তি বাছাই স্থিতিশীল এবং ভাল সমান্তরালিত হতে পারে এবং তাই quicksort হয়।
দার্থভেদার

13
ক্লাসিক কুইকসোর্ট অস্থির
কনস্টান্টিন স্পিরিন

9
স্থিতিশীল সাজান IBM (Insertion, Bubble, Merge)
আলগো

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

উত্তর:


371

বাছাই করা অ্যালগরিদমকে স্থিতিশীল বলা হয় যদি সমান কীগুলির সাথে দুটি বস্তু বাছাইয়ের জন্য ইনপুট অ্যারেতে প্রদর্শিত হয় তবে তারা সাজানো আউটপুটে একই ক্রমে উপস্থিত হয়। কিছু বাছাই করা অ্যালগরিদম প্রকৃতি দ্বারা সন্নিবেশ সাজান, মার্জ বাছাই করা, বুদ্বুদ বাছাই ইত্যাদির দ্বারা স্থিতিশীল এবং কিছু বাছাই করা অ্যালগরিদমগুলি হিপ বাছাই করা, দ্রুত বাছাই করা ইত্যাদির মতো হয় না etc.

পটভূমি : একটি "স্থিতিশীল" বাছাই করা অ্যালগরিদম আইটেমগুলিকে একই বাছাইয়ের কী দিয়ে সাজিয়ে রাখে। ধরুন আমাদের কাছে 5-অক্ষরের শব্দের একটি তালিকা রয়েছে:

peach
straw
apple
spork

যদি আমরা প্রতিটি শব্দের প্রথম অক্ষর দ্বারা তালিকাটি সাজান তবে একটি স্থিতিশীল-সাজানোর উত্পন্ন হবে:

apple
peach
straw
spork

একটি অস্থির সাজানোর অ্যালগরিদমে strawবা sporkবিনিময় হতে পারে তবে স্থিতিশীল অবস্থায় তারা একই আপেক্ষিক অবস্থানে থাকে (যেহেতু strawইনপুটটিতে আগে উপস্থিত হয় spork, এটি sporkআউটপুটে আগে উপস্থিত হয় )।

আমরা এই অ্যালগরিদমটি ব্যবহার করে শব্দের তালিকাটিকে বাছাই করতে পারি: কলাম 5, তারপরে 4, তারপরে 3, তারপরে 2, তারপরে 1 দ্বারা স্থিতিশীল বাছাই করা 1 শেষে, এটি সঠিকভাবে বাছাই করা হবে। নিজেকে বিশ্বাস করুন। (যাইহোক, সেই অ্যালগরিদমকে রেডিক্স সাজ্ট বলা হয়)

এখন আপনার প্রশ্নের উত্তর দেওয়ার জন্য, ধরুন আমাদের কাছে প্রথম এবং শেষ নামগুলির একটি তালিকা রয়েছে। আমাদের "শেষ নাম অনুসারে, তারপরে প্রথমে" বাছাই করতে বলা হয়। আমরা প্রথম নাম অনুসারে প্রথমে বাছাই করতে পারি (স্থিতিশীল বা অস্থির), তারপরে শেষ নাম দ্বারা স্থিতিশীল সাজান। এই ধরণের পরে, তালিকাটি প্রাথমিকভাবে বাছাই করা হয় শেষ নাম দ্বারা। তবে, যেখানে শেষ নামগুলি একই, প্রথম নামগুলি বাছাই করা হয়।

আপনি একই ফ্যাশনে অস্থির প্রকারের স্ট্যাক করতে পারবেন না।


সুতরাং, আপেল পীচ খেলা স্ট্রোয়ের সঠিক বাছাইয়ের ক্রমে শব্দগুলি তৈরি করার জন্য বাছাই কী বলা হবে? স্থিতিশীল বাছাই আমাদের আপেল পীচ স্ট্রো স্পার্ক দিয়েছে তবে এসপি স্পের পরে হওয়া উচিত (বর্ণানুক্রমিকভাবে সঠিক), সুতরাং চূড়ান্ত সঠিক
বাছাইটি

2
@ ব্যবহারকারী ১৪১648686:: আমরা কেবল প্রথম চিঠি অনুসারে বাছাই করছি। সেই অনুমানের সাথে strawএবং sporkসমান তুলনা করুন। স্থিতিশীল বাছাই ইনপুট ক্রম সংরক্ষণ করবে, অন্যদিকে অস্থির সাজান যে গ্যারান্টি তোলে না। "সঠিক" অ্যাপ্লিকেশন উপর নির্ভর করে। বেশিরভাগ প্রোগ্রামিং ভাষাগুলিতে বাছাই ফাংশন ব্যবহারকারীকে একটি কাস্টম অর্ডারিং ফাংশন সরবরাহ করতে দেয়। যদি ব্যবহারকারীর ফাংশনটি বিভিন্ন আইটেমকে সমান হিসাবে বিবেচনা করে (যেমন একই নাম, আলাদা আলাদা পদবি), এটি জানতে সহায়তা করে যে মূল ক্রমটি সংরক্ষণ করা হবে কিনা। রিয়েল-ওয়ার্ল্ড উদাহরণের জন্য ওক্যামেলের অ্যারে বাছাই করার ক্রিয়াগুলি দেখুন ।
জোয়ে অ্যাডামস

3
আমি বুঝতে পারি না লাইন .. একই বাছাই কী ? এখানে কী বলতে কী বোঝ? দয়া করে বিবৃতিটি ব্যাখ্যা করুন .. একই বাছাই কী
saplingPro

2
@ সাপলিংপ্রো: "বাছাই কী" দ্বারা, আপনি যে জিনিসটি আইটেমগুলি বাছাই করছেন তার অর্থ। সুতরাং প্রথম অক্ষর অনুসারে বাছাই করার পরে, প্রতিটি আইটেমের জন্য, এর "বাছাই কী" এটি তার প্রথম অক্ষর।
জোয়ে অ্যাডামস

12
উদাহরণ - বলুন যে প্রতিটি আইটেমের সাথে ফ্লাইটের গন্তব্য এবং প্রস্থানের সময় সম্পর্কিত তথ্য রয়েছে তার সাথে আপনার একটি তালিকা রয়েছে। আপনি প্রথমে সময়ের ভিত্তিতে তালিকাটি সাজান। তারপরে আমরা এটিকে গন্তব্যের ভিত্তিতে বাছাই করি। যদি দ্বিতীয় ধরণের স্থিতিশীল হয় তবে আমাদের এখন সমস্ত ফ্লাইট একসাথে একই গন্তব্যস্থলে আবদ্ধ এবং প্রস্থান সময়ের ক্রমবর্ধমান order যদি এটি স্থিতিশীল না হয় তবে তারা সময়ের ক্রম বাড়ত না।
রুট ট্র্যাভেলার

55

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

স্থিতিশীল বাছাই অ্যালগরিদম:

  • সন্নিবেশ সাজান
  • বাছাই বাছাই
  • বাবল বাছাই
  • টিম বাছাই
  • গণনা বাছাই করুন
  • ব্লক বাছাই
  • Quadsort
  • লাইব্রেরি বাছাই করুন
  • ককটেল শেকার বাছাই করুন
  • জিনোম বাছাই
  • বিজোড় – এমনকি বাছাই করুন

অস্থির বাছাই অ্যালগরিদম:

  • গাদা সাজান
  • বাছাই বাছাই
  • শেল সাজান
  • দ্রুত বাছাই
  • অন্তঃকরণ (কুইকোর্টের সাপেক্ষে)
  • গাছ বাছাই
  • চক্র বাছাই
  • Smoothsort
  • টুর্নামেন্ট বাছাই (হেসাপোর্টের সাপেক্ষে)

এখানে চিত্র বর্ণনা লিখুন


2
আপনার মান সমান নয়। আপনি 9,7 এবং 9,8 এর তুলনা করেন তবে স্থায়িত্ব চেক অনুসারে আপনার 9,7 বা উভয়ই 9,8 উভয়ের মতো একই মান প্রয়োজন। এবং একই মানের থেকে স্থিতিশীল অ্যালগরিদমে একই অর্ডার করা উচিত।
এরহুন

1
না, স্থিতিশীলতা পরীক্ষা করতে আপনার মান একই হওয়া উচিত। আমি বোঝাতে চাইছি আপনি দুটি 9,7 ব্যবহার করেন এবং নোড এ এবং নোড বি এ নামকরণ করুন যদি প্রতিটি ক্রম ক্রিয়াকলাপ ক্রম A, B এর মতো হয় (তারা পরিবর্তে সমান হয়) বুঝতে পারেন যে বাছাই করা অ্যালগরিদম স্থিতিশীল (মার্জ সাজানোর মতো)। যদি এ, বি ক্রমটি পরিবর্তন করা হয় যখন তাদের একাধিকবার বাছাই করা হয় (১। সাজান এ, বি, বি, এ আবার এ, বি ইত্যাদি), বুঝতে হবে যে বাছাই করা অ্যালগরিদম অস্থির (দ্রুত সাজানোর মতো) @ এসএনআর
এরহুন

@ এসএনআর [9, 6] ইনপুট অ্যারেতে উপস্থিত নেই। আমি মনে করি আপনি সর্বশেষ অ্যারে স্ট্রিপটিতে [9, 8] বোঝাতে চেয়েছিলেন।
উসমান

4
@ হারহান আমি বিশ্বাস করি যে তিনি কেবল প্রথম সংখ্যাটি (কমাটির আগে একটি) অনুসারে বাছাই করছেন এবং দ্বিতীয় নম্বরটি কেবল আপনার রেফারেন্স হিসাবে ব্যবহার করছেন তা দেখতে 9 এর প্রথম 9 টি 9-এর চেয়ে পৃথক
টিয়াগো

20

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

সুতরাং স্থিতিশীলতা গুরুত্বপূর্ণ যদি এবং কেবল যদি আপনি সমস্যার সমাধান করছেন তবে সেই আপেক্ষিক আদেশটি ধরে রাখা দরকার।

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

আপনার যদি স্থিতিশীলতার প্রয়োজন হয় তবে এটি আরও জটিল। স্থিতিশীল অ্যালগরিদমের অস্থির অ্যালগরিদমের চেয়ে বেশি বিগ-ও সিপিইউ এবং / অথবা মেমরির ব্যবহার রয়েছে। সুতরাং আপনার যখন একটি বড় ডেটা সেট থাকে, তখন আপনাকে সিপিইউ বা স্মৃতিটিকে মারধর করতে হবে। আপনি যদি উভয় সিপিইউ এবং মেমরির প্রতিবন্ধক হন তবে আপনার একটি সমস্যা আছে। একটি ভাল আপস স্থিতিশীল অ্যালগরিদম হ'ল বাইনারি ট্রি সাজান; Wikipedia নিবন্ধটি একটি করুণ সহজ সি ++ STL উপর ভিত্তি করে প্রয়োগ করা হয়েছে।

প্রতিটি রেকর্ডের জন্য সর্বশেষ স্থান কী হিসাবে মূল রেকর্ড নম্বর যুক্ত করে আপনি একটি অস্থির অ্যালগরিদমকে একটি স্থিতিশীল হিসাবে তৈরি করতে পারেন।


1
মার্জ বাছাইয়ের মতো স্থিতিশীল অ্যালগরিদমগুলির কুইকোর্টের মতো একই ও (এনলগএন) জটিলতা রয়েছে; প্রয়াসের ধ্রুবক গুণকটি আরও বড়।
জোনাথন লেফলার

হ্যাঁ, এবং মার্জ সাজ্টে মেমরির ব্যবহার হ'ল ও (এন), কুইকোর্টে এটি ও (লগ এন) রয়েছে। যে কারণে আমি কুইকোর্টের কথা উল্লেখ করেছি তা হ'ল qsort () একটি সি স্ট্যান্ডার্ড লাইব্রেরি রুটিন, তাই এটি পুনরায় উপলব্ধ।
বব মারফি

1
সেরা সামগ্রিক উত্তর আইএমএইচও। অন্যদের মধ্যে উল্লিখিত মাল্টি-কী কৌশলটি আকর্ষণীয় তবে ওভাররেটেড; এটি প্রয়োগ করা সহজ, তবে সুস্পষ্ট বিকল্পগুলির চেয়ে অনেক ধীর গতিতে দেখা যায় (কেবল একটি বহু-কী তুলনায় একটি ধরণের ব্যবহার করুন; বা প্রথম কী অনুসারে বাছাই করুন এবং তারপরে ডুপ্লিকেটগুলির সাথে কোনও সাবলিস্টগুলি সাজান)। স্থিতিশীল বাছাইয়ের পূর্বাভাসযোগ্য ফলাফল উত্পন্ন করার বিষয়টি কিছু অ্যাপ্লিকেশনগুলিতে গুরুত্বপূর্ণ হতে পারে। বিশেষত যদি আপনার দুটি ইনপুট তালিকাগুলি A, B থাকে যা তালিকার বি বাদে অভিন্ন থাকে তবে অতিরিক্ত খসড়া থাকে, স্থিতিশীল সাজানোর জন্য আউটপুটগুলি একই রকম হয় B বি এর অতিরিক্ত অতিরিক্ত এন্ট্রি রয়েছে। এবং শেষ পৃষ্ঠার জন্য +1।
গ্রেগো

16

এটি আপনি যা করেন তার উপর নির্ভর করে।

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


4
আমি মনে করি আপনার অর্থ "শেষ এবং প্রদত্ত নাম"। উপাধি সাধারণত শেষ নাম।
বেকন বিটস

14

স্থায়িত্ব গুরুত্বপূর্ণ হওয়ার কয়েকটি কারণ রয়েছে। একটি হ'ল, যদি দুটি রেকর্ডগুলি অদলবদল করে অদলবদলের প্রয়োজন না হয় আপনি একটি স্মৃতি আপডেট করতে পারেন, একটি পৃষ্ঠা নোংরা চিহ্নিত করা হয়েছে, এবং ডিস্কে (বা অন্য ধীর মিডিয়াম) পুনরায় লিখিত হওয়া দরকার।


স্থিতিশীলতার সাথে রেকর্ড অদলবদলের কী সম্পর্ক রয়েছে?
ব্যবহারকারী 1683793

4

বাছাই করা অ্যালগরিদমকে স্থিতিশীল বলা হয় যদি সমান চাবিযুক্ত দুটি বস্তু যদি সাজানো আউটপুটে একই ক্রমে উপস্থিত হয় তবে তারা ইনপুট অরসোর্টড অ্যারেতে উপস্থিত হয়। কিছু বাছাই করা অ্যালগরিদম প্রকৃতি দ্বারা সন্নিবেশ সাজানো, মার্জ বাছাই করা, বুদ্বুদ বাছাই ইত্যাদি ইত্যাদির দ্বারা স্থিতিশীল এবং কিছু বাছাই করা অ্যালগরিদমগুলি হিপ বাছাই, দ্রুত বাছাই করা ইত্যাদির মতো হয় না etc.

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

তথ্যসূত্র: http://www.math.uic.edu/~leon/cs-mcs401-s08/handouts/stability.pdf http://en.wikedia.org/wiki/Sorting_algorithm#Stability


3

আমি জানি এই জন্য অনেক উত্তর আছে, কিন্তু আমার কাছে এই উত্তর দ্বারা রবার্ট হার্ভে , এটা আরো অনেক কিছু পরিষ্কারভাবে সংক্ষিপ্ত:

একটি স্থিতিশীল বাছাই হ'ল যা ইনপুট সেটটির মূল ক্রম সংরক্ষণ করে, যেখানে [অস্থির] অ্যালগরিদম দুটি বা ততোধিক আইটেমের মধ্যে পার্থক্য করে না।

সূত্র


1

আপনি যদি ধরে নেন যে আপনি যা বাছাই করছেন তা কেবল সংখ্যা এবং কেবল তাদের মানগুলি তাদের সনাক্ত / আলাদা করতে পারে (উদাহরণস্বরূপ একই মানযুক্ত উপাদানগুলি অভিন্ন) তবে বাছাইয়ের স্থায়িত্ব-ইস্যু অর্থহীন।

তবে, বাছাইয়ের ক্ষেত্রে একই অগ্রাধিকারযুক্ত জিনিসগুলি পৃথক হতে পারে এবং কিছু সময় তাদের আপেক্ষিক ক্রম অর্থবহ তথ্য। এই ক্ষেত্রে, অস্থির বাছাই সমস্যা উত্পন্ন করে।

উদাহরণস্বরূপ, আপনার কাছে ডেটাগুলির একটি তালিকা রয়েছে যা একটি খেলায় স্তর [এল] দিয়ে একটি গোলকধাঁধা পরিষ্কার করতে সমস্ত খেলোয়াড়ের সময় ব্যয় [টি] ধারণ করে। ধরা যাক খেলোয়াড়রা কীভাবে দ্রুত ধাঁধাটি পরিষ্কার করে তার দ্বারা আমাদের র‌্যাঙ্ক করা উচিত। যাইহোক, একটি অতিরিক্ত নিয়ম প্রযোজ্য: খেলোয়াড় যারা উচ্চ-স্তরের সাথে ধাঁধাটি পরিষ্কার করে থাকে তাদের সর্বদা উচ্চতর পদ থাকে, সময় ব্যয়টি কত দীর্ঘ হোক না কেন।

অবশ্যই আপনি জোড় করা মান [টি, এল] কে কোনও অ্যালগোরিদম দিয়ে কোনও আসল সংখ্যায় [আর] ম্যাপ করার চেষ্টা করতে পারেন যা নিয়ম অনুসরণ করে এবং তারপরে [আর] মানযুক্ত সমস্ত খেলোয়াড়কে র‌্যাঙ্ক করে।

তবে, যদি স্থিতিশীল বাছাই করা সম্ভব হয় তবে আপনি পুরো তালিকাটিকে [টি] (প্রথমে আরও দ্রুত প্লেয়ার) এবং তারপরে [এল] দ্বারা সারণি করতে পারেন। এই ক্ষেত্রে, খেলোয়াড়দের আপেক্ষিক ক্রম (সময় সাপেক্ষে) পরিবর্তিত হবে না যখন আপনি তাদের ধুয়ে ফেলার ধরণের স্তরে গ্রুপবদ্ধ করার পরে।

পিএস: অবশ্যই দু'বার বাছাইয়ের পদ্ধতিটি নির্দিষ্ট সমস্যার সর্বোত্তম সমাধান নয় তবে পোস্টারের প্রশ্নটি ব্যাখ্যা করার জন্য এটি যথেষ্ট হওয়া উচিত।


0

স্থিতিশীল বাছাই সর্বদা একই ইনপুটটিতে একই দ্রবণ (ক্রমশক্তি) প্রদান করবে।

উদাহরণস্বরূপ [২,১,২] স্থির ক্রমানুসারে ক্রমানুসারে বাছাই করা হবে [2,1,3] (প্রথমে সূচক 2, তারপর সূচী 1 তারপর সারণি আউটপুট ইনডেক্স 3) এর অর্থ এই যে আউটপুট সর্বদা একইভাবে পরিবর্তিত হয়। অন্যান্য অ স্থিতিশীল, তবে এখনও সঠিক অনুক্রমটি [2,3,1]।

দ্রুত বাছাই স্থিতিশীল বাছাই নয় এবং একই উপাদানগুলির মধ্যে ক্রম পার্থক্য পিভট বাছাইয়ের জন্য অ্যালগরিদমের উপর নির্ভর করে on কিছু বাস্তবায়ন এলোমেলোভাবে গ্রহণ করে এবং তা একই ধরণের অ্যালগোরিদম ব্যবহার করে একই ইনপুটটিতে বিভিন্ন ক্রমান্বয়ে উত্পাদন করে দ্রুত সাজিয়ে তোলে।

স্থিতিশীল বাছাই অ্যালগরিদম প্রয়োজনীয় নির্মাতারা।


2
স্থিতিশীলতার অর্থ এটাই নয়। En.wikedia.org/wiki/Sorting_algorithm#Stability
Luís Oliveira

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

1
কেন -1? এখানে কেউ কী দয়া করে বলতে পারেন? এটি স্টাইল বাছাই কী নয়, তবে সম্পত্তি স্থিতিশীল সাজানোর কী রয়েছে।
লুকা রাহনে

বাছাইটি নির্বিচারক কিনা তা স্থির কিনা তা নির্ধারণ করে না। আমি একটি ভিন্ন টাই-ব্রেকিং আচরণ নির্ধারণ করে (উদাহরণস্বরূপ, নন-কী অংশগুলিকে সাবস্ক্রাইব করে) একটি অ-স্থিতিশীল ডিটারমিনিস্টিক বাছাই অ্যালগরিদম লিখতে পারি। স্থিতিশীল বাছাইটি নির্দিষ্টভাবে বোঝায় যে সম্পর্কগুলি বাছাই করার সময় উপাদানগুলির প্রাক-সাজানো আপেক্ষিক ক্রম সংরক্ষণ করা হয়। একটি স্থিতিশীল সাজানোর একটি আউটপুট এর উদাহরণ: sort([(5,3),(1,5),(3,3),(1,3)], x) => [(1,5),(1,3),(3,3),(5,3)]। আমি একটি নিয়ামবাদী বাছাই করতে পারি যা সর্বদা (নির্দ্বিধায়) ফলাফলগুলি হয়: [(1,3),(1,5),(3,3),(5,3)]তবে এটি কোনও স্থিতিশীল সাজ নয়।
কাউয়ার্ট

@ এওয়ার্ববার্ট প্রতিটি স্থিতিশীল সাজানোর মতো দুর্দান্ত সম্পত্তি সম্পর্কে এটি আরও বিবৃতি। ডাইনি স্থিতিশীল বাছাই অ্যালগরিদম বা বাস্তবায়ন ব্যবহৃত হয় তা নয়, প্রতিবার একই ফলাফল হবে। বিভিন্ন অ স্থিতিশীল সাজানোর বাস্তবায়নের মধ্যে এ জাতীয় সম্পত্তি বজায় রাখা আরও কঠিন।
লুকা রাহনে

0

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

অনুরূপ উদাহরণটি ক্লাসিক এক্সেল, যা একবারে 3 টি কলামের মধ্যে সীমাবদ্ধ করে। Col টি কলাম সাজানোর জন্য, সর্বাধিক তাত্পর্যপূর্ণ 3 টি কলামের সাথে একটি ক্রমানুসারে সর্বনিম্ন তাত্পর্যপূর্ণ 3 কলাম দিয়ে সম্পন্ন করা হয়।

স্থিতিশীল রেডিক্স সাজানোর একটি ক্লাসিক উদাহরণ হ'ল কার্ড সোর্টার, বেস 10 সংখ্যার কলামগুলির ক্ষেত্র দ্বারা সাজানোর জন্য ব্যবহৃত হয়। কার্ডগুলি কমপক্ষে উল্লেখযোগ্য অঙ্ক থেকে সর্বাধিক তাৎপর্যপূর্ণ অঙ্কে বাছাই করা হয়। প্রতিটি পাসে, কার্ডগুলির একটি ডেকে পড়া হয় এবং সেই কলামের অঙ্ক অনুযায়ী 10 টি আলাদা বিনে বিভক্ত হয়। তারপরে 10 টি বিন কার্ডটি ইনপুট হপারে আবার অর্ডারে রেখে দেওয়া হবে ("0" কার্ড আগে, "9" কার্ড শেষ)। তারপরে সমস্ত কলামটি বাছাই করা না হওয়া অবধি পরবর্তী পাসেমের মাধ্যমে আরেকটি পাস করা হবে। কার্ডের 12 টি অঞ্চল থাকার কারণে প্রকৃত কার্ড সোর্টারদের 10 টিরও বেশি বিন রয়েছে, একটি কলাম ফাঁকা হতে পারে, এবং একটি ভুল-পঠিত বিন রয়েছে। বর্ণগুলি বাছাই করতে, প্রতি কলামে 2 পাসের প্রয়োজন, অঙ্কের জন্য 1 ম পাস, 12 11 জোনের জন্য দ্বিতীয় পাস pass

পরবর্তীতে (১৯৩37) কার্ড কলটিং (মার্জিং) মেশিনগুলি ছিল যা ক্ষেত্রের সাথে তুলনা করে দুটি ডেকে কার্ডগুলিকে একীভূত করতে পারে। ইনপুটটি ছিল দুটি ইতিমধ্যে বাছাই করা ডেক কার্ড, একটি মাস্টার ডেক এবং একটি আপডেট ডেক। কল্টার দুটি ডেকে আ এয়া ম্যাটার বিন এবং একটি সংরক্ষণাগার বিনের সাথে একীভূত করলেন, যা allyচ্ছিকভাবে মাস্টার ডুপ্লিকেটগুলির জন্য ব্যবহৃত হত যাতে নতুন মাস্টার বিনটিতে কেবল নকলের ক্ষেত্রে আপডেট কার্ড থাকে। এটি সম্ভবত মূল (নীচে আপ) মার্জ সাজানোর পিছনে ধারণার ভিত্তি ছিল।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.