আমি মনে করি যে আমি এখন একটি অনানুষ্ঠানিক নিম্ন সীমানা প্রদর্শন করতে পারি। ধারণাটি হ'ল তুলনামূলক শাখা কর্মসূচীর পরিবারের সাথে এই জাতীয় কোনও প্রোগ্রাম বাস্তবায়ন করা। 'কেবল পঠনযোগ্য' অনুমানের অর্থ হ'ল আমাদের শাখা প্রশাখার প্রোগ্রামগুলির পরিবার অল্প, অর্থাত্ , স্পেস ব্যবহার করে। তারপরে আমরা নীচে সীমাবদ্ধ এস টি = Ω ( এন 2 ) প্রয়োগ করি বোরোডিন এট আল দ্বারা প্রমাণিত। "অ-বিস্মৃত যন্ত্রগুলিতে বাছাইয়ের জন্য একটি সময়-স্পেস ট্রেড অফ" in এটি আমাদেরকে একটি এন 2 / লগ এন সময়ের জন্য নিম্ন সীমাবদ্ধ করে।O(logn)ST=Ω(n2)n2/logn
আরও কিছু বিশদে বিশদ: আমরা উপরের 5 অপারেশন দিয়ে সরবরাহ করতে পারি। আলগাভাবে বলতে গেলে, আমরা যদি ইতিমধ্যে দুটি তালিকার মাথাগুলির তুলনা করতে পারি এবং একটি তালিকার শীর্ষস্থানীয় মুদ্রণ করতে পারি, তবে আমাদের কোনও নিবন্ধের তালিকার মাথা আলাদা করার দরকার নেই। এটি ধরে নিলে, আমরা দেখতে পাই যে মেশিনে প্রতিটি রেজিস্টার কেবল ইনপুটটির একটি চূড়ান্ত সাবস্ট্রিং সঞ্চয় করে।
ধরুন আমাদের রেজিস্টার প্রোগ্রামে কোড এবং কে রেজিস্টারগুলির লাইন রয়েছে , এক্স 1 , … , এক্স কে ।ℓkX1,…,Xk
ঠিক করা । আমরা নীচে n দৈর্ঘ্যের স্ট্রিংগুলির জন্য তুলনা শাখা প্রোগ্রাম তৈরি করি । প্রতিটি টিপল ( i , d 1 , … , d কে ) এর জন্য একটি নোড তৈরি করুন যেখানে 1 ≤ i ≤ ℓ এবং 0 ≤ d 1 , … , ডি কে ≤ এন । ধারণাটি হ'ল, রেজিস্টার মেশিনে গণনাগুলি ব্রাঞ্চিং প্রোগ্রামের পাথের সাথে সামঞ্জস্যপূর্ণ এবং আমরা নোডে আছি ( i , d 1 , … , d)nn(i,d1,…,dk)1≤i≤ℓ0≤d1,…,dk≤n যদি আমরা লাইনে আছেন আমি রেজিস্টার মেশিন এবং স্ট্রিং সঞ্চিত দৈর্ঘ্য এক্স আমি হয় ঘ আমি । এখন, আমাদের ব্রাঞ্চিং প্রোগ্রামের নির্দেশিত প্রান্তগুলি নির্ধারণ করতে হবে(i,d1,…,dk)iXidi
লাইন যদি ফর্ম হয়i
যদি তারপর এতে যান আমি 1 আর এতে যান আমি 2Xu<Xvi1i2
তারপরে সমস্ত , নোডের জন্য ( i , d 1 , … , d কে ) ইনপুটটির d u -th এবং d v -th উপাদানটির তুলনা করে লেবেলযুক্ত এবং "সত্য" প্রান্তে যেতে হবে ( i 1 , d 1 , … , d কে ) এবং "মিথ্যা" প্রান্তটি ( i 2 , d 1 , … , d k)d1,…,dk(i,d1,…,dk)dudv(i1,d1,…,dk) ।(i2,d1,…,dk)
লাইন যদি ফর্ম হয়i
, এতে যান লাইন আমি 'X1←tail(X2)i′
তারপরে যে কোনও নোড থেকে ( i ′ , d 2 - 1 , … , ডি কে ) থেকে একটি তীর রয়েছে ।(i,d1,…,dk)(i′,d2−1,…,dk)
লাইন যদি ফর্ম হয়i
, এতে যান লাইন আমি 'print(head(Xu))i′
তারপরে যে কোনও নোড থেকে ( i ′ , d 1 , … , d কে ) থেকে একটি তীর রয়েছে যা ইনপুটটির ডি ইউ- নথ দ্বারা লেবেলযুক্ত রয়েছে ।(i,d1,…,dk)(i′,d1,…,dk)du
আশা করি এই উদাহরণগুলি স্পষ্ট করে দিয়েছে যে আমি কীভাবে আমার শাখা প্রশাখার প্রোগ্রামটি তৈরির পরিকল্পনা করি। সব কিছু বলা এবং হয়ে গেলে, এই শাখাগুলি প্রোগ্রামটিতে সর্বাধিক নোড থাকে, সুতরাং এতে স্পেস ও ( লগ এন ) থাকেℓ⋅nkO(logn)