Sobes.tech
Junior — Middle

როგორ განისაზღვრება ელემენტის დამატების ოპერაციის დროითი სირთულე მასივის ბოლოში?

sobes.tech AI

პასუხი AI-სგან

iOS-ൽ ഒരു ഘടകം ഒരു അറേയുടെ അവസാനം ചേർക്കുന്നത് അറേയുടെ തരം ആശ്രയിച്ചിരിക്കുന്നു:

  • സ്ഥിരമായ വലുപ്പമുള്ള അറേകൾ (ഉദാഹരണത്തിന്, C-അറേകൾ) വേണ്ടി, പുതിയ അറേ സൃഷ്ടിക്കാതെ അവസാനം ചേർക്കാനാകില്ല.

  • NSMutableArray അല്ലെങ്കിൽ Swift-അറേകൾ, ഡൈനാമിക് ആയി വലുപ്പം മാറ്റുന്നവ, സാധാരണയായി അമോർട്ടൈസ്ഡ് O(1) സമയത്ത് അവസാനം ചേർക്കുന്നു. ഇത് സാധാരണയായി വേഗത്തിൽ നടക്കുന്നു, പക്ഷേ ചിലപ്പോൾ, അറേ ഇപ്പോഴത്തെ ശേഷിയിലേക്കു എത്തുമ്പോൾ, മെമ്മറി പുനഃവിതരണം ചെയ്ത് ഘടകങ്ങൾ കോപ്പി ചെയ്യേണ്ടിവരും, ഇത് കൂടുതൽ സമയം എടുക്കും.

Swift-ൽ ഉദാഹരണം:

var array = [1, 2, 3]
array.append(4) // സാധാരണയായി O(1), ചിലപ്പോൾ O(n) പുനഃവിതരണ സമയത്ത്