Sobes.tech
Junior — Middle

Ի՞նչ է ալգորիթմի բարդության չափանիշը՝ տարր ավելացնելու համար երկկողմանի կապակցված ցանկի սկզբում։

sobes.tech AI

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

Երկկողմանի կապակցված ցանկի սկզբին տարր ավելացնելը կատարվում է կոնստանտ ժամանակում, այսինքն՝ ունի O(1) բարդություն:

Սա կապված է այն բանի հետ, որ երկկողմանի կապակցված ցանկը ունի ցուցիչ առաջին տարրին (գլխին), և նոր տարր ավելացնելու համար բավարար է.

  1. Ստեղծել նոր հանգույց:
  2. Նոր հանգույցի next ցուցիչը սահմանել ներկայիս առաջին տարրին:
  3. Ներկա առաջին տարրին prev ցուցիչը սահմանել նոր հանգույցին:
  4. Թարմացնել ցանկի գլուխը նոր հանգույցով:

Այս բոլոր գործողությունները չեն կախված ցանկի չափից, հետևաբար բարդությունը — O(1).