সন্নিবেশ বাছাই করুন বনাম নির্বাচন বাছাই করুন


109

আমি সন্নিবেশ বাছাই এবং নির্বাচন সাজানোর মধ্যে পার্থক্য বুঝতে চেষ্টা করছি।

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


8
নির্বাচনের বাছাইয়ের জন্য উইকিপিডিয়াটি সিউডো কোড এবং চমত্কার চিত্র সহ আসে, যেমন সন্নিবেশ সাজানোর ক্ষেত্রে যেমন হয় ।
জি। বাচ

6
@ জি.বাচ - এর জন্য ধন্যবাদ ... আমি উভয় পৃষ্ঠা একাধিকবার পড়েছি তবে পার্থক্য বুঝতে পারি না - তাই এই প্রশ্নটি।
eb80

3
কম্পিউটারফিলের মতে সেগুলি হ'ল
ত্রিস্তান ফরোয়ার্ড

উত্তর:


185

বাছাই বাছাই করুন:

একটি তালিকা দেওয়া হয়েছে, বর্তমান উপাদানটি নিয়ে যান এবং বর্তমান উপাদানের ডানদিকে থাকা ক্ষুদ্রতম উপাদানের সাথে এটি বিনিময় করুন। বাছাই বাছাই করুন

সন্নিবেশ বাছাই করুন:

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

নির্বাচনের বাছাইয়ের সময় জটিলতা সর্বদা থাকে n(n - 1)/2, তবে সন্নিবেশ সাজানোর ক্ষেত্রে আরও খারাপ সময়কাল থাকে কারণ এটি সবচেয়ে খারাপ ক্ষেত্রে জটিলতা n(n - 1)/2। সাধারণত এটি তখন কম বা সমমানের তুলনা নিতে হবে n(n - 1)/2

সূত্র: http://cheetahonfire.blogspot.com/2009/05/selection-sort-vs-insertion-sort.html


2
@ নিকোলে - এটি স্রেফ চিতাহনফায়ার.ব্লগস্পট.com/2009/05/… থেকে অনুলিপি করা হয়েছে যা আমি ইতিমধ্যে পড়েছি। আমি বিবাদী নিবন্ধগুলি পড়েছি বলে আরও কিছু সংগীতানুষ্ঠান রয়েছে কি?
eb80

5
মূল পার্থক্যটি হল নির্বাচনের পদক্ষেপ। নির্বাচনের ধরণটি ক্ষুদ্রতমটিকে নির্বাচন করে এবং এটি প্রথমটির সাথে অদলবদল সন্নিবেশ সাজানোর মাধ্যমে বর্তমানটিকে তার যথাযথ অবস্থানে সন্নিবেশ করা হয়
নিকোলে কোস্তভ

6
@ eb80 আপনি কোন উপাদানটি পড়ছেন তা আমি নিশ্চিত নই, তবে এর চেয়ে আরও উদাহরণ কীভাবে উদাহরণ হতে পারে তা আমি দেখতে পাচ্ছি না?
জি। বাচ

23
তবে অদলবদলের সংখ্যা কী? নির্বাচন সর্বদা n (n-1) / 2 তুলনা করে তবে সবচেয়ে খারাপ ক্ষেত্রে এটি কেবল n-1 অদলবদল করবে। সবচেয়ে খারাপ ক্ষেত্রে সন্নিবেশ এন (এন -1) / 2 তুলনা পাশাপাশি এন (এন -1) / 2 অদলবদল করবে।
জেসন গোয়ামাত

2
@ অ্যাডর্ন এর মধ্যে দুটিও বিভক্ত নয় এবং অ্যালগরিদমকে জয় করে।
অ্যাস্কি ম্যাকএফেসফেস

63

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

অভ্যন্তরীণ লুপটি যা করে তার মধ্যে পার্থক্যটি রয়েছে:

  • নির্বাচন সাজানোর ক্ষেত্রে, অভ্যন্তরীণ লুপটি অরসোর্টড উপাদানগুলির উপরে। প্রতিটি পাস একটি উপাদান নির্বাচন করে এবং এটিকে তার চূড়ান্ত স্থানে নিয়ে যায় (সাজানো অঞ্চলের বর্তমান প্রান্তে)।

  • সন্নিবেশ সাজানোর ক্ষেত্রে, অভ্যন্তরীণ লুপের প্রতিটি পাস সাজানো উপাদানগুলির উপরে পুনরাবৃত্তি করে । লুপ পরবর্তী অব্যাহত উপাদানটিকে sertোকানোর জন্য সঠিক জায়গা না পাওয়া পর্যন্ত সাজানো উপাদানগুলি স্থানচ্যুত করা হয়।

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

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


23

নির্বাচন বাছাই
অনুমান করুন যে কোনও নির্দিষ্ট / এলোমেলো ফ্যাশনটিতে লিখিত সংখ্যার অ্যারে রয়েছে এবং আসুন আমরা বলতে পারি যে আমরা ক্রমবর্ধমান ক্রমটি সাজানোর ব্যবস্থা করছি ... সুতরাং, একবারে একটি সংখ্যা নেব এবং সেগুলি সর্বাধিকতম নং দিয়ে প্রতিস্থাপন করব। তালিকায় উপলব্ধ। এই পদক্ষেপটি করার মাধ্যমে আমরা শেষ পর্যন্ত আমাদের পছন্দসই ফলাফলটি পেয়ে যাব।

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



সংক্ষিপ্তসারটি
একই ধরণের ধারণাকে মাথায় রেখে তবে পার্থক্যটি হ'ল এবার আমরা একটি বারে একটি সংখ্যা নির্বাচন করছি এবং এটি পূর্বনির্ধারিত অংশে সন্নিবেশ করিয়ে দিচ্ছি যা তুলনা হ্রাস করেছে এবং তাই আরও কার্যকর।

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


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

21

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

বাছাই করা অ্যালগরিদমগুলি বোঝার সহজ উপায়টি প্রায়শই অ্যালগরিদমের বিশদ বিবরণ পাওয়া যায় ("এই ধরণের অদলবদু ব্যবহার করে না এমন কোথাও। আমি কোথাও বলছি না") কিছু খেলনা কার্ড পান (5-10 পর্যাপ্ত হওয়া উচিত) সরল বাছাই অ্যালগরিদমের জন্য) এবং হাত ধরে অ্যালগরিদম চালান।

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

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

সন্নিবেশ সাজানোর করতে তার "স্ক্যান" সময়ে swap 'র ব্যবহার করেন, কিন্তু তা নয় এবং এটি সবচেয়ে কার্যকর উপায় যদি না আপনি একটি ডাটা টাইপ একটি অ্যারের বাছাই করা হয় না যা: (ক) স্থানান্তরিত করা যাবে না, শুধুমাত্র কপি বা আনা; এবং (খ) অদলবদলের চেয়ে অনুলিপি করা আরও ব্যয়বহুল। সন্নিবেশ সাজানোর ব্যবহার swap 'র আচরণ করে তাহলে এটার কাজের ধরনে যে আপনার একযোগে স্থানের জন্য অনুসন্ধান করা হয় এবং নতুন উপাদান বললে, বারবার এটা আগে অবিলম্বে উপাদান সাথে নতুন উপাদান সোয়াপিং দ্বারা, যতদিন উপাদান হিসেবে আগেই চেয়ে বড় জন্য এটা। একবার আপনি কোনও উপাদানের কাছে পৌঁছনো যা বড় নয়, আপনি সঠিক অবস্থানটি খুঁজে পেয়েছেন এবং আপনি পরবর্তী নতুন উপাদানটিতে চলে যান।


1
এটি অত্যন্ত সহায়ক ... সর্বশেষ অনুচ্ছেদটি আমার মধ্যে যে বিভ্রান্তি ছিল তা পেয়ে যায় যা প্রতিটি ধরণের রূপগুলি থেকে উদ্ভূত হয়েছিল।
eb80

1
সংযুক্ত তালিকায় সন্নিবেশ বাছাই করা কোনও ইন-প্লেস
অ্যারেয়ের

11

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

  • সন্নিবেশ সাজান : সঠিক উপাদানটিতে পরবর্তী উপাদান সন্নিবেশ করানো হয়;

  • নির্বাচনের সাজান : ক্ষুদ্রতম উপাদান নির্বাচন করে এবং বর্তমান আইটেমটির সাথে এটি বিনিময় করে;

এছাড়াও, সন্নিবেশ সাজানোর স্থিতিশীল, যেমন বিরোধিতা নির্বাচন সাজানোর

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

def insertion(data):
    data_size = len(data)
    current = 1
    while current < data_size:
        for i in range(current):
            if data[current] < data[i]:
                temp = data[i]
                data[i] = data[current]
                data[current] = temp

        current += 1

    return data

একটি ছোট পরিবর্তন দ্বারা নির্বাচন বাছাইয়ের অ্যালগরিদম করা সম্ভব।

def selection(data):
    data_size = len(data)
    current = 0
    while current < data_size:
        for i in range(current, data_size):
            if data[i] < data[current]:
                temp = data[i]
                data[i] = data[current]
                data[current] = temp

        current += 1

    return data

দুঃখিত, আমি ভাবছিলাম কেন (নির্বাচনের ধরণের অ্যালগোরিদম), যখনই ডেটা [i] ডেটা ছোট হয় তখন ডেটা [বর্তমান] ডেটা বিনিময় হয়। (?) মৌলিক / মূল নির্বাচন সাজানোর, আমরা সীমার মধ্যে সর্বনিম্ন মান (ঝ, data_size) এবং ডেটা বিনিময় [আমি] যে সর্বনিম্ন মান সঙ্গে ... যেটা একটু ভিন্ন হয় ... এটি
টনি মা

4

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


4

সংক্ষেপে,

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

সন্নিবেশ সাজানোর: এটি নির্বাচন সাজানোর বিপরীতে যেখানে এটি অরসেটেড সাব-অ্যারে থেকে প্রথম উপাদানটি নিয়ে আসে এবং এটি সাজানো সাব-অ্যারের সাথে তুলনা করে এবং সর্বাধিকতম উপাদানটি সন্নিবেশ করায় যেখানে পাওয়া যায় এবং সাজানো সমস্ত উপাদানকে তার ডান থেকে প্রথম অরক্রাণিত উপাদানটিতে স্থানান্তর করে।


3

আমি এটি আরও একটি চেষ্টা করব: প্রায় সাজানো অ্যারের ভাগ্যবান ক্ষেত্রে কী ঘটে তা বিবেচনা করুন।

বাছাইয়ের সময় অ্যারের দুটি অংশ থাকার কথা ভাবা যেতে পারে: বাম হাতের দিক - সাজানো, ডান হাতের দিক - সাজানো না থাকা।

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

বাছাই বাছাই করুন - প্রথম অরক্ষিত উপাদান বেছে নিন এবং পুরো অরসোর্টড অংশের ক্ষুদ্রতম উপাদানটি অনুসন্ধান করার চেষ্টা করুন এবং আকাঙ্ক্ষিত হলে সেই দুটি বিনিময় করুন। সমস্যাটি হ'ল যেহেতু ডান অংশটি অকার্যকর রয়েছে তাই আপনাকে প্রতিবার প্রতিটি উপাদান বিবেচনা করতে হবে, যেহেতু আপনি সম্ভবত নিশ্চিত হতে পারবেন না যে বাছাই করা অংশটির চেয়ে ছোট উপাদান রয়েছে কি না।

বিটিডব্লু ।, সিলেকশন সাজানোর ক্ষেত্রে হিপসোর্টটি ঠিক এটিই উন্নত করে - এটি স্তূপের কারণে ক্ষুদ্রতম উপাদানটি আরও দ্রুত খুঁজে পেতে সক্ষম হয় ।


3

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

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


3

উভয় অ্যালগরিদম সাধারণত এইভাবে কাজ করে

পদক্ষেপ 1: তারপরে অরসোর্টড তালিকা থেকে পরবর্তী অব্যবহৃত উপাদানটি নিন

পদক্ষেপ 2: বাছাই তালিকায় এটি সঠিক জায়গায় রাখুন।

একটি অ্যালগরিদম এবং তদ্বিপরীত পক্ষে এক ধাপ সহজ।

সন্নিবেশ বাছাই : আমরা বাছাই করা তালিকার প্রথম উপাদানটি নিয়েছি, সাজানো তালিকায় রাখি, কোথাও । আমরা যেখানে পরবর্তী উপাদান (পাঁচমিশালী তালিকায় প্রথম স্থান) নিতে জানি, কিন্তু এটা কিছু কাজ যেখানে এটা করা (প্রয়োজন এটি কোথাও ) । পদক্ষেপ 1 সহজ।

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


2

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

  1. অভ্যন্তরীণ লুপটি তার গড় অর্ধেক অংশের মধ্য দিয়ে যাবে।
  2. অ্যারে প্রায় বাছাই করা থাকলে খুব শীঘ্রই অভ্যন্তরীণ লুপটি বাতিল করা হবে।
  3. যদি অ্যারে ইতিমধ্যে সাজানো থাকে তবে অভ্যন্তরীণ লুপটি তত্ক্ষণাত বন্ধ হয়ে যাবে, এই ক্ষেত্রে সন্নিবেশকে বাছাইয়ের রৈখিকতার জটিলতা তৈরি করে।

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


1

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

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

সন্নিবেশ সাজানো হিসাবে প্রদর্শিত হতে পারে:

    for(i=1;i<n;i++)
        for(j=i;j>0;j--)
            if(arr[j]<arr[j-1])
                temp=arr[j];
                arr[j]=arr[j-1];
                arr[j-1]=temp;

বাছাই বাছাই হিসাবে প্রদর্শিত হতে পারে:

    for(i=0;i<n;i++)
        min=i;
        for(j=i+1;j<n;j++)
        if(arr[j]<arr[min])
        min=j;
        temp=arr[i];
        arr[i]=arr[min];
        arr[min]=temp;

1

এই 2 বাছাই করা অ্যালগরিদমগুলির পছন্দটি ব্যবহৃত ডেটা কাঠামোতে নেমে আসে।

আপনি যখন অ্যারে ব্যবহার করছেন, নির্বাচনের ধরণটি ব্যবহার করুন (তবে কেন আপনি যখন Qsort ব্যবহার করতে পারেন?)। আপনি যখন লিঙ্কযুক্ত তালিকাগুলি ব্যবহার করছেন, সন্নিবেশ সাজান ব্যবহার করুন।

এই কারণ:

  • লিঙ্কযুক্ত তালিকার ট্র্যাভারসাল অ্যারের চেয়ে বেশি ব্যয়বহুল।
  • লিঙ্কযুক্ত তালিকা সন্নিবেশ অ্যারের তুলনায় অনেক কম সস্তা।

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

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


0

একটি সাধারণ ব্যাখ্যা নীচে হিসাবে হতে পারে:

প্রদত্ত : একটি অরসেটেড অ্যারে বা সংখ্যাগুলির তালিকা।

সমস্যা বিবৃতি : বাছাই বাছাই করুন এবং সারণি অনুসারে বাছাইয়ের মধ্যে পার্থক্যটি বোঝার জন্য আরোহী ক্রমে সংখ্যার তালিকা / অ্যারে বাছাই করা।

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

বাছাই বাছাই করুন:আসুন ধরে নেওয়া যাক যে তালিকা / অ্যারের প্রথম সূচক উপাদানটি সাজানো হয়েছে। এখন দ্বিতীয় সূচকের উপাদান থেকে, আমরা এর আগের সূচকের সাথে এটির তুলনা করে দেখুন মূল্যটি আরও কম কিনা। ট্র্যাভারসালটি দুই ভাগে ভাগ করা যায়, বাছাই করা এবং সাজানো না থাকা। তালিকা / অ্যারেতে প্রদত্ত সূচকের জন্য বাছাই করা দিক থেকে অরসেটড থেকে এক তুলনা চেকটি কল্পনা করা হবে। আসুন ধরা যাক আপনার সূচকে 1 এর মান 19 এবং সূচক 3 এর 10 টি মান রয়েছে We আমরা সাজানো থেকে বাছাই করা থেকে ডান বামে ট্র্যাভারসাল বিবেচনা করি। সুতরাং, আসুন আমরা সূচক 3 অনুসারে বাছাই করতে পারি বলে মনে করি আমরা যখন ডান থেকে বামে তুলনা করি তখন এর সূচক 1 এর চেয়ে কম মান থাকে। একবার চিহ্নিত হয়ে গেলে, আমরা সূচকে 3 এর এই 10 নম্বরটি সূচক 1 এর স্থানে রেখেছি যার মান 19 হবে index

ট্র্যাভারসাল পদ্ধতির ধারণাটি বোঝার বিষয়ে প্রশ্নটি মনে হওয়ায় আমি কোনও কোড যুক্ত করি নি।


0

সন্নিবেশ সাজানোর জিনিসগুলি অদলবদল করবেন না। যদিও এটি কোনও টেম্প ভেরিয়েবল ব্যবহার করে, টেম্প ভার ব্যবহারের বিষয়টি যখন আমরা সূচকটিতে একটি মানকে তার আগের সূচকের তুলনায় কম দেখতে পাই তখন আমরা বৃহত্তর মানকে কম মানের জায়গায় স্থানান্তরিত করি সূচি যা জিনিস লিখতে হবে। তারপরে আমরা পূর্বের সূচকগুলিতে প্রতিস্থাপন করতে টেম্প ভার ব্যবহার করি। উদাহরণ: 10, 20, 30, 50, 40. পুনরাবৃত্তি 1: 10, 20, 30, 50, 50. [অস্থায়ী = 40] পুনরাবৃত্তি 2: 10,20, 30, 40 (টেম্পের মান), 50. সুতরাং, আমরা কিছু পরিবর্তনশীল থেকে পছন্দসই অবস্থানে একটি মান সন্নিবেশ করুন।

তবে যখন আমরা বাছাই বাছাইয়ের বিষয়টি বিবেচনা করি, আমরা প্রথমে সূচকটিকে কম মান বলে খুঁজে পাই এবং প্রথম সূচকের মানের সাথে সেই মানটি অদলবদল করি এবং সমস্ত সূচকগুলি বাছাই না হওয়া পর্যন্ত বারবার অদলবদল করতে থাকি। এটি দুটি সংখ্যার traditionalতিহ্যগত অদলবদলের মতোই। উদাহরণ: 30, 20, 10, 40, 50. আইট্রেশন 1: 10, 20, 30, 40, 50. এখানে টেম্প ভেরি অদলবদল করার জন্য ব্যবহৃত হয়।


0

সন্নিবেশ সাজানোর কাজটি আরও অনেক কিছু করে selection এখানে একটি উদাহরণ:

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


0

তাদের উভয়ের মধ্যে যা মিল রয়েছে তা হ'ল তারা উভয়ই একটি পার্টিশন ব্যবহার করে অ্যারের এবং বাছাই করা অংশের সাজানো অংশের মধ্যে পার্থক্য করতে partition

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

কারণ হ'ল, কারণ নির্বাচনটি ন্যূনতম সাজানো সেটটির সর্বনিম্ন অনুসন্ধান করে এবং এটি সাজানো সেটের শেষ উপাদানটির ঠিক পরে যুক্ত করে, এর ফলে সাজানো সেটটি 1 দ্বারা বাড়িয়ে তোলে।

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

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

উপসংহার:

সিলেক্ট সাজ্ট ক্রমহ্রাসমানভাবে অরসোর্টড বিভাগে ন্যূনতম উপাদানটি সন্ধান করে একটি উপাদান যুক্ত করে।

সন্নিবেশ সাজানোর মাধ্যমে সাজানো বিভাগের যে কোনও জায়গায় অরসোর্টড বিভাগে পাওয়া প্রথম উপাদানটিকে প্রচার করা হয়।


0

যদিও নির্বাচনের বাছাই এবং সন্নিবেশ সাজানোর সময় জটিলতা একই, এটি n (n - 1) / 2। গড় পারফরম্যান্স সন্নিবেশ সাজানো আরও ভাল। আমার i5 সিপিইউতে এলোমেলো 30000 পূর্ণসংখ্যার সাথে পরীক্ষিত, বাছাই বাছাই করা গড় 1.5.s হয়েছে, যখন সন্নিবেশ সাজানোর গড় 0.6s নেয়।


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

-1

সাধারণ লোকের ভাষায়, (এবং সম্ভবত সমস্যার উচ্চ স্তরের উপলব্ধি অর্জনের সবচেয়ে সহজ উপায়)

বুদ্বুদ বাছাই একটি লাইনে দাঁড়িয়ে নিজেকে উচ্চতার সাথে সাজানোর চেষ্টা করার মতো similar আপনি সঠিক জায়গায় না আসা পর্যন্ত আপনি আপনার পাশের ব্যক্তির সাথে স্যুইচিং চালিয়ে যান। এটি বাম দিক থেকে (বা প্রয়োগের উপর নির্ভর করে ডানদিকে) পুরোপুরি ঘটে এবং প্রত্যেককে বাছাই করা অবধি আপনি স্যুইচিং চালিয়ে যান keep

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


3
তিনি যদিও বাছাই এবং সন্নিবেশ সাজানোর মধ্যে পার্থক্য সম্পর্কে জিজ্ঞাসা করছেন
XuDing

-1

নির্বাচন-নির্দিষ্ট আইটেমটি নির্বাচন করা (সর্বনিম্ন) এবং i (পুনরাবৃত্তির কোনও নয়) তম উপাদান দিয়ে এটিকে স্যুপ করে। (যেমন, প্রথম, দ্বিতীয়, তৃতীয় .......) তাই একদিকে বাছাই করা তালিকা তৈরি করা making

সন্নিবেশ - প্রথম তুলনার সাথে দ্বিতীয় তুলনা তৃতীয় দ্বিতীয় এবং প্রথম সাথে চতুর্থ তুলনা তৃতীয়, দ্বিতীয় এবং প্রথম ......

একটি লিঙ্ক যেখানে সমস্ত বাছাইয়ের তুলনা করা হয়

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