Sobes.tech
Junior

HashMap va LinkedList o'rtasidagi farq nima?

sobes.tech AI

AIdan javob

HashMap

  • HashMap (xarita "kalit-qiymat") massivini amalga oshiradi.
  • Elementlarga kirish, qo'shish va o'chirish o'rtacha O(1) murakkablikka ega.
  • Elementlarning tartibi kafolatlanmaydi.
  • Tez qidiruv uchun hashingdan foydalanadi.
// HashMap misoli
import 'dart:collection';

void main() {
  final HashMap<String, int> inventar = HashMap();
  inventar['olma'] = 5;
  inventar['banan'] = 10;
  print(inventar['olma']); // 5 ni chiqaradi
}

LinkedList

  • Ulangan ro'yxatni amalga oshiradi.
  • Indeks bo'yicha kirish O(n) murakkablikka ega.
  • Ro'yxat boshiga yoki oxiriga element qo'shish va o'chirish O(1) murakkablikka ega.
  • Har qanday joyda element qo'shish/o'chirish uchun samarali (agar tugun referensiyasi bo'lsa) va O(1) murakkablikka ega.
  • Elementlarni qo'shish va o'chirish uchun tugunlarga referensiyalarni saqlab qolish (LinkedListEntry), bu O(1) ni ta'minlaydi.
  • Elementlarning tartibi qo'shilish tartibiga mos keladi.
// LinkedList misoli
import 'dart:collection';

void main() {
  final LinkedList<String> xaridlar = LinkedList();
  xaridlar.addFirst(LinkedListEntry('Sut'));
  xaridlar.add(LinkedListEntry('Non')); // oxiriga qo'shadi
  print(xaridlar.first); // Sut ni chiqaradi
  print(xaridlar.where((entry) => entry.element == 'Non').first.element); // Kirish misoli, optimal emas
}

// LinkedListEntry misoli
class LinkedListEntry<T> extends LinkedListEntry<LinkedListEntry> {
  final T data;
  LinkedListEntry(this.data);

  @override
  String toString() => data.toString();
}
Xususiyat HashMap LinkedList
Ma'lumotlar tuzilmasi Asosiy array (hash jadvali) Ulangan ro'yxat
Saqlash Kalit-qiymat juftlari Tugunlar (elementlar)
Indeks bo'yicha kirish To'g'ridan-to'g'ri qo'llab-quvvatlanmaydi O(n)
Kalit bo'yicha kirish O(1) (o'rtacha) Qo'llab-quvvatlanmaydi
Qo'shish/O'chirish O(1) (o'rtacha) O(1) (boshlanish/oxir), O(1) (tugunga referensiya bilan)
Elementlarning tartibi Garantilangan emas Qo'shilish tartibini saqlaydi
Xotira foydalanish Hashlash sababli ko'proq Kamroq, agar tugunlar kichik bo'lsa