পাইথনের বিল্ট ইন সাজানো () পদ্ধতি সম্পর্কে


104

sort()পাইথনের পদ্ধতিতে বিল্ট ইন কোন অ্যালগরিদম ব্যবহার করা হয়? এই পদ্ধতির কোডটি কি একবার পাওয়া সম্ভব?


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

সংস্করণটি কি গুরুত্বপূর্ণ?
মধ্যস্থতা ওমুরিলিভ

@ মল্ডার: না =) আমি কেবল একটি প্রো অ্যালগরিদমটি দেখতে চাই: পি @ ক্রিস: কীভাবে?
জোহানেস

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

এখানে এটি ব্যবহারের একটি উদাহরণ
হরি গণেশান

উত্তর:


119

নিশ্চিত! কোডটি এখানে রয়েছে , ফাংশন দিয়ে শুরু হয়ে কিছু isltসময়ের জন্য কোয়েড ;-) ing ক্রিসের মতামত অনুসারে, এটি সি কোড। আপনি এই পাঠ্য ফাইলটি একটি পাঠ্য ব্যাখ্যা, ফলাফল ইত্যাদির জন্যও পড়তে চাইবেন

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

টাইমসোর্টের জাভা বন্দরের কিছু ব্যাখ্যা এখানে , ডিফ এখানে রয়েছে (সমস্ত প্রয়োজনীয় ফাইলগুলিতে পয়েন্টার সহ), মূল ফাইলটি এখানে রয়েছে - এফডাব্লুআইডাব্লু, আমি জাভা প্রোগ্রামারের চেয়ে ভাল সি প্রোগ্রামার, এই ক্ষেত্রে আমি খুঁজে পাই টিউমের সি কোড ;-) এর চেয়ে সামগ্রিকভাবে জোশুয়ার জাভা কোড বেশি পঠনযোগ্য।


4
@ ক্রিস, "পাইথন উত্সগুলি ব্রাউজ করুন" আমার ব্রাউজারের সমস্ত বুকমার্ক বারগুলিতে একটি শর্টকাট - এটি svn.python.org/view/python/trunk ; -)- এ নির্দেশ করে ।
অ্যালেক্স মার্টেলি

আমি জানতে চাই যে ফাংশনটি কী list_ass_item()করে। :)
ক্রিস লুটজ

2
তালিকার একটি আইটেমে অ্যাসাইনমেন্ট সঞ্চালিত হয় (ঠিক যেমন list_ass_slice তালিকার একটি টুকরোতে কার্য সম্পাদন করে), বাছাইয়ের সাথে কিছুই করার থাকে না। আমার ধারণা "অ্যাসাইনমেন্ট" এর সংক্ষিপ্তসার নামটি মজাদার করে তোলে ...
অ্যালেক্স মার্টেলি

3
বর্তমান সংস্করণ এর listsort.txtঠিকানাটি সাধারণ বিভ্রান্তি কিছু নোট যোগ করা হয়েছে।
টিম পিটারস

31

আমি কেবল একটি খুব সহায়ক লিঙ্ক সরবরাহ করতে চেয়েছিলাম যা আমি অ্যালেক্সের অন্যথায় ব্যাপক উত্তরে মিস করেছি: পাইথনের টাইমসোর্টের একটি উচ্চ-স্তরের ব্যাখ্যা (গ্রাফ ভিজ্যুয়ালাইজেশন সহ!)।

(হ্যাঁ, অ্যালগরিদমটি মূলত এখন টিমসোর্ট নামে পরিচিত )


9

অজগর-সংস্করণগুলির প্রথমদিকে, সাজানো ফাংশনটি কুইকোর্টের একটি পরিবর্তিত সংস্করণ প্রয়োগ করে। তবে এটিকে অস্থির হিসাবে বিবেচনা করা হয়েছিল এবং ২.৩ হিসাবে তারা একটি অভিযোজিত সংহতকরণ অ্যালগরিদম ব্যবহার করে স্যুইচ করেছেন।


কুইকোর্টটি 'অস্থির বলে মনে করা হয় না' - সাধারণত ব্যবহৃত সংজ্ঞা অনুসারে কুইকোর্টটি অস্থির হয় - এটি হল দুটি সামগ্রীর মূল ক্রম সংরক্ষণ করা হয় না, যদি তারা এই ধরণের সময় সমান হয়। অস্থির সাজানোর অ্যালগরিদম হওয়ার অর্থ আপনি একাধিক মানদণ্ডের সাথে সংবেদনশীলভাবে ডেটা সাজানোর জন্য সমস্ত ধরণের 'যাদু' নিয়ে আসতে হবে, কেবলমাত্র ডিওবি অনুসারে বাছাই করতে চাইলে টাইমসোর্টে - যদি আপনি ডিওবি অনুসারে বাছাই করতে চান তবে টাইমসোর্টে , আপনি কেবল প্রথমে নাম অনুসারে বাছাই করুন, এবং তারপরে ডিওবি আপনি চটজলদি দিয়ে এটি করতে পারবেন না
টনি সাফলক 66
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.