निम्नलिखित समस्या पर विचार करें:
इनपुट : सूचियां पूर्णांकों की
लक्ष्य : निर्धारित करें कि क्या पूर्णांक मौजूद है वह दोनों सूची में है।
मान लीजिए दोनों सूची आकार के हैं । क्या इस समस्या के लिए एक नियतात्मक, रैखिक-समय एल्गोरिथ्म है? दूसरे शब्दों में, क्या आप इस समस्या को हल कर सकते हैं समय का निर्धारण, यादृच्छिकता का उपयोग किए बिना?
दुर्भाग्य से, आप यह नहीं मान सकते कि सूची तत्व सभी छोटे हैं।
मैं देख सकता हूं कि इसे कैसे हल किया जाए एक यादृच्छिक एल्गोरिथ्म का उपयोग करके अपेक्षित समय: बेतरतीब ढंग से एक 2-सार्वभौमिक हैश फ़ंक्शन चुनें के तत्वों को संग्रहित करें एक हैशटेब में (उपयोग करके) हैश फ़ंक्शन के रूप में), और फिर प्रत्येक तत्व को देखें देखना है कि क्या यह हैशटेबल में है। अपेक्षित रनिंग टाइम होगा। हालाँकि, मैं यह नहीं देख सकता कि कैसे नियतात्मक एल्गोरिथ्म का पता लगाया जाएकार्यकारी समय। यदि आप इसे डायग्राम करने और एक विशिष्ट हैश फ़ंक्शन को ठीक करने का प्रयास करते हैं, तो सबसे खराब स्थिति वाला इनपुट मौजूद होगा जो इस प्रक्रिया को चलाने का कारण बनता हैसमय। सबसे अच्छा निर्धारक एल्गोरिथ्म मैं पा सकता हूं जिसमें मूल्यों को क्रमबद्ध करना शामिल है, लेकिन यह रैखिक समय नहीं होगा। क्या हम रैखिक चलने का समय प्राप्त कर सकते हैं?
इसके अलावा, मैं यह देख सकता हूं कि इसे रैखिक समय में कैसे हल किया जाए यदि आप मानते हैं कि सभी सूची तत्व रेंज में पूर्णांक हैं (मूल रूप से, काउंटिंग सॉर्ट करें) - लेकिन मुझे इस बात में दिलचस्पी है कि जब हम ऐसा नहीं कर सकते तो सामान्य मामले में क्या होता है।
यदि उत्तर गणना के मॉडल पर निर्भर करता है, तो रैम मॉडल मन में कूद जाता है, लेकिन मैं गणना के किसी भी उचित मॉडल के लिए परिणामों में दिलचस्पी लेता हूं। मैं इससे अवगत हूँ तत्व विशिष्टता के लिए निर्णय ट्री एल्गोरिदम के लिए कम सीमाएं , लेकिन यह निश्चित नहीं है, क्योंकि कभी-कभी हम रैखिक-समय के एल्गोरिदम भी पा सकते हैं निर्णय-वृक्ष मॉडल में बंधे।