एक तुच्छ उदाहरण लेने के लिए, आप उन सभी की जांच किए बिना नंबर के सेट से सबसे बड़ी संख्या नहीं पा सकते हैं, जिन्हें रैखिक समय की आवश्यकता होती है। कोई बड़ा प्रमाण नहीं। लेकिन ऐसे एल्गोरिदम हैं जिन्हें हमेशा सभी डेटा पढ़ने की आवश्यकता नहीं होती है। एक अच्छा उदाहरण एक स्ट्रिंग में एक पैटर्न की सभी घटनाओं को खोज रहा है, जिसे पूरे स्ट्रिंग (बॉयर-मूर एल्गोरिथ्म) को पढ़ने की आवश्यकता नहीं हो सकती है। लेकिन मुझे पहले से ही जो उत्तर दिया गया है, उसे दोहराना नहीं चाहिए, शायद इससे भी बेहतर।n
हालांकि, सवाल में एक बिंदु यह है कि कम बाउंड (या सामान्य रूप से जटिलता सीमा) के बारे में कुछ और टिप्पणी के लिए कॉल करता है।
वास्तव में एक एकल कम्प्यूटेशनल कदम क्या है यह विकल्प अप्रासंगिक है, जब तक कि कम्प्यूटेशनल चरणों को एक निरंतर ऊपरी (और निचला बाउंड) होने के रूप में माना जा सकता है। जटिलता परिणाम एक ही होगा क्योंकि यह एक निरंतर तक परिभाषित किया गया है। इकाई संचालन के रूप में 3 तुलनाओं को लेना, या केवल एक ही, कोई फर्क नहीं पड़ता है।
डेटा के आकार के बारे में भी यही सच है जो गणना की लागत का मूल्यांकन करने के लिए संदर्भ के रूप में कार्य करता है। एक पूर्णांक या दो पूर्णांक को आकार की इकाई के रूप में लेने से कोई अंतर नहीं पड़ता है।
हालांकि, दो विकल्प संबंधित होना चाहिए।
आप विचार कर सकते हैं कि एक संख्या डेटा की एक एकल इकाई है, यदि आप पूर्णांकों पर होने वाले संचालन, जैसे कि जोड़ या तुलना, इकाई संचालन मानते हैं। आप यह भी विचार कर सकते हैं कि यह एक संख्या का प्रतिनिधित्व करने के लिए अंक लेने के बाद से डेटा की इकाई है । फिर, ज़ाहिर है, जोड़ और तुलना अब इकाई संचालन नहीं हैं, और उनकी लागत ऑपरेंड के मूल्यों पर निर्भर करती है।लॉग एन O ( लॉग एन )nlognO(logn)
क्या किसी ऑपरेशन को यूनिट की लागत माना जा सकता है या नहीं, डेटा के यूनिट आकार के रूप में क्या माना जा सकता है। और यह इस बात पर निर्भर करता है कि आप अभिकलन के किस स्तर को अपने गणना के मॉडल के लिए चुनते हैं।