Sobes.tech
Junior — Middle

Ի՞նչ է երկու կողմանի կապակցված ցանկի վերջում տարր ավելացնելու գործողության ժամանակային բարդությունը։

sobes.tech AI

Պատասխան AI-ից

Երկկողմանի կապված ցանկի վերջում տարր ավելացնելու ժամանակային բարդությունը կախված է նրանից, թե արդյոք ցանկը ունի նշիչ վերջին տարրի (կուրծքավանդակի) վրա:

  • Եթե կա նշիչ կուրծքավանդակի վրա, ապա տարր ավելացնելը վերջում կատարվում է O(1) ժամանակում, քանի որ կարելի է ուղղակիորեն հասնել վերջին տարրին և ավելացնել նորին նրա հետևում:

  • Եթե նշիչ չկա, ապա անհրաժեշտ է անցնել ամբողջ ցանկը գլխից մինչև վերջին տարր, ինչը տևում է O(n) ժամանակ, որտեղ n — տարրերի քանակն է ցանկում:

շատ դեպքերում, երկկողմանի կապված ցանկերի իրականացման ժամանակ, օպտիմալացման համար պահվում է նշիչ վերջին տարրի վրա, ուստի այս գործողությունը սովորաբար համարվում է O(1)։