के माध्यम से पुनरावृत्त करने के लिए समय जटिलता मेरे पास एक सरणी सूची है जिसे मैं फिर से चलाता हूं। प्रत्येक यात्रा में मैं get()
फोन एक तत्व प्राप्त करने के लिए, और अगर है कि आइटम कुछ हालत गुजरता है, यह add()
एक सरणी सूची
List<Item> items = new ArrayList<Item>();
List<Item> lessItems = new ArrayList<Item>();
for(int index = 0; index < items.size(); index++){
Item toCheck = items.get(i);
if(toCheck meets some condition){
lessItems.add(toCheck);
}
}
का उपयोग कर एक नई सरणी सूची में जोड़ा जाता मुझे यकीन है कि क्या समय जटिलता यहाँ है नहीं कर रहा हूँ। मैं सभी वस्तुओं पर() प्राप्त कर रहा हूं ताकि ओ (एन) हो। फिर मैं संभावित रूप से सभी वस्तुओं पर add() को भी कॉल कर रहा हूं, इसलिए एक और ओ (एन) है। इस पर भी यकीन नहीं है।
यह ओ (एन) + ओ (एन) है जो ओ (2 एन) है, और आप 2 को छोड़ सकते हैं (क्योंकि यह इनपुट के अनुरूप है) और कहें कि यह ओ (एन) है। –
@ElliottFrisch यह सच नहीं है। जावा में सरणीसूची के अंतिम तत्व पर डालने 'ओ (एन) 'नहीं है। कृपया मेरा जवाब देखें। – hqt
@ElliottFrisch स्पष्ट रूप से दूसरों आपसे असहमत हैं। मेरे जवाब को कम करने के लिए पर्याप्त है, जो आपके जैसा ही है। –