मैं एरलांग में बाइनरी खोज करने के लिए संभावित काम के आसपास खोज कर रहा था और मुझे http://ruslanspivak.com/2007/08/15/my-erlang-binary-search/ मिला लेकिन मैं सोच रहा था कि ब्लॉग में समाधान ओ (एलजी एन) में चलता है या नहीं। अब बाइनरी खोज के लिए पुनरावृत्ति है: टी (एन) = टी (एन/2) + सी जो मुझे ओ (एलजी एन) का निष्पादन समय देता है।एलजी (एन) समय में एरलांग में बाइनरी खोज
चूंकि एक सी सरणी में आपके पास O (1) समय में किसी तत्व को एक्सेस करने की शक्ति है। लेकिन erlang में अगर सूची के मध्य तक पहुंचने में सीएन समय लगता है, तो द्विआधारी खोज रैखिक खोज के रूप में गरीब के रूप में रैखिक समग्र समय में चलता है।
मैं सूचियों में आया: सूची में nth आइटम खोजने के लिए nth/2 BIF लेकिन मुझे इसके निष्पादन समय के बारे में निश्चित नहीं है।
कोई टिप्पणी?
यह गलत है। ऐरे मॉड्यूल लगभग 12 के ब्रांचिंग कारक के साथ एक बहुत ही सपाट ट्यूपल पेड़ है, जिसे पुनः लिखने के समय और एक्सेस समय के बीच समझौता किया जाता है। एक तत्व के लिए एक्सेस टाइम अभी भी ओ (लॉग एन) है। ईटीएस टेबल जैसे विनाशकारी संरचनाओं को डेटा और तालिका के प्रकार के आधार पर निरंतर समय तक पहुंच की अनुमति दी जानी चाहिए, लेकिन यह तालिका और किसी भी एर्लांग प्रक्रिया के बीच प्रतिलिपि बनाने का ओवरहेड जोड़ती है। अन्यथा, एक बाइनरी ('<<" some_binary ">>') कुछ ऐसी चीज की अनुमति दे सकती है जो पॉइंटर अंकगणित और ट्यूपल्स की तरह दिखती है, डेटा तक पहुंच के लिए ओ (1) जटिलता भी होती है। –