15 Aralık 2017 Cuma

Binary Search Tree Recursive Java Code



Binary search tree de silme işlemi başka yapılarda oldugu gibi biraz karmaşıktır.

Silme işlemi için adımlarımız

Öncelikle silinecek elemanın adresini buluruz. Sonra 4 durum karşımıza çıkar
1‐Hiçbir çocuk olmama durumu
2‐Sadece sağ çocuğu olma durumu
3‐Sadece sol çocuğu olma durumu
4‐Her iki çocuğu olma durumu

1‐Hiçbir çocuk olmama durumu

Bu durum oldukça basittir.  Algoritma, sileceğimiz eleman yani ebeveyne karşılık gelen sağ ya da solunu NULL olarak ayarlarız ve düğümü çıkarırız.

2‐Sadece sağ çocuğu olma durumu

Bu durumda silinecek sağ çocuğu bir önceki parentı yani ebeveynin sağına bağlarız.

3‐Sadece sol çocuğu olma durumu

Bu durumda silinecek sol çocuğu bir önceki parentı ebeveynin soluna bağlarız.

4‐Her iki çocuğu olma durumu


ilk önce silinecek elemanın sağındaki en küçük elemanı bulur,

sonra bulduğumuz en küçük elemanın bir önceki yani ebeveynini buluruz.

Sonra bulduğumuz sağ taraftaki en küçük eleman ile siliceğimiz elemanın yerine koyarız.

Sonra en küçük elemanı parent nesnesi ile sağdaysa sağ tarafı null yapar yoksa sol taraftaysa solunu null yapar sağdaki en küçük değeri kaldırmış oluruz. Böylece yapıyı bozmadan güzel bir şekilde sileceğimiz elemanı yerleriniz değiştirerek silmiş oluruz.

Binary Search Tree Recursive Kodları

void remove(int in) {
 Node rm = search(in);
 Node pr = searchParent(in, rm);
 if (pr == null)
  return;
 else {
  if ((rm.left == null) && (rm.right == null)) {//hiç cocugu olmayan
   if (pr.left == rm)
    pr.left = null;
   else
    pr.right = null;
  } else if ((rm.left == null) && (rm.right != null)) {//sadece sağ çocugu olan
   pr.right= rm.right;
  } else if ((rm.left != null) && (rm.right == null)) {//sadece sol çocugu olan
   pr.left = rm.left;
  } else {//iki çocugu olan..
   int a = rm.right.searchMin().id;
   Node nd = searchParent(a, rm.right.searchMin());
   rm.id = a;
   if (nd.left.id == a)
    nd.left = null;
   else
    nd.right = null;
   }
  }
 }
Daha fazlası..

31 Ekim 2017 Salı

Torrent ve Cloud Servisler

Torrent ve Cloud Servisler


CloudConvert



Benim en çok kullandığım cloud servisi adında da anlaşıldığı gibi dosya formatlarını çevirmenize düzenlemenize ve url ile dosyaları hızlı bir şekilde drive, box, dropbox, onedrive a kolayca upload etmenize yarıyor.
Daha fazlası..

27 Eylül 2017 Çarşamba

NoxPlayer 5.1 Alternatif (Pc-Mac) Android Emulator indir


NoxPlayer 5 Win/Mac Android Emulator


Root destekli Pc'de android deneyimi yaşamak isteyen Windows Mac kullanıcıları BlueStack çalışmıyor kasıyor donuyor ise NoxPlayer'ı bir deneyin derim.

Oyunları denemedim lakin programlarda hiç kastığına şahit olmadım. İçinde açtığım droidvpn'yi kullanınca klavyeden yazı yazmakta zorlanıyorsunuz. Diğer programlarda bir sorun olacağını sanmıyorum. Benim gibi bir windows 8 kullanan birisi iseniz; bilgisayarınız donuyor kasılıyor ise bu emulatoru kesinlikle tavsiye ediyorum. Ayrıca aklıma takılan bir şey var. Madem bu kadar güzel bir şey yapıyorlar. Neden ücretsiz diye aklıma gelmemiş değil?!

Tabi ki NoxPlayer geliştiricileri android versiyonuna reklam eklemeyi unutmamış. 
Anlaşılıyor ki Biz yaptık herkes kullansın bedava olsun reklamımı görsün para kazanayım. 

Neyse eleştirilerden sonra bu emulatorün harika özelliklerine bakalım.

Daha fazlası..

11 Eylül 2017 Pazartesi

Internet Radyolarını Çevrimiçi Online Kaydetme

uSave.it


Merhaba arkadaşlar sizlere yeni bir site tanıtacağım.

Bu site sayesinde internet radyolarını istediğiniz saat aralığında kaydetmenizi sağlıyor. Bunun için yazılmış güzel programlar var fakat bu site online olduğu için sizin bilgisayarınızı sürekli açık kalmasına gerek kalmıyor.


Record Streaming Radio Online

"Record Now. Listen Later "

"Şimdi kaydet. Sonra dinle. "


Daha fazlası..

12 Ağustos 2017 Cumartesi

IFTTT Nedir? işinizi botlara bırakın onlar halletsin



ifttt nedir?

Sosyal medya hesaplarında cloud depolama sistemlerine kadar api servisi olan her sisteme kolayca erişip birbirleriyle haberleşmesini sağlayabiliyorsunuz. bunun adı https://ifttt.com : if this than that.
ne zamandır böyle bir sistem arıyordum ki kendisi zaten yıllardır varmış.

Daha fazlası..

8 Haziran 2017 Perşembe

Backtracking (Geri iz sürme) Algoritma Nedir?

Backtracking Programlama Nedir?

Bu program algoritmasında ki temel amaç tekrar, geri iz sürme ve hatalardan ders almayı amaçlamaktadır. Adından da anlaşılacağı gibi çözüm bulmak için geri adım atıyoruz. Mevcut birçok hamle arasından olası bir hareketle başlıyoruz ve seçilen hareketle sorunu çözebildiysek sorunu çözmeye çalışıyoruz, Sonra çözdüğümüz yolları
Daha fazlası..

13 Mayıs 2017 Cumartesi

Spotify Öğrenci İndirimi Nedir Ve Nasıl Yararlanılır?



       Spotify'ın bugüne kadar Türkiye'deki öğrencilere sunmadığı veya sunamadığı %50 indirim kampanyasını başlattı. Peki bu kampanyasından nasıl yararlanacağız....


Daha fazlası..

12 Mayıs 2017 Cuma

Bilgisayar Mühendisliğinin İlk Senesi

Bilgisayar Mühendisliği 1.Sınıf

Merhaba arkadaşlar, bu yazımızda bilgisayar mühendisliği bölümü hakkında olacaktır.

Öncelikle Bilgisayarı ve Matematiği sevmeyenler için Bilgisayar Mühendisliği işkence olacaktır.

Bilgisayar mantığı algoritma(Harezmi) ve matematiğe(binary [0 ve 1'ler] ) dayanmaktadır.

Daha fazlası..

26 Mart 2017 Pazar

Bir tarayıcıdan fazlası : Opera

Bir tarayıcıdan fazlası : Opera


Opera, OperaMini için Java ve Symbian telefonlar için desteği kesmiş değil

İndirmek için Wap.Opera.Com

Ne yazık ki Opera Mobile (html5 destekleyen Nokia tarayıcısı) artık https:// bağlantılarını açmamakta

Ayrıca Android telefonlarda ise sürekli güncellenen uygulamalarına alışmak ta benim için zor geldiğinden hala eski sürüm opera7 yi kullanıyorum.

Opera hız konusunda hiç kötü değil. şimdi operanın portable sürümünden gelen özellikleri listeleyelim.

Daha fazlası..

23 Mart 2017 Perşembe

Bütün yazılım dillerinde "Merhaba Dünya" kodları

1)  ASSEMBLY
// Ekrana “Merhaba!” yazan örnek program kodu:
mov ax,cs
mov ds,ax
mov ah,9
mov dx, offset Git
int 21h
xor ax,ax
int 21h
Git:
db "Merhaba!",13,10,"$"

2)  ALGOL (ALGOrithmic Language)
// ALGOL 68'e ait, örnek “Merhaba!” kodu:
begin
print(("Merhaba!", newline))
end

Daha fazlası..

5 Dk da Android Uygulama Geliştir. Üstelik Telefonundan. Reklam ver