Junior — Middle
Ինչպես հասանելիություն ունենալ ինդեքսով միացված ցանկում և զանգվածում:
sobes.tech AI
Պատասխան AI-ից
Տվյալների զանգվածում տարրերին հասանելիությունը ըստ ինդեքսի շատ արագ և պարզ է — կարող եք անմիջապես դիմել անհրաժեշտ տարրին օգտագործելով սինտաքս $array[$index]. Դա հնարավոր է, քանի որ զանգվածները պահում են տարրերը շարունակական հիշողության տարածքում:
Միակ կապակցված ցանկում ուղղակի հասանելիություն ըստ ինդեքսի չկա, քանի որ տարրերը կապված են ցուցիչների միջոցով: Որոշակի ինդեքսով տարր ստանալու համար անհրաժեշտ է անցնել ցանկով սկզբից, անցնելով մեկ հանգույցից մյուսը, մինչև հասնեք ցանկալի ինդեքսին:
function getElementAt($head, $index) {
$current = $head;
$count = 0;
while ($current !== null) {
if ($count === $index) {
return $current->value;
}
$current = $current->next;
$count++;
}
return null; // ինդեքսը դուրս է տիրույթից
}
Այսպիսով, ինդեքսով հասանելիությունը միակապակցված ցանկում ունի O(n) բարդություն, իսկ զանգվածում — O(1):