Veri Yapıları ve Algoritma Temelleri PDF
içindekiler indir
şimdi satın al
Arka kapak. Bu kitap “veri yapıları ve algoritmalar” konusunu
anlamak ve öğrenmek için ciddi bir başlangıç kaynağıdır. Konular,
“veri yapıları ve algoritmalar”ı kapsamında aşağıdaki başlıklar
altında ele alınmıştır. Herşeyden önce algoritma tasarımına ait
temel bilgiler verilmiş ve SPARKS algoritma dili anlatılmıuştır;
daha sonra konular herhangi bir programlama diline bağımlı kalmadan,
ancak verilen örneklerin bilinen her programlama diliyle
tasarlanabileceği uygulama örnekleri verilmiştir. Bu kitap
üniversitelerde okutulan “Veri Yapıları ve Algoritmalar”, “Veri
Yapıları” veya “Algoritmalar” dersleri için ciddi bir kaynak
eserdir.
Önsözden.
20. yüzyılın sonlarının en önemli özelliğinin bilişim teknolojisi temelli öğelerin günlük yaşamımıza çok yoğun bir şekilde girmesi olduğunu söyleyebiliriz. Bu durumun 21. yüzyılda gittikçe artan bir şekilde süreceği de aşikar. O kadar ki artık sektörler arasında bir zamanlar oldukça keskin olan sınırlar aşınmakta, neyin bilişim teknolojisi içerisinde neyin dışarısında olduğu gittikçe muğlaklaşmakta. Sonuç olarak da bilgiişlem konusunda iyi yetişmiş elemanlara olan gereksinim gittikçe artmakta. Bu talep gençler tarafından da hissedilmekte ve eğitim kurumlarımızın bilgiişlemle ilgili bölümleri en gözde bölümler haline gelmektedir. Bu talebin karşılanmasında eğitim kurumlarının ve eğiticilerin sayıları ve nitelikleri kadar eğitim materyallerinin nicelik ve nitelikleri de önemlidir.
Bilişim çağının diğer bir özelliği diplomaların terminal özellikleri kaybetmesi, mezun olma kavramının gittikçe muğlaklaşmasıdır. Artık hepimiz, gelişen teknolojilere paralel olarak, bir "yaşam boyu öğrenim" felsefesi ile bilgilerimizi tazelemek gereğini duyuyoruz. Bunun için de bir eğiticinin yardım ve girdilerini gerektirmeyen kitaplara gereksinim var.
Ülkemizde kitap yazmak getirisi nerede ise hiç olmayan bir uğraş. Bu durum ömürleri nitelikleri nedeni ile kısıtlı olan teknik kitaplar için daha da fazla geçerli. Belki de bu nedenle Türkçe kitap envanterimiz, gelişmiş ülkelere kıyasla oldukça sınırlı. Halbuki eğitim sektörü içerisinde yer alan biz "hocalar" bunu bir asli görev olarak kabul etmeliyiz ve Türkçe teknik literatüre elimizden gelen katkıyı yapmaya çalışmalıyız. Elinizde tuttuğunuz kitabın bu anlayışla, bir maddi getiri beklemeden yazıldığına emin olabilirsiniz. Dr. Sefer Kurnaz Hava Harp Okulu öğrencilerine yıllardır verdiği dersler sırasında kullandığı notları uzun bir zaman ayırarak ve büyük bir uğraş vererek kitaplaştırmış ve başka üniversitelerde verdiği dersler sırasında edindiği deneyimlerle zenginleştirerek siz okurlarla paylaşmak istemiş. Kendisine Türkçe teknik literatüre kazandırdığı bu değerli eser için teşekkür etmek gereğini duyuyorum. Kitabın içeriğinin çok iyi planlandığı, kapsamlı olması kadar, anlaşılır olmasına özen gösterildiği hemen anlaşılıyor. Okuyucular tarafından çok yararlı bulunacağına inanıyorum.
Dr. Sefer KURNAZ'ı değerli eseri için kutlar, kitabının eğitim dünyasına hayırlı olmasını dilerim. - Prof. Dr. Okyay KAYNAK
İÇİNDEKİLER
Bölüm 1. ALGORİTMA
1.1
Algoritma Nedir?
1.2
Algoritmanın Özellikleri
1.2.1 Etkinlik
1.2.2 Sonluluk
1.2.3 Kesinlik
1.2.4 Giriş/Çıkış Bilgisi
1.2.5 Performans Değerlendirilmesi
1.3 Algoritma Yazım Kuralları
1.3.1 Algoritma İsmi
1.3.2 Algoritmanın Yaptığı İşlem
1.3.3 İşlem Adımları
1.3.4 Açıklama
1.4 Ortak Akış Çizit Elemanları
1.5 Sparks Algoritma Dili
1.6 İfadeler ve Deyimler
1.6.1 Atama İfadesi
1.6.2 Koşullu İfadeler
1.6.3 Döngüler ve Tekrarlı İfadeler
1.7 Değişken İsimleri
1.8 Veri Yapıları
1.8.1 Diziler
1.8.2 Dinamik Bellek
1.9 Aritmetik İşlemler ve ifadeler
1.9.1 Aritmetiksel İşlemciler
1.9.2 Mantıksal İşlemciler
1.9.3 İlişkiler ve İlişkisel İşlemciler
1.10 Katar ve Katar İşlemleri
1.11 Girdi ve Çıktılar
1.12 Alt Algoritmalar
1.12.1 Fonksiyonlar
1.12.2 “Procedure”ler
1.13 Özet
1.14
Çalışma Soruları
Bölüm 2. DİZİLER
2.1 Bir Boyutlu Dizi
2.1.1 Tanım
2.1.2 Bir Boyutlu Dizinin Bellekte Gösterimi.
2.1.3 Bir Boyutlu Dizi ile ilgili işlemler
2.2 İki Boyutlu Dizi
2.2.1 Tanım
2.2.2 İki Boyutlu Dizinin Bellekte Gösterimi.
2.2.3 İki Boyutlu Dizi ile ilgili işlemler
2.3 Üç Boyutlu Dizi
2.3.1 Tanım
2.3.2 Üç Boyutlu Dizinin Bellekte Gösterimi.
2.3.3 Üç Boyutlu Dizi ile ilgili işlemler
2.4 Özet
2.5
Çalışma Soruları
Bölüm 3. YIĞIN (Stack)
3.1 Yığına Eleman Ekleme/Çıkarma İşlemleri
3.1.1 Yığına Eleman Ekleme İşlemi
3.1.2 Yığından Eleman Çıkarma İşlemi
3.2 Yığının Kullanım Alanları
3.2.1 Alt Algoritma Çağırma
3.2.2 Özyineli (Rekürsif) Algoritma
3.3 İfadelerin Değerlendirilmeleri
3.4 Aritmetik İfade Biçimleri
3.4.1 İşlemciler Arada Biçimi (İşard)
3.4.2 İşlemciler Önde Biçimi.
3.4.3 İşlemciler Sonda Biçimi (İşSonda)
3.5 İşlemciler Sonda İfade Biçimi
3.5.1 İşlemciler Sonda Algoritması
3.5.2 İşlemciler Sonda İfadeyi Değerlendirme İşlemi
3.5.3 Örnek Uygulamalar
3.6 Özet
3.7
Çalışma Soruları
Bölüm 4. Kuyruk YapIlarI
4.1 Doğrusal Kuyruk yapısı
4.1.1 Doğrusal Kuyruğa Eleman Ekleme
4.1.2 Doğrusal Kuyruktan Eleman Çıkarma
4.2 Dairesel Kuyruk Yapısı
4.2.1 Dairesel Kuyruğa Eleman Ekleme
4.2.2 Dairesel Kuyruktan Eleman Çıkarma
4.3 Özel Kuyruk Yapıları
4.3.1 Her İki Tarafından Ekleme Ve Çıkarma Yapılan Kuyruk
4.3.2 Girişi Sınırlandırılmış Çift Yönlü Kuyruk
4.3.3 Çıkışı Sınırlandırılmış Çift Yönlü Kuyruk
4.4 Özet
4.5
Çalışma Soruları
Bölüm 5. Bağlantılı Lİsteler
5.1 Sıralı Liste Yapısı
5.1.1 Sıralı Listeye Eleman Ekleme
5.1.2 Sıralı Listeden Eleman Çıkarma
5.2 Boşlar Listesi
5.2.1 Boşlar Listesinin Oluşturulması
5.2.2 Düğümlerin Tanımlanması
5.2.3 Boşlar Listesine Düğüm Göndermek
5.3 Bağlantılı Liste İşlemleri
5.3.1 Tek Yönlü Sıralı Bağlantılı Liste İşlemleri
5.3.2 İki Yönlü Sıralı Bağlantılı Listeler
5.4 Bağlantılı Yığınlar
5.4.1 Bağlantılı Yığına Eleman Ekleme
5.4.2 Bağlantılı Yığından Eleman Çıkarma
5.5 Bağlantılı Kuyruklar
5.5.1 Bağlantılı Kuyruğa Düğüm Ekleme
5.5.2 Bağlantılı Kuyruk Yapısındaki Kuyruktan Düğüm Çıkarma
5.6 Özet
5.7
Çalışma Soruları
Bölüm 6. Ağaç YapIlarI
6.1 Genel Yapıdaki Ağacın Gösterim Formatları
6.1.1 Genel Gösterim
6.1.2 Yuvalanmış Parantez Gösterimi
6.1.3 Yuvalanmış Küme Gösterimi
6.1.4 Dizin Tipi Gösterim
6.1.5 Ağacın Seviye Numarası Kullanarak Gösterimi
6.2 İkili Ağaçlar
6.2.1 Tanımlar
6.2.2 İkili Ağacın Oluşturulması
6.2.3 İkili Ağaç Tanımları
6.3 İkili Ağaçlar Üzerinde Yapılan İşlemler
6.3.1 İkil Ağaçları Dolaşma Algoritmaları
6.3.2 Ağaçları Özyineli Algoritmalarla Dolaşma Yöntemleri
6.4 Ağaca Düğüm Ekleme, Düğüm Çıkarma İşlemleri
6.4.1 Ağaca Düğüm Ekleme
6.4.2 Ağaçtan Düğüm Çıkarma
6.5 Dengeli Ağaç İşlemleri
6.6 Özet
6.7
Çalışma Soruları
Bölüm 7. Sıralama Yöntemleri
7.1 Seçmeli Sıralama Yöntemi
7.1.1 Seçmeli Sıralama Algoritması
7.1.2 Algoritmanın İşlem Adımlarının Açıklaması
7.1.3 Algoritmanın Procedure Olarak kodlanışı
7.1.4 Procedure ün işlem adımlarının açıklaması
7.1.5 Algoritmanın Karmaşıklığı
7.1.6 Algoritmanın Örnek Uygulaması
7.2 Kabarcık Sıralama Yöntemi
7.2.1 Kabarcık Sıralama Algoritması
7.2.2 Algoritmanın İşlem Adımlarının Açıklaması
7.2.3 Algoritmanın Zaman Karmaşıklığı
7.2.4 Algoritmanın Örnek Uygulaması
7.2.5 Algoritmanın Procedure Olarak kodlanışı
7.2.6 Procedure’ün işlem adımlarının açıklaması
7.4 Çabuk Sıralama Yöntemi
7.4.1 Çabuk Sırala Algoritması
7.4.2 Algoritmanın İşlem Adımlarının Açıklaması
7.4.3 Algoritmanın Etkinliği
7.4.4 Örnek Uygulama
7.4.5 Algoritmanın Procedure Olarak Kodlanması
7.5 Birleştirme ve Birleştirme İle Sıralama Yöntemi
7.5.1 Sıralı İki Ayrı Dizinin Tek Dizide sıralı olarak birleştirilmesi
7.5.2 Algoritmanın İşlem Adımlarının Açıklaması
7.5.3 Tek Dizi İçinde İki Dizinin Birleştirilmesi
7.5.4 Algoritmanın İşlem Adımlarının Açıklaması
7.5.5 Tek dizi içinde sıralı iki diziyi birleştirerek sıralama
7.5.6 Tek diziyi intervallere ayırarak birleştirerek sıralama
7.5.7 Algoritma.7.5.3 ün İşlem Adımlarının Açıklaması
7.5.8 Ana Algoritma
7.5.9 Algoritma.7.5.4'ün İşlem Adımlarının Açıklaması
7.5.10 Algoritmanın Zaman Analizi
7.6 Özet
7.7
Çalışma Soruları
Bölüm 8. Arama Yöntemlerİ
8.1 Doğrusal Arama Yöntemi
8.1.1 Doğrusal Arama Algoritması
8.1.2 Algoritmanın İşlem Adımlarının Açıklaması
8.1.3 Algoritmanın Performans Değerlendirilmesi
8.1.4 Algoritmasının Procedure şeklinde kodlanması
8.2 İkili Arama Yöntemi
8.2.1 İkili Arama Yöntemi Algoritması
8.2.2 Algoritmanın İşlem Adımlarının Açıklaması
8.2.3 İkili Arama Algoritmasının Procedure Olarak Yazılması
8.2.4 Algoritmanın Performans Değerlendirilmesi
8.3 Ağaç Arama Yöntemi
8.3.1 Ağaç Arama Algoritması
8.3.2 Algoritmanın İşlem Adımlarının Açıklaması
8.3.3 Algoritmanın Procedure Şeklinde Yazılması
8.3.4 Algoritmanın Performans Değerlendirilmesi
8.4 Özet
8.5
Çalışma Soruları
Bölüm 9. VeriSeti YapIlarI ve UlaşIm Teknİklerİ
9.1 VeriSeti ve Donanım
9.1.1 Manyetik Teyp Ünitesi.
9.1.2 Manyetik Disk Ünitesi
9.1.3 Disket Ünitesi
9.1.4 Yoğun Disk Ünitesi
9.2 Veri Setleri Yapıları
9.3 VeriSeti düzenleme Teknikleri
9.3.1 Ardışık VeriSeti
9.3.2 İndekslenmiş Ardışık VeriSeti
9.3.3 Doğrudan Erişimli VeriSeti
9.4 Özet
9.5
Çalışma Soruları
Bölüm 10. Graf YapIlarI
10.1 Tanımlar
10.2 Altgraflar
10.2.1 Altgrafların Düğüm (d) Kenar (K) İle Gösterimi
10.3 Yönlü Graf Yapıları
10.4 Yönsüz Graf Yapıları
10.5 Graf Yapılarının Gösterimleri.
10.5.1 Komşuluk Matrisi
10.5.2 Komşuluk (Bağlantı) Listeleri
10.5.3 Ayrı Altgraflardan Oluşan Yönsüz Graflar
10.5.4 Ters Komşuluk (Ters Bağlantı) Listeleri
10.6 Maliyetli Graflarda Veri Gösterimi
10.7 Özet
10.8 Çalışma Soruları
Kaynakça
Dizin
Diğer programlama ve mühendislik kitaplarımızı incelemek için
buraya tıklayınız.
Akademik Kitaplar, Bilimsel
Kitaplar, Teknik Kitaplar, Üniversite Ders Kitapları |