Soru sorUnique kullanmadan tekrarlı elemanları tekil olarak güncellemek;
DENİZ tarafından 4 yıl önce soruldu
5 Cevap
En iyi cevap
Caglar Yönetici tarafından 4 yıl önce cevaplandı

Unique, sort gibi fonksiyonlar aslında programlamada derin ve çok temel konular. Unique gibi fonksiyonlar hız ve bellek kullanımı için optimize edilirler. Bu fonksiyonların algoritmaları ve alternatifleri için programlama ve matematik literatürüne bakılabilir.
Ek olarak, benim aklıma gelen ilk yöntem şu, 1 x n veya n x 1 boyutundaki bir arrayın unique elemanlarını şöyle bulabiliriz:

function [array] = ozgun(array)
    %En sondan 2. siraya tum elemanlari sececek
    for g=numel(array):-1:2 
        %Secili elemanin degeri, 1. siradan o elemanin sirasina gelene
        %kadar en az bir yerde daha var mi
       if any(array(1:(g-1))==array(g))
           array(g)=[]; %varsa sil
       end
    end
end

Merak ettiğim için, 25000 elemanlı bir array oluşutup Matlab'in unique ve benim ozgun fonksiyonlarımın hızını karşılaştırdım. 3er kez çalıştırdıktan sonra Matlab'inkinin 0.0025 ortalama saniye, benimkinin ortalama 1.6487 saniyede işlemi tamamladığını gördüm.

DENİZ tarafından 4 yıl önce cevaplandı

Arkadaşlar merhaba, kolay gelsin . Başlıkta da belirttiğim gibi unique kullanmadan tekrarlı elemanı nasıl bir defa yazdırabilirim ?
Şimdiden teşekkürler.

Caglar Yönetici tarafından 4 yıl önce cevaplandı

Merhaba, 
Neden unique'den kaçınıyoruz, pratik yapmak için mi soru?
İyi günler, 

DENİZ tarafından 4 yıl önce cevaplandı

Unique'den kaçınmamızın bir özel sebebi yok. Mesela program yazarken unique veya hazır kod kullanacağımız aklımıza gelmedi. Onun yerine ne yapabilirim ? Diye sormuştum.

DENİZ tarafından 4 yıl önce cevaplandı

Çok teşekkürler