Bazı kümeleme algoritmaları uzamsal dizin yapılarını kullanabilir. Bu, örneğin DBSCAN ve OPTICS'in çalışmasına izin verirO ( n günlüğün ) zaman (dizin izin verdiği sürece O ( günlükn ) sorguları).
Açıkçası, bu karmaşıklıkta çalışan bir algoritma, O (n2) mesafe matrisi.
Tek bağlantılı ve tam bağlantılı hiyerarşik kümeleme gibi bazı algoritmalar için optimize edilmiş algoritmalar vardır (SLINK, CLINK). Çoğu insan, alabildikleri ve uygulaması kolay olan her şeyi kullanıyor. Hiyerarşik kümelemenin saf bir şekilde uygulanması kolaydır.n bir n2 mesafe matrisi ( O (n3) algoritması ...).
Kümeleme algoritmalarını karşılaştıran tam bir listenin farkında değilim. Sonuçta muhtemelen 100'den fazla kümeleme algoritması var. Örneğin, en az bir düzine k-ortalama varyantı vardır. Ayrıca, bellek karmaşıklığının yanı sıra çalışma zamanı karmaşıklığı da vardır; ortalama ve en kötü durum vardır. Çok büyük uygulama farklılıkları vardır (örneğin yukarıda belirtilen tek link; ve indeks kullanmayan DBSCAN uygulamaları veO (n2)ve tam depolamaya gerek yokken n × nmesafe matrisi, yine de tüm çift mesafeleri hesaplamaları gerekir). Ayrıca tonlarca parametre var. K-araçları için,kkritik. Hemen hemen her algoritma için, mesafe fonksiyonu büyük bir fark yaratır (birçok uygulama sadece Öklid mesafesine izin verir ...). Ve pahalı mesafe işlevlerine ulaştığınızda (Öklid gibi önemsiz şeylerin ötesinde), mesafe hesaplamalarının sayısı hızlı bir şekilde ana kısım olabilir. Böylece, toplam işlem sayısı ile gereken mesafe hesaplaması sayısı arasında ayrım yapmanız gerekir. Yani içinde bir algoritmaO(n2) operasyonlar sadece O(n) mesafe hesaplamaları bir algoritmadan daha iyi performans gösterebilir. O(nlogn) her ikisinde de, mesafe fonksiyonları gerçekten pahalı olduğunda (örneğin, mesafe fonksiyonunun kendisi O(n)).