2013-02-20 11 views
5

कोड का यह टुकड़ा कोडिंग साक्षात्कार पुस्तक को क्रैकिंग से है।इस स्ट्रिंग मैनिपुलेशन कोड की स्पेस जटिलता क्या है?

public static boolean isUniqueChars2(String str) { 
    boolean[] char_set = new boolean[256]; 
    for (int i = 0; i < str.length(); i++) { 
     int val = str.charAt(i); 
     if (char_set[val]) return false; 
     char_set[val] = true; 
    } 
    return true; 
} 

और लेखक कहा गया है कि,

समय जटिलता हे (एन), जहां n स्ट्रिंग की लंबाई है, और अंतरिक्ष जटिलता हे (एन) है।

मैं समझता हूँ कि समय जटिलता हे किया जा रहा है (एन) लेकिन मुझे समझ नहीं आता कि कैसे अंतरिक्ष जटिलता हे हो सकता है (एन)

मेरे सोच: char_set आकार 256 की एक सरणी कोई बात नहीं क्या रहेगा इनपुट (str) आकार है। भले ही "str" ​​की लंबाई 100,000 है, char_set अभी भी एक 256 तत्व सरणी है। तो मैंने सोचा, चूंकि इस फ़ंक्शन के लिए मेमोरी आवश्यकता इनपुट के आकार के साथ नहीं बदलती है और निरंतर 256 रहती है, इसलिए अंतरिक्ष जटिलता निरंतर है, यानी, ओ (1)।

किसी को, व्याख्या कर सकते हैं अगर मैं गलत हूँ (और, क्यों?)

बहुत बहुत शुक्रिया।

+2

मुझे लगता है कि आप सही हैं, लेकिन ऑटोर ने कहा कि मूल str self ocupy O (n) (या आप मूल्य से प्रतिलिपि प्राप्त कर रहे हैं?)। – qPCR4vir

+1

हम्म ... दिलचस्प है। मैंने सोचा कि एसिम्प्टोटिक जटिलताओं को प्राप्त करते समय हम आम तौर पर अनदेखा करते हैं कि इनपुट कैसे/कहाँ/कब पढ़ा जाता है? और बस विधि के अंदर क्या हो रहा है (इनपुट के आकार को ध्यान में रखते हुए, जो एन है) पर ध्यान केंद्रित करें – anakkala

+0

मैं लेखक की तर्क देखना चाहता हूं। एल्गोरिदम द्वारा उपयोग की जाने वाली जगह स्थिर है। जब आप अंतरिक्ष जटिलता का विश्लेषण करते हैं, तो आप सही होते हैं, हम एल्गोरिदम में इनपुट को अनदेखा करते हुए, प्रक्रिया द्वारा आवश्यक * अतिरिक्त * स्थान की मात्रा के बारे में बात कर रहे हैं। –

उत्तर

0

यह थोड़ा और अधिक जटिल है, मुझे लगता है कि:

पुनरावृत्तियों की अधिकतम संख्या से पहले कुछ चरित्र दो बार का सामना करना पड़ा हो जाएगा वर्णमाला स्ट्रिंग के ऊपर बना हुआ है का आकार है।

यदि यह आकार सीमित है, तो समय जटिलता ओ (1) है, यदि यह नहीं है, तो बूलियन सरणी परिमित आकार का नहीं हो सकता है, इस प्रकार, अंतरिक्ष जटिलता ओ (एन) होगी।

संबंधित मुद्दे