Javascript Tree Sort Algoritması

Herkese merhaba, Javascript yazılarımıza kaldığımız yerden devam ediyoruz. Bu yazımızda sıralama algoritmalarından biri olan tree sort algoritmasını anlatacağım. Hadi başlayalım !
Table of Contents
Tree Sort, sıralama algoritmaları ailesine ait bir algoritmadır. Bu algoritma, sıralanacak verileri ağaç yapısı üzerinde sıralayarak işlem yapar. Tree Sort, diğer sıralama algoritmalarından farklı olarak verileri dizi halinde değil, ağaç yapısı üzerinde işler. Bu nedenle, diğer sıralama algoritmalarından daha hızlı sonuçlar verebilir. Bu makalede, Tree Sort algoritmasını daha detaylı bir şekilde inceleyeceğiz ve JavaScript kod örnekleri ile destekleyeceğiz.
Tree Sort Algoritması Nasıl Çalışır?
Tree Sort algoritması, bir ağaç yapısı kullanarak verileri sıralar. Algoritma, öncelikle verileri ağaç yapısı içinde birbirine bağlı düğümlere yerleştirir. Bu düğümler, anahtar değerleri belirli bir kurala göre sıralar. Ardından, ağaç yapısı üzerinde gezinerek, önceden belirlenmiş sıralama kriterlerine göre verileri sıralar.
Tree Sort algoritmasının öncelikle bir ağaç yapısı oluşturması gerektiğinden, bu algoritmanın çalışma süresi, veri miktarına bağlı olarak diğer sıralama algoritmalarından daha uzun olabilir. Ancak, algoritmanın sıralama işlemi genellikle diğer sıralama algoritmalarına kıyasla daha hızlıdır.
Tree Sort algoritmasının anahtar fikri, verileri sıralama işleminin doğal bir sonucu olarak ağaç yapısına yerleştirmektir. Bu nedenle, verilerin sıralama kriterlerine göre ağaç yapısında doğru bir şekilde yerleştirilmesi, sıralama işleminin doğruluğunu sağlamak için çok önemlidir.
Javascript Tree Sort Algoritması Kodu
Aşağıdaki JavaScript kod örneği, Tree Sort algoritmasının nasıl kullanılabileceğine dair bir örnek sunmaktadır. Bu örnekte, bir dizi veri Tree Sort algoritması kullanılarak sıralanmaktadır.
// Tree Sort algoritması kullanarak dizi elemanlarını sıralama
class TreeNode {
constructor(value) {
this.value = value;
this.left = null;
this.right = null;
}
}
class TreeSort {
constructor() {
this.root = null;
}
insert(value) {
let node = new TreeNode(value);
if (this.root === null) {
this.root = node;
} else {
this.insertNode(this.root, node);
}
}
insertNode(node, newNode) {
if (newNode.value < node.value) {
if (node.left === null) {
node.left = newNode;
} else {
this.insertNode(node.left, newNode);
}
} else {
if (node.right === null) {
node.right = newNode;
} else {
this.insertNode(node.right, newNode);
}
}
}
traverseInOrder(node, arr) {
if (node != null) {
this.traverseInOrder(node.left, arr);
arr.push(node.value);
this.traverseInOrder(node.right, arr);
}
}
sort(arr) {
for(let i = 0; i < arr.length; i++) {
this.insert(arr[i]);
}
let result = [];
this.traverseInOrder(this.root, result);
return result;
}
}
// Dizi elemanlarını oluşturma
const arr = [8, 5, 10, 3, 12, 2];
// Tree Sort algoritmasını kullanarak dizi elemanlarını sıralama
const treeSort = new TreeSort();
const sortedArr = treeSort.sort(arr);
console.log(sortedArr); // [2, 3, 5, 8, 10, 12]
Yukarıdaki kod örneği, TreeSort adlı bir sınıf tanımlamakta ve sıralama işlemini gerçekleştirmek için gerekli fonksiyonları içermektedir. Bu örnekte, Tree Sort algoritması kullanarak bir dizi elemanını sıralama işlemi gerçekleştirilir. İlk olarak, sınıfın “insert” fonksiyonu kullanılarak dizi elemanları ağaç yapısına yerleştirilir. Daha sonra, “traverseInOrder” fonksiyonu kullanılarak ağaç yapısı üzerinde gezinilerek, sıralanmış veriler elde edilir.
Sonuç
Bu makalede, Tree Sort algoritmasının ne olduğu ve nasıl çalıştığı hakkında bilgi verdik. Ayrıca, JavaScript kod örnekleri kullanarak algoritmanın nasıl kullanılabileceğine dair bir örnek sunduk. Tree Sort algoritması, diğer sıralama algoritmalarından farklı bir yaklaşım benimsemekte ve verileri ağaç yapısı üzerinde işleyerek sıralama işlemini gerçekleştirmektedir. Bu nedenle, veri miktarına bağlı olarak diğer sıralama algoritmalarına kıyasla daha hızlı sonuçlar verebilir.
Evet Javascript’te tree sort algoritması bu şekilde olmakta. Tüm Javascript yazılarımıza buraya, sıralama algoritmaları ile ilgili yazılarımıza buraya tıklayarak ulaşabilirsiniz. Herkese hayırlı günler.