मैं एक आईओएस ऐप के लिए एक तरह का स्वत: पूर्ण कार्यान्वित कर रहा हूं। डेटा जो मैं स्वत: पूर्ण मानों के लिए उपयोग कर रहा हूं वह लगभग 100,000 तारों वाला अल्पविराम से अलग टेक्स्ट फ़ाइल है। यह अब मैं क्या कर रहा हूँ है:उद्देश्य-सी में तारों के माध्यम से खोज करने का सबसे तेज़ तरीका क्या है?
- पाठ फ़ाइल पढ़ें, और 100000
NSString
के साथ एकNSArray
पैदा करते हैं। - उपयोगकर्ता प्रकार के रूप में,
[array containsObject:text]
निश्चित रूप से वहाँ एक बेहतर/तेजी से इस देखने करने के लिए जिस तरह से है। कोई विचार?
आप कोशिश कर सकते हैं स्ट्रिंग्स के माध्यम से छोड़ें जो पहले अक्षर से मेल नहीं खाते हैं, यदि आपका शब्द ज़ेबरा है तो सेब से दही तक खोज करने में कोई बात नहीं है। मुझे यह लागू करने का सबसे अच्छा तरीका नहीं है, शायद एक बहुआयामी सरणी? पहला आयाम पहला अक्षर, दूसरा आयाम दूसरा अक्षर, आदि हो सकता है, जब तक कि तीसरा या चौथा अक्षर न हो, तब आप केवल शेष शब्द को शामिल कर सकते हैं। –
यदि आपको ऑर्डर करने की आवश्यकता नहीं है तो मुझे लगता है कि यह जांचते समय सेट तेज होते हैं कि इसमें कोई ऑब्जेक्ट है या नहीं। यह अभी भी तारों के लिए अनुकूलित नहीं है।आपको शायद बाइनरी पेड़ जैसी चीजों को देखना चाहिए। यदि आपको कस्टम कोड बनाने की आवश्यकता है तो सामान्य दृष्टिकोण समान होगा चाहे आप जिस मंच/भाषा के साथ काम कर रहे हों। –
* हमेशा * एक तेज़ तरीका है। क्या आप अपने यूआई में अंतराल देख रहे हैं, यद्यपि? मैंने निष्क्रिय खोज एल्गोरिदम के बावजूद स्वत: पूर्ण (एक छोटी इनपुट सरणी के साथ) के लिए एक ही चीज़ की है और कोई दृश्य अंतराल नहीं था। उद्देश्य-सी को इंगित करने के लिए – kubi