Junior
Ի՞նչ տվյալների կառուցվածքներ կան:
sobes.tech AI
Պատասխան AI-ից
Տվյալների կառուցվածքները բաժանվում են երկու հիմնական կատեգորիաների.
-
Գծային: Էլեմենտները դասավորված են հաջորդականությամբ:
- Արrey (Array): Ֆիքսված չափս, ուղղակի մուտք ըստ ինդեքսի:
int[] numbers = { 1, 2, 3, 4, 5 }; // Օրինակ հայտարարություն - Ցուցակ (List): Դինամիկ չափս, էլեմենտները ավելացվում և հեռացվում են:
System.Collections.Generic.List<string> names = new System.Collections.Generic.List<string>(); names.Add("Alice"); names.Add("Bob"); - Կապակցված ցուցակ (Linked List): Էլեմենտները (հավաքածուները) պարունակում են հղում հաջորդ (և, հնարավոր է, նախորդ) էլեմենտին:
- Միակողմանի
- Երկկողմանի
System.Collections.Generic.LinkedList<char> letters = new System.Collections.Generic.LinkedList<char>(); letters.AddLast('A'); letters.AddLast('B'); - Պահոց (Stack): Վերջինն է եկել - առաջինը հեռանում է (LIFO):
System.Collections.Generic.Stack<int> stack = new System.Collections.Generic.Stack<int>(); stack.Push(10); // Ավելացնում է էլեմենտ վերևում int item = stack.Pop(); // Հեռացնում և վերադարձնում է վերևի էլեմենտը - Տող (Queue): Առաջինն է եկել - առաջինը հեռանում է (FIFO):
System.Collections.Generic.Queue<string> queue = new System.Collections.Generic.Queue<string>(); queue.Enqueue("Task 1"); // Ավելացնում է վերջում string task = queue.Dequeue(); // Հեռացնում և վերադարձնում է սկզբից
- Արrey (Array): Ֆիքսված չափս, ուղղակի մուտք ըստ ինդեքսի:
-
Նելինեային: Էլեմենտները դասավորված չեն հաջորդականությամբ:
- Անվերև (Tree): Հիերարխիկ կառուցվածք՝ հիմք և ենթաբազմություն:
- Երկվորյակային ծառ
- B-ծառ
- Կարմրո-սև ծառ
- AVL ծառ
- Գրաֆ (Graph): Վերևների (հավաքածու) և եզրերի (կապեր) հավաքածու:
- Ուղղահայաց (Directed)
- Ուղղահայաց չլինող (Undirected)
- Hash աղյուսակ (Hash Table) / Դիկշնարյ (Dictionary): Զույգեր՝ բանալի-արժեք, օգտագործելով hash-ֆունկցիա արագ որոնման համար:
System.Collections.Generic.Dictionary<string, int> ageByName = new System.Collections.Generic.Dictionary<string, int>(); ageByName.Add("Charlie", 30); int age = ageByName["Charlie"]; // Արագ մուտք բանալուց - Մեկուսացում (Set): Միայն եզակի էլեմենտներ՝ առանց որոշակի կարգի:
System.Collections.Generic.HashSet<int> uniqueNumbers = new System.Collections.Generic.HashSet<int>(); uniqueNumbers.Add(5); uniqueNumbers.Add(10); uniqueNumbers.Add(5); // Դուբլիկատը չի ավելացվի
- Անվերև (Tree): Հիերարխիկ կառուցվածք՝ հիմք և ենթաբազմություն: