JavaScript'te Veri Yapıları (Data Structures)

JavaScript'te veri yapıları, verileri saklamak, sıralamak ve erişmek için kullanılan yapısal veri türleridir. Bu veri yapıları, programların veri yönetimini daha etkili ve verimli hale getirmek için kullanılır. JavaScript'te yaygın olarak kullanılan veri yapıları arasında Stack, Queue, Linked List, Tree ve Graph bulunmaktadır.

1. Stack (Yığın)

Stack, verilerin LIFO (Last-In, First-Out) prensibine göre saklandığı bir veri yapısıdır. En son eklenen veri, en önce çıkarılan veri olur. JavaScript'te Stack genellikle array kullanılarak uygulanır.

let stack = [];
stack.push(10); // Yığına ekle
stack.push(20);
stack.pop(); // Yığından çıkar (20)

2. Queue (Kuyruk)

Queue, verilerin FIFO (First-In, First-Out) prensibine göre saklandığı bir veri yapısıdır. İlk eklenen veri, ilk çıkarılan veri olur. JavaScript'te Queue genellikle array kullanılarak uygulanır.

let queue = [];
queue.push(10); // Kuyruğa ekle
queue.push(20);
queue.shift(); // Kuyruktan çıkar (10)

3. Linked List (Bağlı Liste)

Linked List, verilerin düğümler aracılığıyla bağlandığı bir veri yapısıdır. Her düğüm, veriyi ve bir sonraki düğümün referansını içerir. JavaScript'te Linked List genellikle sınıf yapısı kullanılarak uygulanır.

class Node {
  constructor(data) {
    this.data = data;
    this.next = null;
  }
}

class LinkedList {
  constructor() {
    this.head = null;
  }
  
  // Linked List işlemleri burada tanımlanır
}

4. Tree (Ağaç)

Tree, hiyerarşik bir biçimde verilerin saklandığı bir veri yapısıdır. Root (kök) düğümden başlayarak dal ve yaprak düğümlerden oluşur. JavaScript'te Tree genellikle sınıf yapısı kullanılarak uygulanır.

class TreeNode {
  constructor(data) {
    this.data = data;
    this.children = [];
  }
}

class Tree {
  constructor() {
    this.root = null;
  }
  
  // Tree işlemleri burada tanımlanır
}

5. Graph (Graf)

Graph, düğümler ve bu düğümler arasındaki kenarlardan oluşan bir yapıdır. İki tür graf vardır: yönlendirilmemiş (undirected) ve yönlendirilmiş (directed). JavaScript'te Graph genellikle obje veya matris yapısı kullanılarak uygulanır.

let graph = {
  A: ['B', 'C'],
  B: ['A', 'D'],
  C: ['A', 'F'],
  D: ['B'],
  F: ['C']
};

Sonuç

JavaScript'te veri yapıları, verilerin organize edilmesi ve işlenmesi için önemli bir rol oynar. Stack, Queue, Linked List, Tree ve Graph gibi veri yapıları, farklı senaryolara ve problemlere uygun olarak kullanılabilir ve başarılı bir şekilde uygulanabilir. Bu veri yapıları, programlama becerilerinizi geliştirmenize ve veri yönetimi konusunda daha etkin çözümler üretmenize olanak sağlar.