BazelCon 2022 16-17 নভেম্বর নিউ ইয়র্ক এবং অনলাইনে আসছে। নিবন্ধন আজ!
নতুন: 15 নভেম্বর সম্প্রদায় দিবসের জন্য আমাদের সাথে যোগ দিন! বিস্তারিত এবং নিবন্ধন.

ডিপসেট

সেভ করা পৃষ্ঠা গুছিয়ে রাখতে 'সংগ্রহ' ব্যবহার করুন আপনার পছন্দ অনুযায়ী কন্টেন্ট সেভ করুন ও সঠিক বিভাগে রাখুন।

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

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

ডিপসেটগুলি অপরিবর্তনীয়। তাদের কনস্ট্রাক্টর ফাংশন ব্যবহার করে তৈরি করা উচিত এবং transitive আর্গুমেন্টের মাধ্যমে অন্যান্য ডিপসেটের সাথে একত্রিত বা পরিবর্ধিত করা উচিত।

order প্যারামিটার নির্ধারণ করে যে ধরনের ট্রাভার্সাল ডিপসেটকে একটি পুনরাবৃত্তিযোগ্য রূপে রূপান্তর করতে করা হয়। চারটি সম্ভাব্য মান আছে:

  • "default" (পূর্বে "stable" ): অর্ডার অনির্দিষ্ট (কিন্তু নির্ধারক)।
  • "postorder" (পূর্বে "compile" ): একটি বাম-থেকে-ডান পোস্ট-অর্ডারিং। সুনির্দিষ্টভাবে, এটি পুনরাবৃত্তিমূলকভাবে সমস্ত শিশুকে বাম-প্রথমে, তারপর সরাসরি উপাদানগুলিকে বাম-প্রথমে অতিক্রম করে।
  • "preorder" (পূর্বে "naive_link" ): একটি বাম-থেকে-ডান প্রি-অর্ডার। সুনির্দিষ্টভাবে, এটি সরাসরি বাম-প্রথম উপাদানগুলিকে অতিক্রম করে, তারপরে বামদিকে-প্রথমে শিশুদেরকে পুনরাবৃত্তি করে৷
  • "topological" (পূর্বে "link" ): মূল থেকে পাতা পর্যন্ত একটি টপোলজিক্যাল ক্রম। কোন বাম থেকে ডান গ্যারান্টি নেই.

দুটি ডিপসেট শুধুমাত্র তখনই একত্রিত হতে পারে যদি হয় উভয় ডেপসেটের একই ক্রম থাকে, অথবা তাদের একটির "default" ক্রম থাকে। পরবর্তী ক্ষেত্রে ফলাফল ডিপসেটের ক্রম অন্যটির আদেশের মতোই হবে।

ডিপসেটগুলিতে ডুপ্লিকেট মান থাকতে পারে তবে পুনরাবৃত্তি করার সময় এগুলি চাপা দেওয়া হবে ( to_list() ব্যবহার করে)। ডুপ্লিকেট ক্রম শব্দার্থবিদ্যায় হস্তক্ষেপ করতে পারে।

সদস্যরা

তালিকা

list depset.to_list()

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