Junior — Middle
Ինչպե՞ս է գնահատվում երկու կողմանի կապակցված ցանկի կենտրոնական մասում տարր ավելացնելու գործողության բարդությունը։
sobes.tech AI
Պատասխան AI-ից
Երկկողմանի կապված ցանկի կենտրոնական մասում տարր ավելացնելը սովորաբար պահանջում է նախ գտնել ավելացման դիրքը, ապա փոխել հարևան հանգույցների հղումները:
Գործողության բարդությունը՝
- Դիրքի որոնում՝ եթե ունեք հղում այն հանգույցին, որտեղ ուզում եք ավելացնել, որոնում չի պահանջվում:
- Ավելացում՝ հարևան հանգույցների հղումների փոփոխությունը O(1) գործողություն է:
Եթե ավելացման դիրքը որոշվում է ըստ ինդեքսի, ապա պետք է անցնել ցանկը մինչև ցանկալի հանգույցը, ինչը տևում է O(n) ժամանակ:
Ամփոփում՝
- Եթե դիրքը հայտնի է (հանգույցը գտնված է) — ավելացումը O(1):
- Եթե դիրքը որոշվում է ըստ ինդեքսի — որոնում + ավելացում O(n):