Sobes.tech
Junior — Middle

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

sobes.tech AI

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

Երկկողմանի կապված ցանկի կենտրոնական մասում տարր ավելացնելը սովորաբար պահանջում է նախ գտնել ավելացման դիրքը, ապա փոխել հարևան հանգույցների հղումները:

Գործողության բարդությունը՝

  • Դիրքի որոնում՝ եթե ունեք հղում այն հանգույցին, որտեղ ուզում եք ավելացնել, որոնում չի պահանջվում:
  • Ավելացում՝ հարևան հանգույցների հղումների փոփոխությունը O(1) գործողություն է:

Եթե ավելացման դիրքը որոշվում է ըստ ինդեքսի, ապա պետք է անցնել ցանկը մինչև ցանկալի հանգույցը, ինչը տևում է O(n) ժամանակ:

Ամփոփում՝

  • Եթե դիրքը հայտնի է (հանգույցը գտնված է) — ավելացումը O(1):
  • Եթե դիրքը որոշվում է ըստ ինդեքսի — որոնում + ավելացում O(n):