অনুসন্ধান এবং বাছাইয়ের অ্যালগরিদমগুলি হ'ল জনপ্রিয় অ্যালগরিদম যে কোনও প্রোগ্রামিং ভাষায়। সেগুলি প্রোগ্রামিংয়ের মূল বিষয়গুলি বোঝার ভিত্তি। এর মধ্যে একটি জনপ্রিয় অনুসন্ধান অ্যালগরিদম হ'ল বাইনারি অনুসন্ধান ইন । এই নিবন্ধে, আমি আপনাকে এর বাস্তবায়ন সম্পর্কে সমস্ত কিছু বলব।
নীচে বিষয়গুলি এই নিবন্ধে আচ্ছাদিত রয়েছে:
- বাইনারি অনুসন্ধান কি?
- বাইনারি অনুসন্ধান অ্যালগরিদম বাস্তবায়ন করা হচ্ছে
- পুনরাবৃত্তি বাইনারি অনুসন্ধান
চল শুরু করি!
বাইনারি অনুসন্ধান কি?
বাইনারি অনুসন্ধান ইহা একটি সন্ধান করা অ্যালগরিদম যা বাছাইয়ের মধ্যে লক্ষ্য মানের অবস্থান খুঁজে পায় অ্যারে । বাইনারি অনুসন্ধান অ্যারের মাঝের উপাদানটির সাথে লক্ষ্য মানটির তুলনা করে। এটাউপাদানগুলির একটি সাজানো সেটগুলিতে কাজ করে। একটি সংগ্রহে বাইনারি অনুসন্ধান ব্যবহার করতে প্রথমে বাছাই করতে হবে
যখন বাছাই করা সেটটিতে ক্রিয়াকলাপ করতে ব্যবহৃত হয়, অনুসন্ধানের মানটির ভিত্তিতে পুনরাবৃত্তির সংখ্যা সর্বদা হ্রাস করা যায়। উপরের স্ন্যাপশটটিতে এটি সন্ধানের জন্য দেখতে পাবেন মাঝারি উপাদান । বাইনারি অনুসন্ধানের সাদৃশ্যটি অ্যারে বাছাই করা তথ্য ব্যবহার করা এবং সময়ের জটিলতা হ্রাস করা ও (লগ এন) ।
বাইনারি অনুসন্ধান অ্যালগরিদম বাস্তবায়ন করা হচ্ছে
আসুন নীচের সিউডো কোডটি আরও ভাল করে বোঝার জন্য এটি একবার দেখে নেওয়া যাক।
প্রক্রিয়া বাইনারি_সেরাআরএ & লার সাজানো অ্যারের এন & লার আকারের অনুসন্ধান করা হবে অ্যারে এক্স & লার মান সন্ধান করুন কম সেট করুন = 1 সেট উচ্চ = এন সেট করুন তবে এক্স পাওয়া গেল না তবে উচ্চব্যাখ্যা:
ধাপ 1: প্রথমে মধ্যের উপাদানটির সাথে এক্স তুলনা করুন।
ধাপ ২: X যদি মাঝারি উপাদানটির সাথে মিলে যায় তবে আপনাকে মিড ইনডেক্সটি ফিরিয়ে দিতে হবে।
ধাপ 3: অন্যথায়, x যদি মাঝারি উপাদানের চেয়ে বড় হয় তবে x মাঝের উপাদানটির পরে কেবল ডান দিকের অর্ধে অ্যারেতে থাকতে পারে। সুতরাং আপনি ডান অর্ধেক পুনরাবৃত্তি।
পদক্ষেপ 4: অন্যথায়, যদি (x ছোট হয়) তবে বাম অর্ধেকের জন্য পুনরাবৃত্তি করুন।
প্রদত্ত অ্যারেতে আপনাকে কীভাবে উপাদান অনুসন্ধান করতে হবে তা এইভাবে।
জাভাতে একটি শক্তিতে একটি সংখ্যা বাড়ানোআসুন এখন দেখা যাক কীভাবে পুনরাবৃত্তভাবে বাইনারি অনুসন্ধান অ্যালগরিদম প্রয়োগ করা যায়। প্রোগ্রাম নীচে একই প্রদর্শন করে।
পুনরাবৃত্তি বাইনারি অনুসন্ধান
পাবলিক ক্লাস বাইনারিস সার্চ {// পুনরাবৃত্ত বাইনারি সন্ধানের জাভা প্রয়োগ // এক্স এর সূচক রিটার্নস যদি এটি উপস্থিত থাকে [l..h], অন্যথায় ফিরে আসুন -1 ইন্ট বাইনারি অনুসন্ধান (ইনট্রে [ x) {if (h> = l) {int মধ্য = l + (h - l) / 2 // উপাদানটি মাঝখানে উপস্থিত থাকলে যদি (একটি [মধ্য] == x) মাঝারি ফিরে আসে // যদি উপাদান মাঝের চেয়ে ছোট, তবে এটি কেবল বাম সাবহারে উপস্থিত থাকতে পারে যদি (একটি [মধ্য]> এক্স) বাইনারি অনুসন্ধান (এআর, এল, মধ্য - 1, এক্স) ফেরত আসে // অন্য উপাদানটি কেবল ডান সাবহারে রিটার্ন বাইনারি অনুসন্ধানে উপস্থিত থাকতে পারে (আরআর, মধ্য +1, জ, এক্স)} // উপাদান অ্যারে রিটার্নে উপস্থিত না থাকাকালীন আমরা এখানে পৌঁছেছি -1} পাবলিক স্ট্যাটিক শূন্য মূল (স্ট্রিং আরগস []) inary বাইনারিস অনুসন্ধান ob = নতুন বাইনারি অনুসন্ধান () ইনট ইন [] = {20, 30, 40, 10, 50} int n = a.leth int x = 40 int res = ob.binarySearch (a, 0, n - 1, x) যদি (res == -1) System.out .println ('এলিমেন্ট উপস্থিত নেই') অন্য System.out.println ('সূচীতে এলিমেন্ট পাওয়া গেছে + + রেজাল্ট)}}উপরের প্রোগ্রামটি সম্পাদন করার সময়, এটি নির্দিষ্ট সূচীতে উপস্থিত উপাদান সনাক্ত করবে
সূচক 2 এ উপাদান পাওয়া গেছেসুতরাং এটি আমাদের বাইনারি অনুসন্ধানের শেষে নিয়ে আসে জাভা নিবন্ধ। আমি আশা করি আপনি এটি তথ্যপূর্ণ পেয়েছেন এবং বুঝতে আপনাকে সহায়তা করেছেন helped ।
দেখুন এডুরেকা, বিশ্বস্ত জুড়ে 250,000 এরও বেশি সন্তুষ্ট শিক্ষার্থীর নেটওয়ার্ক সহ একটি বিশ্বস্ত অনলাইন লার্নিং সংস্থা by এই জাভা সাক্ষাত্কারের প্রশ্নগুলি ছাড়াও আপনার যাত্রার প্রতিটি পদক্ষেপে আপনাকে সহায়তা করতে আমরা এখানে আছি। আমরা এমন একটি পাঠ্যক্রম নিয়ে এসেছি যা জাভা বিকাশকারী হতে চান এমন শিক্ষার্থী এবং পেশাদারদের জন্য নকশাকৃত। কোর্সটি আপনাকে জাভা প্রোগ্রামিংয়ে একটি প্রধান সূচনা দেওয়ার জন্য এবং হাইবারনেট ও স্প্রিংয়ের মতো বিভিন্ন জাভা ফ্রেমওয়ার্কের পাশাপাশি মূল এবং উন্নত জাভা উভয় ধারণার জন্য প্রশিক্ষণের জন্য তৈরি করা হয়েছে।
ক্ষেত্রে বাইনারি অনুসন্ধান প্রয়োগ করার সময় আপনি যদি কোনও সমস্যার মুখোমুখি হন , দয়া করে নীচের মন্তব্য বিভাগে এটি উল্লেখ করুন এবং আমরা শীঘ্রই আপনার কাছে ফিরে আসব।