কম্পিউটার

পাইথন অ্যারে দ্বিখণ্ডিত অ্যালগরিদম


তালিকার অবস্থান খুঁজে পেতে দ্বিখণ্ডিত অ্যালগরিদম ব্যবহার করা হয়, যেখানে তালিকাটি সাজানো রাখার জন্য ডেটা সন্নিবেশ করা যেতে পারে। Python-এর bisect নামে একটি মডিউল আছে . এই মডিউলটি ব্যবহার করে, আমরা দ্বিখণ্ডিত অ্যালগরিদম ব্যবহার করতে পারি।

এই মডিউলটি ব্যবহার করতে, আমাদের এটি −

ব্যবহার করে আমদানি করা উচিত
আমদানি দ্বিখণ্ডিত

কিছু দ্বিখণ্ডিত সংক্রান্ত অপারেশন আছে. এগুলো হল -

পদ্ধতি bisect.bisect(তালিকা, উপাদান, শুরু, শেষ)

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

পদ্ধতি bisect.bisect_left(তালিকা, উপাদান, শুরু, শেষ)

এই পদ্ধতিটি bisect() পদ্ধতির মতই। শুধুমাত্র পার্থক্য হল, যদি আইটেমটি ইতিমধ্যেই উপস্থিত থাকে তবে এই পদ্ধতিটি ডেটা সন্নিবেশ করার জন্য সবচেয়ে বাম অবস্থানে ফিরিয়ে দেবে৷

পদ্ধতি bisect.bisect_right(তালিকা, উপাদান, শুরু, শেষ)

এই পদ্ধতিটি সম্পূর্ণরূপে bisect() পদ্ধতির মতো।

পদ্ধতি bisect.insort(তালিকা, উপাদান, শুরু, শেষ)

এই পদ্ধতিটি সঠিক অবস্থানে উপাদান সন্নিবেশ করার পরে একটি সাজানো তালিকা পেতে ব্যবহৃত হয়। যদি উপাদানটি ইতিমধ্যেই উপস্থিত থাকে তবে তালিকাটি সাজানোর জন্য এটি সঠিক অবস্থানে সন্নিবেশ করবে৷

পদ্ধতি bisect.insort_left(তালিকা, উপাদান, শুরু, শেষ)

এই পদ্ধতিটি insort() পদ্ধতির মতই। একমাত্র পার্থক্য হল, যদি উপাদানটি ইতিমধ্যেই উপস্থিত থাকে তবে তালিকাটি সাজানোর জন্য এটি সবচেয়ে বাম অবস্থানে সন্নিবেশ করবে৷

পদ্ধতি bisect.insort_right(তালিকা, উপাদান, শুরু, শেষ)

এই পদ্ধতিটি সম্পূর্ণরূপে insort() পদ্ধতির মতো।

উদাহরণ কোড

bisectmy_list =[11, 25, 36, 47, 56, 69, 69, 69, 78, 78, 91, 102, 120]মুদ্রণ করুন ('53 সন্নিবেশ করার সঠিক অবস্থান হল:' + str(bisect.bisect) (my_list, 53, 0, len(my_list))))print('69 সন্নিবেশ করার জন্য সঠিক ডান অবস্থান হল:' + str(bisect.bisect_right(my_list, 69, 0, len(my_list)))))মুদ্রণ('সঠিক 69 সন্নিবেশ করার জন্য বাম অবস্থান হল:' + str(bisect.bisect_left(my_list, 69, 0, len(my_list))))bisect.insort(my_list, 59, 0, len(my_list))print(my_list)bisect.insort_left (my_list, 78, 0, len(my_list))print(my_list)

আউটপুট

53 সন্নিবেশ করার জন্য সঠিক অবস্থান হল:469 সন্নিবেশ করার জন্য সঠিক ডান অবস্থান হল:869 সন্নিবেশ করার জন্য সঠিক বাম অবস্থান হল:5[11, 25, 36, 47, 56, 59, 69, 69, 69, 78, 78, 91, 102, 120][11, 25, 36, 47, 56, 59, 69, 69, 69, 78, 78, 78, 91, 102, 120] 

  1. পাইথন টিকিন্টারে পদ্ধতির পরে

  2. বিসেক্ট - পাইথনে অ্যারে দ্বিখণ্ডিত অ্যালগরিদম

  3. পাইথনে ক্লাস পদ্ধতি বনাম স্ট্যাটিক পদ্ধতি

  4. পাইথন সেটের ধরন