Ի՞նչ տվյալների կառուցվածքներ կան:
sobes.tech AI
Պատասխան AI-ից
Արreyներ, ցանկեր, stackեր, հերթեր, ծառեր, գրաֆներ, hash աղյուսակներ:
Արrey: Միասնական տիպի տարրերի հավաքածու, պահվում է հարևան հիշողության բջիջներում: Հասանելի է ինդեքսով:
Ցանկ: Տարրերի հաջորդական հավաքածու: Կարող է լինել միակողմանի կամ երկկողմանի կապակցված: Միջինտեղ ավելացնելը/ջնջելը ավելի արդյունավետ է, քան array-ով:
Stack: LIFO (Last-In, First-Out) կառուցվածք: Օպերացիաներ՝ push (ավելացնել), pop (հեռացնել վերջից), peek (դիտել վերևի տարրը):
Հետ: FIFO (First-In, First-Out) կառուցվածք: Օպերացիաներ՝ enqueue (ավելացնել վերջում), dequeue (հեռացնել սկզբից), peek (դիտել առաջին տարրը):
Դ дерево: Տվյալների հիերարխիկ կառուցվածք: Մարմին, հանգույցներ, ժառանգներ: Օրինակ՝ երկկողմանի որոնման ծառ:
Գրաֆ: Վերևների (հանգույցների) հավաքածու, որոնք կապված են եզրերով: Կարող է լինել ուղղորդված կամ ուղղորդված չլինող, ծանրաբեռնված կամ ոչ:
Hash աղյուսակ: Կազմած զույգեր՝ բանալի-արժեք: Օգտագործում է hash ֆունկցիա արագ մուտք գործելու համար (համեմատաբար): Միջանկյալ կարող են լինել բախումներ:
Օգտագործման օրինակներ iOS-ում:
- Արreyներ:
Array - Ցանկեր: չկա ներքին դաս, իրականացվում է array-ների կամ հատուկ կառուցվածքների հիման վրա
- Stackեր/Հետեր: իրականացվում են array-ների կամ ցանկերի հիման վրա
- Դերևներ: օգտագործվում են ֆրեյմվորկներում, օրինակ՝ UI-ում (դիտարկումների հիերարխիա)
- Գրաֆներ: կապերի ներկայացման համար, օրինակ՝ ցանցեր
- Hash աղյուսակներ:
Dictionary,Set
// Օրինակ array
let numbers = [1, 2, 3, 4, 5]
print(numbers[0]) // Հասանելիություն ինդեքսով
// Օրինակ բառարան (hash աղյուսակ)
let grades = ["Alice": 95, "Bob": 88]
print(grades["Alice"] ?? 0) // Հասանելիություն բանալիով