Ücretsiz Algoritma Görselleştirici
Sıralama, yol bulma ve klasik algoritmaları canlanmış halde izle — Bubble/Quick/Merge Sort, Dijkstra/A*/BFS etkileşimli labirent ızgarasında, ayrıca İkili Arama, Eratosthenes Kalburu, N-Vezir ve Hayat Oyunu. Adım adım animasyon, senkronize sözde kod, canlı metrikler ve yan yana yarış modu. Mobil dostu ve tamamen tarayıcında.
Nasıl çalışır
Her algoritma, bir seferde bir görselleştirme "adımı" — dizinin anlık görüntüsü artı hangi öğelerin karşılaştırıldığı, yer değiştirdiği veya yazıldığı — üreten bir üreteç olarak yazılmıştır. Tek bir oynatıcı tüm adım listesini önceden hesaplar; böylece oynatma, duraklatma, ileri adım, geri adım ve yan yana yarış modu yalnızca bu listede dizinlemedir. Hiçbir şey bir yere gönderilmez — her şey tarayıcınızda çalışır.
- 1Bir algoritma ve veri kümesi seçinKabarcık, seçmeli, eklemeli, birleştirmeli, hızlı, yığın, shell, kokteyl, sayarak ve radix sıralaması (ve eğlence için bogosort) arasından seçin. Rastgele, neredeyse sıralı, ters veya az benzersiz değerli bir dizi oluşturun ya da virgülle ayrılmış kendi sayılarınızı yazın.
- 2Çalışmasını izleyin — ve takip edinÇubuklar olan şeye göre renklendirilir (karşılaştırma, yer değiştirme, pivot, sıralı). Sözde kod paneli tam olarak çalıştırılan satırı vurgular ve canlı sayaçlar karşılaştırmaları, yer değiştirmeleri, yazmaları ve dizi erişimlerini gerçek zamanlı izler.
- 3Zamanı kontrol edinAlgoritmanın kararlarını tam olarak nasıl verdiğini incelemek için hızı ayarlayın, zaman çizelgesinde gezinin veya tek bir işlemi ileri ve geri adımlayın. Her adım yeniden çalıştırma değil, saklanan bir anlık görüntü olduğu için geri adım kesindir.
- 4Birbirleriyle yarıştırınYarış modu iki veya daha fazla algoritmayı aynı girdi üzerinde aynı anda, yan yana çalıştırır ve bir ölçüm tablosu sunar; böylece örneğin hızlı sıralamanın kabarcık sıralamasını neden geçtiğini görebilirsiniz.
Tamamen tarayıcınızda çalışır — hiçbir veri cihazınızdan çıkmaz. Sunucu, yükleme ve hesap yoktur. Bu bir öğretim aracıdır: algoritmalar görselleştirme netliği için seçilmiş ders kitabı uygulamalarıdır.
Kılavuz
Çalışılmış örnek
Sıralama sekmesini açın. “Özel sayılar veya sözcükler” alanına 5, 3, 8, 1 yazın ve “Uygula” düğmesine basın. “Boyut: 4” görünür ve 40 rastgele çubuğun yerini etiketli dört çubuk alır. “Kabarcık Sıralaması” seçilidir ve “Zaman çizelgesi” 1/14 gösterir. “Oynat” düğmesine basın. Çalışma bittiğinde zaman çizelgesi 14/14 gösterir, çubuklar “Sıralı” renginde 1, 3, 5, 8 olur ve sayaçlar Karşılaştırma 6, Takas 4, Yazma 8 ve Erişim 12 gösterir. Şimdi aynı verilerle “Seçmeli Sıralama”ya tıklayın. 18 adım sürer; Karşılaştırma yine 6’dır ama Takas yalnızca 2’dir, çünkü seçmeli sıralama her turda en fazla bir kez takas yapar. Sözcükleri sıralamak için banana, apple, cherry yazıp “Uygula” düğmesine basın. “Bu çalışmayı paylaş” bu algoritmayı, bu veriyi ve bulunduğunuz adımı yeniden açan bir bağlantı kopyalar. “Görüntüyü kaydet (PNG)” geçerli kareyi, örneğin bubble-sort-step-14.png olarak kaydeder.
Hangi ayarların kullanılacağı ve sınırlar
- Önce bir algoritma, sonra bir başlangıç düzeni seçin. Sıralama sekmesinde Kabarcık Sıralaması, Seçmeli Sıralama, Eklemeli Sıralama, Birleştirmeli Sıralama, Quicksort, Heapsort, Shell Sort, Cocktail Shaker, Counting Sort ve Radix Sort (LSD) bulunur. “Bogosort ekle (eğlence için)” on birincisini ekler. Düzen düğmeleri “Rastgele”, “Neredeyse sıralı”, “Ters” ve “Az sayıda benzersiz”dir. “Boyut” kaydırıcısı 2 ile 120 arasında çalışır, bilgisayarda 40’ta, telefonda 15’te başlar; “Karıştır” yeni veri oluşturur. Algoritmayı değiştirmek aynı veriyi korur; böylece çalışmaları adil biçimde karşılaştırabilirsiniz.
- Oynatma denetimlerini öğrenin. “Oynat”/“Duraklat”, “Geri adım”, “İleri adım” ve “Yeniden başlat” düğmelerini kullanın veya “Zaman çizelgesi”ni istediğiniz adıma sürükleyin. “Hız” saniyedeki adım sayısıdır, 1 ile 240 arasındadır; bilgisayarda 30’da, telefonda 20’de başlar. Çalışmanın tamamı önceden hesaplandığı için geriye adım atmak kesindir. Kısayollar Boşluk, Sol ve Sağ ok tuşları, R ve hız için [ ile ]’dir; odak bir düğmede, kaydırıcıda veya metin kutusunda olduğunda yok sayılırlar. İlk çalışma bir kez kendiliğinden başlar ve sekme değiştirdiğinizde oynatma duraklar.
- Kendi sayılarınızı veya sözcüklerinizi yazın. “Özel sayılar veya sözcükler” için virgül veya boşlukla ayrılmış en az iki öğe gerekir. Sayılar tam sayıya yuvarlanır. Öğelerden biri sayı değilse tüm öğeler sözcük sayılır ve alfabetik sıralanır. Yalnızca ilk 120 öğe kullanılır ve 30 veya daha azı olduğunda etiketler çubukların üzerinde görünür. Counting Sort, en küçük ve en büyük değer arasındaki her değer için bir yuva açar; bu yüzden 1, 50000000 gibi bir liste 50 milyon yuva ister. Bu algoritma için sayıları küçük bir aralıkta tutun.
- Animasyonun yanında sayaçları da okuyun. Panel, bulunduğunuz adıma kadar sayılmış Karşılaştırma, Takas, Yazma, Erişim, Adım ve Hesaplama süresini gösterir. Counting Sort ve Radix Sort karşılaştırma yapmaz, bu yüzden o kutu onlar için gizlenir. “Hesaplama süresi”, bu tarayıcının adımları hesaplaması için geçen süredir; algoritmanın hız testi değildir. “Çalışma boyutla nasıl büyür” altındaki “Büyümeyi ölç”, Bogosort dışındaki tüm sıralama algoritmalarını 10, 25, 50, 100, 250 ve 500 öğelik rastgele dizilerde çalıştırır; “Sonuçları CSV olarak indir” ise sorting-growth.csv dosyasını kaydeder.
- Algoritmaları yarıştırın ve bulduklarınızı paylaşın. “Yarış modu”, aynı veri üzerinde aynı adım hızıyla çalışacak 2 ile 4 algoritma seçmenizi sağlar. Toplam adımı en az olan ilk bitirir ve kupa işaretini alır; “Tek görünüme dön” sizi geri götürür. Adımlar saniye değildir; bu yüzden bu, her yöntemin bilgisayarınızda ne kadar hızlı çalıştığını değil, ne kadar iş yaptığını gösterir. Bogosort yarıştırılamaz. Yarış modunun dışında “Bu çalışmayı paylaş”, aynı adımda, duraklatılmış olarak açılan bir bağlantı kopyalar.
- Yol bulma ve klasik algoritmalar için sekme değiştirin. “Yol bulma” sekmesinde, 16 satır × 30 sütunluk (telefonda 18 × 13) bir ızgarada Breadth-First Search, Dijkstra, A* Search, Greedy Best-First, Bidirectional BFS ve Depth-First Search bulunur. Duvar çizmek için sürükleyin; yeşil başlangıcı veya kırmızı hedefi sürükleyerek taşıyın. “Ağırlıklar” modunda bir hücre 5 maliyetindedir; ağırlıkları yalnızca Dijkstra ve A* kullanır. “Klasik” sekmesinde Binary Search, Linear Search, Sieve of Eratosthenes (n 20 ile 120 arası), N-Queens (N 4 ile 10 arası), Game of Life ve Fisher–Yates Shuffle (boyut 8 ile 60) bulunur.
Yaygın sorunlar ve nasıl düzeltileceği
- “Enter at least two numbers or words, separated by commas.” yazıyor.
- Özel alan ikiden az öğe buldu. Tek bir sayı, boş bir alan veya yalnızca virgül ve boşluklar bunu tetikler ve kutu kırmızı çerçeve alır. İkinci bir öğe ekleyip “Uygula”ya basın veya Enter’a basın. Mesaj virgülden söz etse de boşluklar da ayırıcı olarak çalışır. 5 3 x gibi bir metin hata değildir; üç sözcük olarak okunur.
- “Bogosort is factorial-time, so it's capped at 7 elements — anything larger could run effectively forever.” yazıyor.
- “Bogosort ekle (eğlence için)” ile Bogosort’u ekleyip seçtiniz. Liste kendiliğinden sıralanana kadar rastgele karıştırır; bu yüzden “Boyut” kaydırıcısı 7’de durur, veri daha büyükse 7’ye indirilir ve özel liste ilk 7 öğesine kısaltılır. 120’ye kadar boyutlara dönmek için başka bir algoritma seçin.
- “No path — the goal is walled off.” yazıyor.
- Bu, Yol bulma sekmesinde çalışma hedefe ulaşmadan bittiğinde, yani duvarlar hedefi veya başlangıcı çevrelediğinde görünür. “Rastgele duvarlar” bunu tesadüfen yapabilir. Hedefi veya başlangıcı boş bir hücreye sürükleyin ya da ağırlıkları da kaldıran “Duvarları temizle”ye basın. “Yolu temizle” çalışmayı yalnızca birinci adıma sarar ve duvarlarınızı korur.
- “Bu çalışmayı paylaş” düğmesi “Copy failed” olarak değişiyor.
- Tarayıcı panoyu engelledi; bu, gömülü bir çerçevede veya izin olmadan olabilir. Bağlantı normalde adres çubuğuna da konur, böylece oradan kopyalayabilirsiniz. Bağlantı yalnızca Sıralama sekmesini kapsar ve algoritmayı, en fazla 120 öğeyi ve adım numarasını içerir. Yol bulma ve Klasik çalışmaları bu yolla paylaşılamaz.
- Animasyon başlamıyor veya kendiliğinden duruyor.
- İlk çalışma yalnızca bir kez kendiliğinden başlar; cihazınız azaltılmış hareket istiyorsa hiç başlamaz, bu yüzden “Oynat”a basın. Sekme gizlendiğinde oynatma da duraklar ve son adımda durur; orada “Oynat”a basmak birinci adımdan yeniden başlatır. Odak bir düğmede, kaydırıcıda veya metin kutusundayken klavye kısayolları bir şey yapmaz; bu yüzden önce sayfanın boş bir yerine tıklayın.
Nasıl karşılaştırılır
Bir algoritmanın neden öyle davrandığını görmek için kullanın: ileri ve geri adım atabilir, sözde kod satırını izleyebilir ve aynı veri üzerinde sayıları karşılaştırabilirsiniz. Bir kıyaslama aracı değildir. Sayılar, programlama dilinizdeki sıralamadan değil, bu aracın her algoritmanın kendi adım adım sürümlerinden gelir; Hesaplama süresi ise yalnızca tarayıcının adımları hazırlamasının ne kadar sürdüğünü ölçer. 10 sıralama algoritması (Bogosort ile 11), 6 yol bulma algoritması ve 6 klasik algoritma vardır; ancak kendi kodunuzu yapıştıramaz, gerçek bir harita yükleyemez veya 120’den fazla öğeyi sıralayamazsınız. Her şey tarayıcınızda çalışır ve hiçbir yere bir şey gönderilmez.
İlgili araçlar
CSV Farkı
İki CSV dosyasını bir anahtar sütuna göre karşılaştırın ve tam olarak hangi satırların eklendiğini, kaldırıldığını veya değiştirildiğini görün — farklı olan alanlar eskiden yeniye gösterilir. Tırnaklı alanları işler; tamamen tarayıcınızda çalışır.
Çevrimiçi Kronometre
Tur kaydı, en hızlı/en yavaş tur vurgulama ve klavye kısayollarıyla hassas kronometre. Milisaniye doğruluğuyla sıfırdan sayar.
CSS Kübik-Bezier Yumuşatma Oluşturucu
Kontrol noktalarını sürükleyerek CSS yumuşatma eğrileri tasarlayın, hareketi canlı önizleyin ve cubic-bezier() değerini kopyalayın. Aşma/sekme ön ayarları içerir.