Skip to content

Latest commit

 

History

29 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JavaFX Sorting Algorithm Visualization App

Uygulamanın Ekran Görüntüsü Sorting Algorithms Vizulizer 9 12 2023 09_40_19

Bu masaüstü uygulaması, Java dilinde JavaFX kütüphanesi kullanılarak geliştirilmiş ve farklı sıralama algoritmalarını görselleştirmek amacıyla tasarlanmıştır. Uygulamayı kullanmak için aşağıdaki adımları takip edebilirsiniz.

Video

  • Aşşağıdaki Fotoğrafa Tıklayarak Kurulum Ve Tanıtım Videosuna Ulaşabilirsiniz.

Kurulum ve Tanıtım Videosu

Kurulum ve Çalıştırma Adımları

  1. Buraya Basarak İndirin

    • Yeni sürümü GitHub releases sayfasından indirin.
    • ZIP dosyasını indirin.
  2. JDK İndirme ve Kurulum Adımları

    1. Oracle JDK adresinden windows kısmını seçin ve .exe olarak JDK'yı indirin.
    2. JDK'yi kurun ve kurulum adımlarını tamamlayın.
  3. İndirilen ZIP dosyasını Masaüstüne Ayıklayın

    • ZIP dosyasını masaüstünüze ayıklayın ve oluşan klasöre gidin.
  4. Uygulamayı Başlatın

    • Uygulamayı bulunduğu klasördeki Sorting Vizualizer.exe dosyasına çift tıklayarak başlatın.
  5. SmartScreen Uyarısı

    • Eğer SmartScreen, uygulamanın güvenli olup olmadığını sorguluyorsa, "Daha Fazla Bilgi" veya "Yine de Çalıştır" gibi seçenekleri kullanarak uygulamayı çalıştırın.
  6. Uygulamayı Kullanın

    • Uygulama başladığında sıralama algoritmalarını seçin, bir dizi oluşturun ve "Start" düğmesine tıklayarak görselleştirmeyi başlatın.

Kullanım

Bu uygulama, farklı sıralama algoritmalarını görselleştirmek ve kullanıcılara interaktif bir deneyim sunmak amacıyla tasarlanmıştır. Aşağıda, uygulamanın temel özelliklerini bulabilirsiniz:

Mevcut Sıralama Algoritmaları

Uygulama şu temel sıralama algoritmalarını içermektedir:

  • Bubble Sort: Liste üzerinde ardışık elemanları karşılaştırarak küçükten büyüğe sıralama.
  • Selection Sort: Minimum elemanı seçerek sıralama.
  • Insertion Sort: Elemanları sıralı bir şekilde ekleyerek sıralama.
  • Quick Sort: Hızlı ve etkili bir bölme-tabanlı sıralama algoritması.
  • Shell Sort: Shell Sort, insertion sort'un geliştirilmiş bir versiyonudur. Diziyi belirli aralıklarla karşılaştırarak sıralama işlemini gerçekleştirir. Bu aralıklar genellikle "gap" olarak adlandırılır. Shell Sort, insertion sort'un dezavantajlarını azaltmaya çalışarak performansı artırmayı hedefler.
  • Heap Sort: Heap Sort, bir tam sayı dizisini bir max heap veya min heap veri yapısına dönüştürerek sıralayan bir sıralama algoritmasıdır. Daha sonra heap'ten elemanları sırayla çıkararak sıralı bir dizi elde edilir. Bu algoritma, özellikle büyük veri setleri üzerinde etkili bir şekilde çalışabilir ve in-place bir sıralama algoritmasıdır.

Hız Ayarlama

Kullanıcılar, sıralama algoritmalarının çalışma hızını özelleştirebilirler. Hız ayarı, algoritmanın adımlarını daha yavaş veya daha hızlı bir şekilde görselleştirmelerine olanak tanır.

Barların Boyutunu Ayarlama

Her bir elemanı temsil eden çubukların boyutunu ayarlamak mümkündür. Bu, kullanıcılara görselleştirmenin daha belirgin olmasını sağlar.

Barların Renk Seçimi

Çubukların rengini özelleştirmek için kullanıcılar farklı renk seçenekleri arasından tercih yapabilirler. Bu özellik, görselleştirmeyi kişiselleştirmek için kullanışlıdır.

Kontrol Düğmeleri

  • Başlat/Durdur Düğmesi: Sıralama görselleştirmesini başlatır veya durdurur.
  • Karıştır Düğmesi: Elemanları rastgele sıralar, yeni bir görselleştirmeye başlamak için kullanışlıdır.

Bu özelliklerle birlikte, kullanıcılar sıralama algoritmalarının çalışma prensiplerini anlamak ve görsel olarak gözlemlemek için interaktif bir deneyim yaşayacaklardır.

Katkıda Bulunma

Eğer uygulamayı geliştirmek veya yeni özellikler eklemek istiyorsanız, lütfen bir çekme isteği göndermekten çekinmeyin! Her türlü katkıya açığız.

Lisans

Bu proje MIT Lisansı altında lisanslanmıştır.


About

Bu proje, Java dilinde geliştirilmiş bir masaüstü uygulamasıdır. Uygulama, bubble sort, selection sort, insertion sort ve quicksort gibi sıralama algoritmalarını görselleştirebilen bir arayüz sunar. Kullanıcılar, algoritmaların performansını ve davranışını anlamak için bu görselleştirmeleri kullanabilirler.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages