Veri Yapıları (DS) eğitimi, Veri Yapısının temel ve gelişmiş kavramlarını sağlar. Veri Yapısı eğitimimiz yeni başlayanlar ve profesyoneller için tasarlanmıştır.
Veri Yapısı, verileri verimli bir şekilde kullanılabilecek şekilde depolamanın ve düzenlemenin bir yoludur.
Veri Yapısı eğitimimiz Dizi, İşaretçi, Yapı, Bağlantılı Liste, Yığın, Kuyruk, Grafik, Arama, Sıralama, Programlar vb. gibi Veri Yapısının tüm konularını içerir.
Veri Yapısı Nedir?
Veri yapısı adı, verinin bellekte düzenlendiğini belirtir. Veri yapılarından birini, yani C dilinde diziyi daha önce gördüğümüz için, bellekteki verileri düzenlemenin birçok yolu vardır. Dizi, verilerin sırayla, yani birbiri ardına depolandığı bir bellek öğeleri koleksiyonudur. Yani dizinin elemanlarını sürekli bir şekilde sakladığını söyleyebiliriz. Verilerin bu organizasyonu bir dizi veri yapısının yardımıyla yapılır. Bellekteki verileri düzenlemenin başka yolları da vardır. Farklı veri yapı türlerini görelim.
Veri yapısı C, C++, java vb. herhangi bir programlama dili değildir. Bellekteki verileri yapılandırmak için herhangi bir programlama dilinde kullanabileceğimiz bir dizi algoritmadır.
Bellekteki veriyi yapılandırmak için 'n' sayıda algoritma önerilmiştir ve bu algoritmaların tümü Soyut veri türleri olarak bilinmektedir. Bu soyut veri türleri kurallar dizisidir.
Veri Yapısı Türleri
İki tür veri yapısı vardır:
aktör Ranbir Kapoor'un yaşı
- İlkel veri yapısı
- İlkel olmayan veri yapısı
İlkel Veri yapısı
İlkel veri yapıları ilkel veri türleridir. int, char, float, double ve pointer tek bir değer tutabilen ilkel veri yapılarıdır.
İlkel Olmayan Veri yapısı
İlkel olmayan veri yapısı iki türe ayrılır:
- Doğrusal veri yapısı
- Doğrusal olmayan veri yapısı
Doğrusal Veri Yapısı
Verilerin sıralı bir şekilde düzenlenmesi doğrusal veri yapısı olarak bilinir. Bu amaçla kullanılan veri yapıları Diziler, Bağlantılı liste, Yığınlar ve Kuyruklardır. Bu veri yapılarında bir öğe yalnızca bir başka öğeye doğrusal biçimde bağlanır.
Bir öğe 'n' sayıda öğeye bağlandığında doğrusal olmayan bir veri yapısı olarak bilinir. En iyi örnek ağaçlar ve grafiklerdir. Bu durumda elemanlar rastgele bir şekilde düzenlenir.
Yukarıdaki veri yapılarını önümüzdeki konularda kısaca ele alacağız. Şimdi bu veri yapıları üzerinde yapabileceğimiz ortak işlemleri göreceğiz.
Veri yapıları ayrıca şu şekilde de sınıflandırılabilir:
Büyük Operasyonlar
Veri yapılarında gerçekleştirilebilecek başlıca veya ortak işlemler şunlardır:
Linux'ta Java sürümünü kontrol edin
Hangi Veri Yapısı?
Veri yapısı, verileri verimli bir şekilde kullanılabilecek şekilde düzenlemenin bir yoludur. Burada kelimeyi hem yer hem de zaman açısından verimli bir şekilde kullandık. Örneğin, bir yığın, uygulama için dizileri veya bağlantılı liste veri yapısını kullanan bir ADT'dir (Soyut veri türü). Bu nedenle, belirli bir ADT'yi uygulamak için bazı veri yapılarına ihtiyacımız olduğu sonucuna vardık.
Bir ADT şunu söylüyor: Ne yapılacak ve veri yapısı anlatıyor Nasıl yapılması gerekiyor. Yani ADT'nin bize planı verdiğini, veri yapısının ise uygulama kısmını sağladığını söyleyebiliriz. Şimdi şu soru ortaya çıkıyor: Belirli bir ADT için hangi veri yapısının kullanılacağı nasıl öğrenilebilir?
Farklı veri yapıları belirli bir ADT'de uygulanabildiğinden, farklı uygulamalar zaman ve mekan açısından karşılaştırılır. Örneğin, Stack ADT hem Diziler hem de bağlantılı liste tarafından uygulanabilir. Dizinin zaman verimliliği sağladığını, bağlantılı listenin ise alan verimliliği sağladığını varsayalım; dolayısıyla mevcut kullanıcının gereksinimlerine en uygun olan seçilecektir.
Veri yapılarının avantajları
Bir veri yapısının avantajları şunlardır:
betiği çalıştırılabilir yap
Veri Yapıları Dizini
DS'nin Temelleri
- DS'ye Giriş
- DS Asimptotik Analizi
- DS Yapısı
DS Dizisi
- 2D Dizi
DS Bağlantılı Liste
- Bağlantılı liste
- Başlangıçta ekleme
- Sonunda ekleme
- Belirtilen düğümden sonra ekleme
- Başlangıçta silme
- Sonunda silme
- Belirtilen düğümden sonra silme
- Geçiş
- Aranıyor
- Çift Bağlantılı Liste
- Başlangıçta ekleme
- Sonunda ekleme
- Belirtilen düğümden sonra ekleme
- Başlangıçta silme
- Sonunda silme
- Veri verilen düğümün silinmesi
- Geçiş
- Aranıyor
- Dairesel Bağlantılı Liste
- Başlangıçta ekleme
- Sonunda ekleme
- Başlangıçta silme
- Sonunda silme
- Geçiş
- Aranıyor
- Dairesel İkili Liste
- Başlangıçta ekleme
- Sonunda ekleme
- Başlangıçta silme
- Sonunda silme
DS Yığını
- Dizi Uygulaması
- Bağlantılı Liste Uygulaması
DS Kuyruk
- Dizi Uygulaması
- Bağlantılı Liste Uygulaması
- Dairesel Sıra
DS Ağacı
- Ağaç
- İkili ağaç
- Ön sipariş geçişi
- Sıralı Geçiş
- Sipariş Sonrası Geçiş
- İkili Arama Ağacı
- BST'de arama
- BST'ye ekleme
- BST'de silme
- AVL Ağacı
- AVL Ağacına Ekleme
- LL Rotasyonu
- Sol Dönüş Dönüşü
- RL Döndürme
- RR Rotasyonu
- AVL Ağacına Ekleme
- B Ağacı
- B+ Ağacı
- Kırmızı Siyah Ağaç
DS Grafiği
- DS Grafiği
- Grafik Uygulaması
- BFS Algoritması
- DFS Algoritması
- Yayılan Ağaç
DS Arama
DS Sıralaması
- Kabarcık Sıralaması
- Kova Sıralaması
- Tarak Sıralaması
- Sayma Sıralaması
- Yığın Sıralaması
- Ekleme Sıralaması
- Birleştir Sırala
- Hızlı sıralama
- Radix'i sırala
- Seçim Sıralaması
- Kabuk Sıralaması
- Bitonik Sıralama
- Kokteyl Sıralaması
- Döngü Sıralaması
- Tim Sırala
Görüşme soruları
Java'da geçerli tarih
- Tek bağlantılı liste oluşturup görüntüleyen program
- N düğümden oluşan tek bağlantılı bir liste oluşturan ve düğüm sayısını sayan program
- N düğümden oluşan tek bağlantılı bir liste oluşturup bunu ters sırada görüntüleyen program
- Tek bağlantılı listenin başlangıcından yeni bir düğümü silen program
- Tek bağlantılı listenin ortasından yeni bir düğümü silen program
- Tek bağlantılı listenin sonundaki bir düğümü silen program
- Tek bağlantılı bir listenin palindrom olup olmadığını belirleyen program
- Tek bağlantılı bir listeden maksimum ve minimum değer düğümünü bulan program
- Tek bağlantılı listenin ortasına yeni bir düğüm ekleyen program
- Tek bağlantılı listenin başına yeni bir düğüm ekleyen program
- Tek bağlantılı listenin sonuna yeni bir düğüm ekleyen program
- Tek bağlantılı listeden yinelenen öğeleri kaldırma programı
- Tek bağlantılı listedeki bir öğeyi arayan program
- Tek bağlantılı listenin öğelerini sıralayan program
- Verileri değiştirmeden tek bağlantılı bir listedeki düğümleri değiştiren program
- Tek bağlantılı listenin son elemanını ilkinden değiştiren program
Çift Bağlantılı Liste Programları
- Verilen Bir İkili Ağacı Çift Bağlantılı Listeye Dönüştüren Program
- Üçlü Ağaçtan Çift Bağlantılı Liste Oluşturma Programı
- Çift Bağlantılı N Düğüm Listesi Oluşturma ve Düğüm Sayısını Sayma Programı
- N Düğümün Çift Bağlantılı Listesini Oluşturan ve Bunu Ters Sırada Görüntüleyen Program
- Çift Bağlantılı Liste Oluşturma ve Görüntüleme Programı
- Çift Bağlantılı Listenin Başından Yeni Bir Düğümü Silme Programı
- Çift Bağlantılı Listenin Sonundan Yeni Bir Düğümü Silme Programı
- Çift Bağlantılı Listenin Ortasından Yeni Bir Düğümü Silme Programı
- Çift Bağlantılı Listeden Maksimum ve Minimum Değer Düğümünü Bulan Program
- Çift Bağlantılı Listenin Başına Yeni Bir Düğüm Ekleme Programı
- Çift Bağlantılı Listenin Sonuna Yeni Bir Düğüm Ekleme Programı
- Çift Bağlantılı Listenin Ortasına Yeni Bir Düğüm Ekleme Programı
- Çift Bağlantılı Listeden Yinelenen Öğeleri Kaldırma Programı
- Çift Bağlantılı Listeyi N Düğüme Göre Döndürecek Program
- Çift Bağlantılı Listedeki Bir Elemanı Arama Programı
- Çift Bağlantılı Listenin Elemanlarını Sıralama Programı
Dairesel Bağlantılı Liste Programları
- N Düğümün Dairesel Bağlantılı Listesini Oluşturma ve Düğüm Sayısını Sayma Programı
- N Düğümün Dairesel Bağlantılı Listesini Oluşturan ve Bunu Ters Sırada Görüntüleyen Program
- Dairesel Bağlantılı Liste Oluşturma ve Görüntüleme Programı
- Dairesel Bağlantılı Listenin Başından Yeni Bir Düğümü Silme Programı
- Dairesel Bağlantılı Listenin Sonundan Yeni Bir Düğümü Silme Programı
- Dairesel Bağlantılı Listenin Ortasından Yeni Bir Düğümü Silme Programı
- Dairesel Bağlantılı Listeden Maksimum ve Minimum Değer Düğümünü Bulan Program
- Dairesel Bağlantılı Listenin Başına Yeni Bir Düğüm Ekleme Programı
- Dairesel Bağlantılı Listenin Sonuna Yeni Bir Düğüm Ekleme Programı
- Dairesel Bağlantılı Listenin Ortasına Yeni Bir Düğüm Ekleme Programı
- Döngüsel Bağlantılı Listeden Yinelenen Öğeleri Kaldırma Programı
- Dairesel Bağlantılı Listede Bir Öğeyi Arama Programı
- Dairesel Bağlantılı Listenin Öğelerini Sıralama Programı
Ağaç Programları
- Bir İkili Ağacın Tek Seviyeli ve Çift Seviyeli Düğümlerinin Toplamı Arasındaki Farkı Hesaplayan Program
- İkili Arama Ağacı Oluşturma ve Silme ve Sıralı Geçiş Gerçekleştirme Programı
- İkili Ağacı İkili Arama Ağacına Dönüştürme Programı
- Tüm Yaprakların Aynı Seviyede Olup Olmadığını Belirleyen Program
- İki Ağacın Aynı Olup Olmadığını Belirleyen Program
- İkili Ağacın Maksimum Genişliğini Bulan Program
- İkili Ağaçtaki En Büyük Öğeyi Bulan Program
- Bir Ağacın Maksimum Derinliğini veya Yüksekliğini Bulan Program
- İkili Ağaçta Maksimum Uzaklıkta Olan Düğümleri Bulan Program
- İkili Ağaçtaki En Küçük Elemanı Bulma Programı
- İkili Ağacın Tüm Düğümlerinin Toplamını Bulan Program
- N Tuşla Olası İkili Arama Ağaçlarının Toplam Sayısını Bulan Program
- Bağlantılı Listeyi Kullanarak İkili Ağacı Uygulama Programı
- İkili Ağaçta Düğüm Arama Programı
Önkoşul
Veri Yapısını öğrenmeden önce temel C bilgisine sahip olmanız gerekir.
Kitle
Veri Yapısı eğitimimiz yeni başlayanlara ve profesyonellere yardımcı olmak için tasarlanmıştır.
Sorun
Bu Veri Yapısı eğitiminde herhangi bir sorun bulamayacağınızı garanti ediyoruz. Ancak herhangi bir hata varsa lütfen iletişim formuna gönderin.