• Hakkımızda
  • Bize Katıl
  • Sizden Gelenler
  • İletişim
Yazılım Karavanı | Bilişim - Teknoloji - Blog
  • Anasayfa
  • Genel
  • Programlama
    • Ruby
    • Flutter
    • Android
    • Java
    • MySQL
    • Oracle SQL
  • Yaşamdan
  • Algoritmalar
  • Yapay Zeka
  • Topluluklar
No Result
View All Result
  • Anasayfa
  • Genel
  • Programlama
    • Ruby
    • Flutter
    • Android
    • Java
    • MySQL
    • Oracle SQL
  • Yaşamdan
  • Algoritmalar
  • Yapay Zeka
  • Topluluklar
No Result
View All Result
Yazılım Karavanı | Bilişim - Teknoloji - Blog
No Result
View All Result
Home Ruby

Ruby İkili Arama Ağacı (BST)

Ali Murat Çevik by Ali Murat Çevik
Nisan 22, 2018
in Ruby
1 min read
0
Ruby Programlama Dili Hakkında
WhatsApp'ta PaylaşTwitter'da PaylaşLinkedIn'de PaylaşTelegram'da Paylaş
class BosDugum
  def to_a
    []
  end 
  def include?(*)
    false
  end
  def ekle(*)
    false
  end 

alias_method :<<, :ekle

  def incele
  end 
end

class Node
  attr_reader :dugum
  attr_accessor :sol, :sag

  def initialize(v)
    @dugum = v
    @sol = BosDugum.new
    @sag = BosDugum.new
  end
  def ekle(v)
    case dugum <=> v
    when 1 then ekle_sol(v)
    when -1 then ekle_sag(v)
    when 0 then false
  end 
end
 
alias_method :<<, :ekle
  def include?(v)
    case dugum <=> v 
    when 1 then sol.include?(v)
    when -1 then sag.include?(v)
    when 0 then true
  end 
end 

  def incele
    "#{sol.incele} #{dugum} #{sag.incele}"
  end
  def to_a
    sol.to_a + [dugum] + sag.to_a
  end
private
  def ekle_sol(v)
    sol.ekle(v) || self.sol = Node.new(v)
  end
  def ekle_sag(v)
    sag.ekle(v) || self.sag = Node.new(v)
  end
end 
end

tree = BinaryTree::Node.new(10)
#tree.sol = BinaryTree::Node.new(5)
#tree.sag = BinaryTree::Node.new(15)

tree.ekle(5)
tree.ekle(15)
tree.ekle(3)
tree.ekle(12)
tree.ekle(8)
tree.ekle(17)

puts tree.incele
alim cevik
Tags: Ruby
SendTweet1ShareShare
Önceki Gönderi

Ruby Diziler (Arrays) 2. Kısım

Sonraki Gönderi

Samsun Bilgi Güvenliği Zirvesi

İlgili Yazılar

Ruby Veri Tipleri (Data Types)

Ruby Diziler (Arrays) 2. Kısım

by Emre İnaç
Nisan 14, 2018
0

Bu kısımda Ruby programlama dilinde dizilerde nasıl eleman seçebiliriz ,seçtiğimiz elemanlar üzerinde nasıl değişiklik yapabiliriz ve dizilerde yineleme işlemlerini nasıl...

Ruby Veri Tipleri (Data Types)

Ruby Diziler (Arrays) 1. Kısım

by Emre İnaç
Nisan 14, 2018
0

Ruby de diziler; herhangi bir nesnenin, tamsayı indisli koleksiyonlarıdır.  Dizilerde indisler, C ve JAVA dillerinde olduğu gibi 0 ‘dan başlar....

Ruby Veri Tipleri (Data Types)

Ruby Döngüler (Loops)

by Emre İnaç
Mart 22, 2018
0

Duruma göre bazen bir metni 10 kez yazdırmak isteyebilirsiniz. Bunu "print" komutu ile yapabilirsiniz ancak döngü kurarak yapmak daha basit...

Ruby Veri Tipleri (Data Types)

Ruby Kontrol Yapıları

by Emre İnaç
Mart 20, 2018
0

Ruby diğer modern yazılım dillerine göre çok daha basit bir kontrol yapısına sahiptir. Açıklanan tüm ifadeler geriye bir değer döndürür....

Ruby Veri Tipleri (Data Types)

Ruby Değişkenler ve Sabitler (Variables & Constants)

by Emre İnaç
Mart 17, 2018
0

Ruby'de bir değişken, adının başındaki karakterler ile ayırt edilebilir. Değişken adı belirlerken karakter sınırlaması yoktur. 4 adet değişken türü mevcuttur....

Next Post
Samsun Bilgi Güvenliği Zirvesi

Samsun Bilgi Güvenliği Zirvesi

Bubble Sort (Kabarcık Sıralama) Algoritması

Bubble Sort (Kabarcık Sıralama) Algoritması

Bir cevap yazın Cevabı iptal et

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

  • Popüler
  • Yorumlar
  • En Yeniler
Sıfırdan Yolo v4 Tiny Özelleşmiş Nesne Tespiti (Custom Object Detection)

Sıfırdan Yolo v4 Tiny Özelleşmiş Nesne Tespiti (Custom Object Detection)

Temmuz 26, 2021
B Ağaçları (B Trees)

B Ağaçları (B Trees)

Ağustos 24, 2020
Splash Screen Yapımı #Flutter

Splash Screen Yapımı #Flutter

Mayıs 25, 2020
Gini Index Kullanılarak Karar Ağacının (Decision Tree)  Oluşturulması

Gini Index Kullanılarak Karar Ağacının (Decision Tree) Oluşturulması

Ağustos 20, 2020
2020 ‘nin En Güncel ve Tehlikeli Zararlı Yazılımları

2020 ‘nin En Güncel ve Tehlikeli Zararlı Yazılımları

6
Magento 2 Detaylı Kurulum & Hatalar

Magento 2 Detaylı Kurulum & Hatalar

5
Flutter’da TFLite Kullanımı

Flutter’da TFLite Kullanımı

4
Bubble Sort (Kabarcık Sıralama) Algoritması

Bubble Sort (Kabarcık Sıralama) Algoritması

2
VGG-19 Transfer Learning ile Görüntü Sınıflandırma

VGG-19 Transfer Learning ile Görüntü Sınıflandırma

Eylül 12, 2022
SOC Sistemler Üzerine Faydalı Notlar

SOC Sistemler Üzerine Faydalı Notlar

Eylül 2, 2022
Python NLTK Kütüphanesi İle Basit Bir Chatbot Yapımı

Python NLTK Kütüphanesi İle Basit Bir Chatbot Yapımı

Ağustos 23, 2022
Makine Öğrenimi Nedir?

Makine Öğrenimi Nedir?

Ağustos 4, 2022

Reklam

Yazılım Karavanı | Bilişim – Teknoloji – Blog

Bilgi Teknolojileri alanına meraklı herkesin buluşma noktası!

No Result
View All Result
  • Anasayfa
  • Genel
  • Programlama
    • Ruby
    • Flutter
    • Android
    • Java
    • MySQL
    • Oracle SQL
  • Yaşamdan
  • Algoritmalar
  • Yapay Zeka
  • Topluluklar

© 2020 Yazılım Karavanı Kaynak gösterilmesini rica ederiz.