Kategoriler
Eser Adı Yazar Yayınevi Açıklama İçindekiler Barkod
Arama  
Ana Sayfa Sipariş Takip Üyelik Yardım İletişim
 
 
Bülten
   
C/C++ ile Veri Yapıları ve Çözümlü Uygulamalar
Mart 2016 / 2. Baskı / 496 Syf.
Fiyatı: 55.50 TL
Stokta var (24 saatte kargoya verilir).
 
Sepete Ekle
   

Eser, kod anlatımlarıyla zenginleştirilmiş 2. baskısını yapmıştır.

C ve C++ dilleri, Veri Yapıları için vazgeçilmezlerden olan aktif bellek kullanımı, göstericiler (pointers) ve doğrudan bellek yönetimine destek sağlarlar. Bu nedenle C ve C++ veri yapılarını öğrenmek isteyenler için oldukça ideal dillerdir. Bellek yönetimi tam olarak anlaşılmadan Veri Yapılarının anlaşılması mümkün değildir. C++ sayesinde bellek yönetiminin temellerine inilerek konunun anlatılması sağlanmıştır.

Kitap içeriği, Veri Yapıları dersinin okutulduğu bütün bölümlerde ders kitabı olarak kullanılmaya uygun olarak düzenlenmiştir. Özellikle Bilgisayar ve Yazılım Mühendislikleri ile Bilgisayar Programcılığı bölümleri için kaynak kitap olarak kullanılabilir. Kendi kendine Veri Yapıları'nı öğrenmek isteyenler, kitap içerisindeki 250'den fazla örnek ve uygulamaları bilgisayarlarında kendi kendilerine deneyerek sonuçlarını kitaptaki sonuçlarla karşılaştırabilirler. Konular ilerledikçe, kitabın ne kadar etkin bir öğrenim yöntemi olduğunu kendileri göreceklerdir.

Bu kitap içeriğinde verilen tüm örnek ve uygulamalar, standart C++ kurallarına uygun olup GNU C++ derleyicisinde derlenebilir durumdadır. Zaten bu kitaptaki kodlar da bir GNU derleyicisi olan MinGW derleyicisi kullanılarak derlenmiş ve çıktıları alınmıştır.

Kitapta yer alan kodları seckin.com.tr'den indirebilirsiniz.

"Kötü programcılar yazdıkları kod hakkında endişelenirken, iyi programcılar veri yapıları ve ilişkileri hakkında endişelenirler." - Linus Torvalds -

Konu Başlıkları
Özyineleme ve Algoritma Analizi
Diziler
Yığıt Veri Yapısı (Stack)
Kuyruk Veri Yapısı (Queue)
Listeler
Ağaçlar
Sıralama Algoritmaları
Arama Algoritmaları
Graf ve Graf Uygulamaları
Kapsama Ağaçları
Çırpılama (Hashing)
Bellek Yönetimi (Göstericiler) ve B–Ağaçları
Barkod: 9789750237065
Yayın Tarihi: Mart 2016
Baskı Sayısı:  2
Ebat: 16x24
Sayfa Sayısı: 496
Yayınevi: Seçkin Yayıncılık
Kapak Türü: Karton Kapaklı
Dili: Türkçe
Ekler: -

 

İÇİNDEKİLER
İçindekiler  
Önsöz  5
Semboller  7
GİRİŞ  
G1. C++ ÖN BİLGİ  25
G1.1. Derleyici  25
G1.2. C++ Kod Yapısı  26
G1.3. Türler Arası Dönüşüm  27
G1.4. C++ Sınıf Yapısı  27
G2. NESNE MANTIĞI  28
G2.1. Nesne Yönelimli Programlama Prensipleri  28
G2.2. Ara Yüzler  30
G2.3. Şablonlar  30
G2.4. Sınıf Şablonları  31
G2.5. Hata Yakalama  32
G2.5.1. Kodlamada Karşılaşabilecek Hatalar  33
G3. Algoritma Karmaşıklığı  35
Özet  36
Uygulamalar  36
Çözümler  37
BÖLÜM 1  
1. VERİ YAPILARI  43
1.1. Giriş  43
1.2. Veri Yapısı (Data Structure)  44
1.3. Veri ve Bilgi Kavramı  44
1.3.1. On Altı Tabanlı Sayı Sistemi (Hexadecimal)  47
1.4. VERİ TİPLERİ  50
1.4.1. İlkel Veri Tipleri  50
1.4.2. Sayısal (Numeric) Tipler  51
1.4.3. Floating Point (Kayan Noktalı)  52
1.4.4. Decimal (Onlu)  53
1.4.5. Boolean (Mantıksal)  53
1.4.6. Karakter (Character) Tipi  53
1.4.7. Karakter Katarı (Character String)  53
1.4.8. Kullanıcı Tanımlı Sıralı Tipler  53
1.4.9. Türetilmiş Veri Tipleri  54
1.4.10. Pointer (Gösterge) Tipi  59
1.5. Tip Kontrolü  62
1.6. Tip Dönüşümleri  62
1.7. Veri Yapısı Çalışmaları  66
Özet  68
Uygulamalar  68
Çözümler  69
BÖLÜM 2  
2. ÖZYİNELEME VE ALGORİTMA ANALİZİ  75
2.1. Faktöriyel Fonksiyonu ve Özyineleme  75
2.2. Doğal Sayıların Çarpımı ve Özyineleme Yaklaşımı  77
2.3. Fibonacci Serisi ve Özyineleme  78
2.4. İkili Arama Algoritması ve Özyineleme  80
2.5. Hanoi Kuleleri  82
2.6. Özyinelemenin Değerlendirilmesi  86
2.7. Algoritma Analizi  86
2.8. Algoritma Karmaşıklığı Hesaplama Örnekleri  91
Özet  95
Uygulamalar  96
Çözümler  97
BÖLÜM 3  
3. DİZİ VERİ YAPISI  101
3.1. Tek Boyutlu Diziler  101
3.1.1. Tek Boyutlu Diziler ve Erişim Fonksiyonu  103
3.1.2. Tek Boyutlu Dizi Üzerine Uygulamalar  105
3.2. İki Boyutlu Diziler  110
3.2.1. Dizilerin Bellekle Eşleştirilmesi Yöntemleri  111
3.2.2. İki Boyutlu Dizinin Bellek Erişim Adresinin Bulunması  112
3.3. Üç Boyutlu Diziler  114
3.3.1. Üç Boyutlu Dizinin Bellekte Yerleşimi  115
3.4. Parametre Aktarım Yöntemleri  117
3.4.1. Değer ile Çağırma (Call by Value)  118
3.4.2. Sonuç ile Aktarım (Call by Result) ve Değer ve Sonuç ile Aktarım (Call by Value Result)  119
3.4.3.Referans ile Aktarım  119
3.4.4. Aktarım Yöntemlerinin Karşılaştırılması  120
Özet  120
Uygulamalar  120
Çözümler  121
BÖLÜM 4  
4. YIĞIT  125
4.1. Yığıt Üzerinde Temel İşlemler  127
4.2. Yığıt ile Problem Çözümü  128
4.3. Yığıt ve Temel İşlemlerinin Programlanması  131
4.3.1. Pop Fonksiyonu  133
4.3.2. Push Fonksiyonu  133
4.4. Matematiksel İfadelerin İnfix, Postfix ve Prefix Gösterimi  134
4.4.1. INFIX, POSTFIX ve PREFIX Gösterimleri ve Yığıt Veri Yapısı  135
4.4.2. Postfix İfadenin Değerlendirilmesi  138
4.4.3. Postfix İşlemlerinin C++ ile Gerçekleştirimi  140
4.5. Yığıtın Kullanım Yerleri  144
Özet  149
Uygulamalar  150
Çözümler  151
BÖLÜM 5  
5. KUYRUK VERİ YAPISI  157
5.1. Kuyruk Yapısına Eleman Ekleme  157
5.2. Kuyruk Yapısından Eleman Çıkarma  158
5.3. Ekleme ve Çıkarma İşleminin Yürütülmesi  158
5.4. Dairesel Kuyruk  163
5.4.1. Dairesel Kuyruk Temel İşlemleri  163
5.4.2. Dairesel Kuyruk Yapısının C İşletimi  169
5.4.3. Dairesel Kuyruğa Eleman Ekleme İşleminin İşletilmesi  170
5.5. Öncelikli Kuyruk  171
5.5.1. Öncelikli Kuyruk İşletimi  172
5.5.2. Öncelikli Kuyruk C++ ile İşletimi  173
5.6. Kuyruk Yapısı ve Sıralama Uygulaması: Radix Sort  173
Özet  177
Uygulamalar  177
Çözümler  178
Ekler  181
Ek1.a: Dizi üzerinde kuyruk  181
Ek1.b. DiziKuyrukTest  182
Ek2.a. Dairesel kuyruk  183
Ek2.b. Dairesel kuyruk test  184
Ek3. RadixSort  185
BÖLÜM 6  
6. BAĞLI LİSTE  189
6.1. Tek Yönlü Bağlı Liste  189
6.2. Bağlı Listeye Eleman Ekleme  190
6.3. Bağlı Listeden Eleman Çıkarma  192
6.4. Bağlı Liste ile Yığıt Gerçekleştirimi  194
6.5. Bağlı Liste ile Kuyruk Gerçekleştirimi  195
6.6. Bağıl Listenin Bellek Yerleşimi  196
6.7. Bağlı Liste ile Öncelikli Kuyruk İşletimi  202
6.8. Bağıl Listenin Dizi Üzerinde Gerçekleştirilmesi  203
6.9. C ve C++ Dillerinde Bağlı Liste Uygulamaları  207
6.9.1. Dinamik Değişkenlerle Bağlı Liste Uygulamaları  211
6.9.2. Liste Gezici Sınıfı (Iterator)  213
Özet  216
Uygulamalar  217
Çözümler  218
Ekler  220
Ek1. Satandart Template Library’de Bazı Bağlı Liste Fonksiyonları  220
Ek2. Düğüm Oluşturma  221
Ek3. Liste Gezici  221
Ek4. Liste  222
BÖLÜM 7  
7. BAĞLI LİSTELER 2  227
7.1. Dairesel Tek Yönlü Bağlı Liste  227
7.1.1. Dairesel Tek Yönlü Bağlı Liste ile Yığıt  228
7.1.2. Dairesel Tek Yönlü Bağlı Liste ile Kuyruk  229
7.1.3. Tek Yönlü Dairesel Bağlı Listede Temel İşlemler  230
7.1.4. Bir Dairesel Liste Uygulaması  230
7.2. İki Yönlü Bağlı Liste  232
7.2.1. İki Yönlü Bağlı Listelerde Temel İşlemler  234
7.2.2. İki Yönlü Bağlı Listelerde Herhangi Bir Yerden Eleman Silme  234
7.2.3. İki Yönlü Bağlı Listelerde Herhangi Bir Yere Eleman Ekleme  235
7.2.4. İki Yönlü Bağlı Listelerde Uygulamalar  236
7.3. İki Yönlü Dairesel Bağlı Liste  239
7.3.1. İki Yönlü Dairesel Bağlı Listeye Eleman Ekleme  239
7.3.2. İki Yönlü Dairesel Bağlı Listeden Eleman Silme  240
Özet  241
Uygulamalar  241
Çözümler  241
Ekler  243
Ek1. Liste Gezici  243
Ek2. İki Yönlü Bağlı Liste Üzerinde Gezinti  244
Ek3. Test  246
BÖLÜM 8  
8. AĞAÇLAR  249
8.1. Ağaç Veri Yapısı Temel kavramları  250
8.2. İkili Ağaçlar (Binary Trees)  251
8.2.1. İfade Ağaçları  252
8.3. İkili Ağaçlarda Dolaşım  254
8.3.1. Preorder Traversal  254
8.3.2. Postorder Traversal  257
8.3.3. Inorder Traversal  259
8.3.4. İkili Ağaçlarda Dolaşımın Rekürsif İşletimi  263
8.4. İkili Arama Ağaçları  263
8.4.1. İkili Arama Ağacı Kurma Algoritması  265
8.4.2. İkili Arama Ağacı Arama Algoritması  267
8.5. Ağaç Veri Yapısı Temel İşlemleri ve C++ Dili İşletimi  268
8.6. Ağaç Veri Yapısının Dizi Gösterimi  275
8.6.1. Ağaç Veri Yapısının Dizi Yardımıyla C++ Dilinde Gerçekleştirimi  276
Özet  282
Uygulamalar  283
Çözümler  285
BÖLÜM 9  
9. İKİLİ AĞAÇ UYGULAMALARI  291
9.1. Heap Sort  291
9.1.1. Heap Yapılanması  292
9.1.2. Heap İkili Ağacını Kullanarak Sıralama Yapma: HeapSort  295
9.2. Veri Sıkıştırma  299
9.3. Optimal İkili Ağaçlar  301
9.3.1. Huffman Optimal İkili Ağaç Algoritması  303
9.3.2. Sıralı Listelerin Kaynaştırılması  307
9.3.3. ShannonFano Kodlaması  309
9.3.4. LempelZiv Algoritması  311
9.3.5. Kod Çözümü  314
Özet  315
Uygulamalar  316
Çözümler  317
BÖLÜM 10  
10. SIRALAMA ALGORİTMALARI  323
10.1. Kabarcık Sıralama (Bubble Sort) Algoritması  323
10.1.1. Algoritmanın Analizi  326
10.2. Seçme Sıralama (Selection Sort) Algoritması  326
10.2.1. Algoritmanın Analizi  329
10.3. Araya Ekleme Sıralama (Insertion Sort) Algoritması  330
10.3.1 Algoritmanın Analizi  331
10.4. Kabuk Sıralama (Shell Sort)  333
10.5. Hızlı Sıralama Algoritması (Quick Sort)  334
10.5.1. Hızlı Sıralama Algoritmasının Analizi  337
10.6. Birleştirmeli Sıralama (Merge–Sort)  337
10.6.1. Birleştirmeli (Merge–sort) Sıralama Algoritmasının Analizi  341
10.7. Alfabetik Bilgilerin Sıralanması  341
10.7.1. Birden Fazla Alana Sahip Bilgilerin Sıralanması  342
10.8. Ağaç Sıralama Algoritması (Tree Sorting)  344
10.9. Karar Ağacı Sıralama (Decision Tree)  346
Özet  347
Uygulamalar  348
Çözümler  348
BÖLÜM 11  
11. ARAMA ALGORİTMALARI  353
11.1 Sıralı Arama  353
11.2. İkili Arama algoritması  354
11.3. Ara Değerle Arama (Interpolation Search)  355
11.4. Ağaç Arama (Tree Sorting)  358
11.5. İkili Arama Ağacına Eleman Ekleme  360
11.6. İkili Arama Ağacından Eleman Silme  363
11.7. Çok Boyutlu Arama Ağaçları  368
11.7.1. Splay Ağaçları  368
11.7.2. Kd – Ağaçları  371
11.7.3. Kırmızı–Siyah Ağaçları (Red–Black Trees)  375
Özet  380
Uygulamalar  381
Çözümler  382
BÖLÜM 12  
12. GRAF VE GRAF UYGULAMALARI  387
12.1. Graflar  387
12.2. Grafların Gösterimi  389
12.2.1. Komşuluk (Adjacency) Matrisi  389
12.2.2. Komşuluk (Adjacency) Listesi  393
12.3. Yollar ve Halkalar (Paths And Circuits)  396
12.3.1. Euler Halkası ve Yolu  396
12.3.2.Euler Halkasının C++ ile Gerçekleştirimi  397
12.4. Grafta En Kısa Yol  398
12.4.1. Dijkstra Algoritması  398
12.5. Grafın Farklı Bir Uygulaması: Öncelik Grafları  401
Özet  403
Uygulamalar  404
Çözümler  405
BÖLÜM 13  
13. KAPSAMA AĞAÇLARI  409
13.1. Geniş Öncelikli Arama Algoritması (BFS)  409
13.1.1. BFS’nin C++ ile Gerçekleştirimi  412
13.2. Derin Öncelikli Arama Algoritması  415
13.2.1. DFS’nin C++ ile Gerçekleştirimi  419
13.3. BFS ve DFS’nin Zaman Karmaşıklığı Karşılaştırması  421
13.4. Minimum Kapsama Ağaçları  421
13.4.1. Prim Algoritması  422
13.4.1.1. Prim Algoritmasının C++ ile Gerçekleştirimi  424
13.4.2. Kruskal Algoritması  425
13.4.2.1. Kruskal Algoritmasının C++ ile Gerçekleştirimi  428
Özet  429
Uygulamalar  430
Çözümler  431
BÖLÜM 14  
14. HASHING (ÇIRPILAMA)  437
14.1. Açık Çırpılama (Ayrık Zincirleme)  439
14.2. Kapalı Çırpılama (Açık Adresleme)  441
14.2.1. Doğrusal Sınama Yöntemi  441
14.3. İkili Hashing (Double Hashing)  443
14.4. Hash Tablosunun C++ ile Gerçekleştirimi  444
Özet  448
Uygulamalar  448
Çözümler  449
BÖLÜM 15  
15. BELLEK YÖNETİMİ VE B–AĞAÇLARI  453
15.1. Bellek Yönetimi  453
15.1.1. Statik Bellek Bölgesi  453
15.1.2. Çalışma Anı Yığını (Run Time Stack)  453
15.1.3. Heap Bellek Bölgesi  456
15.1.4. Bellekte, Statik ve Dinamik Alan  458
15.2. B–Ağaçları (B–Trees)  458
15.2.1. B–ağaçlarından Eleman Silinmesi  460
15.2.2. B–ağaçlarının Karmaşıklık Analizi  461
Özet  461
Uygulamalar  462
Çözümler  463
Ekler  465
BÖLÜM 16  
16. MINGW DERLEYİCİSİNİN KURULUMU VE ÖRNEK ÇALIŞMALAR  471
16.1. MinGW  471
16.1.1. MinGW Debug İşlemi  471
16.2. MinGW Kurulumu  474
16.3. İlk C++ Programının Derlenmesi  479
16.4. Gelişmiş C++ Programlarının Derlenmesi  480
16.5. Make Dosyası  486
Özet  488
Kaynaklar  489
Kavramlar Dizini  491
 


Mutlu Avcı ...
Eylül 2019
40.00 TL
Sepete Ekle
Gökhan Dökmetaş
Eylül 2019
60.00 TL
Sepete Ekle
Engin Tekin ...
Eylül 2019
29.00 TL
Sepete Ekle
Can Aydın
Ağustos 2019
16.00 TL
Sepete Ekle





 

İÇİNDEKİLER
İçindekiler  
Önsöz  5
Semboller  7
GİRİŞ  
G1. C++ ÖN BİLGİ  25
G1.1. Derleyici  25
G1.2. C++ Kod Yapısı  26
G1.3. Türler Arası Dönüşüm  27
G1.4. C++ Sınıf Yapısı  27
G2. NESNE MANTIĞI  28
G2.1. Nesne Yönelimli Programlama Prensipleri  28
G2.2. Ara Yüzler  30
G2.3. Şablonlar  30
G2.4. Sınıf Şablonları  31
G2.5. Hata Yakalama  32
G2.5.1. Kodlamada Karşılaşabilecek Hatalar  33
G3. Algoritma Karmaşıklığı  35
Özet  36
Uygulamalar  36
Çözümler  37
BÖLÜM 1  
1. VERİ YAPILARI  43
1.1. Giriş  43
1.2. Veri Yapısı (Data Structure)  44
1.3. Veri ve Bilgi Kavramı  44
1.3.1. On Altı Tabanlı Sayı Sistemi (Hexadecimal)  47
1.4. VERİ TİPLERİ  50
1.4.1. İlkel Veri Tipleri  50
1.4.2. Sayısal (Numeric) Tipler  51
1.4.3. Floating Point (Kayan Noktalı)  52
1.4.4. Decimal (Onlu)  53
1.4.5. Boolean (Mantıksal)  53
1.4.6. Karakter (Character) Tipi  53
1.4.7. Karakter Katarı (Character String)  53
1.4.8. Kullanıcı Tanımlı Sıralı Tipler  53
1.4.9. Türetilmiş Veri Tipleri  54
1.4.10. Pointer (Gösterge) Tipi  59
1.5. Tip Kontrolü  62
1.6. Tip Dönüşümleri  62
1.7. Veri Yapısı Çalışmaları  66
Özet  68
Uygulamalar  68
Çözümler  69
BÖLÜM 2  
2. ÖZYİNELEME VE ALGORİTMA ANALİZİ  75
2.1. Faktöriyel Fonksiyonu ve Özyineleme  75
2.2. Doğal Sayıların Çarpımı ve Özyineleme Yaklaşımı  77
2.3. Fibonacci Serisi ve Özyineleme  78
2.4. İkili Arama Algoritması ve Özyineleme  80
2.5. Hanoi Kuleleri  82
2.6. Özyinelemenin Değerlendirilmesi  86
2.7. Algoritma Analizi  86
2.8. Algoritma Karmaşıklığı Hesaplama Örnekleri  91
Özet  95
Uygulamalar  96
Çözümler  97
BÖLÜM 3  
3. DİZİ VERİ YAPISI  101
3.1. Tek Boyutlu Diziler  101
3.1.1. Tek Boyutlu Diziler ve Erişim Fonksiyonu  103
3.1.2. Tek Boyutlu Dizi Üzerine Uygulamalar  105
3.2. İki Boyutlu Diziler  110
3.2.1. Dizilerin Bellekle Eşleştirilmesi Yöntemleri  111
3.2.2. İki Boyutlu Dizinin Bellek Erişim Adresinin Bulunması  112
3.3. Üç Boyutlu Diziler  114
3.3.1. Üç Boyutlu Dizinin Bellekte Yerleşimi  115
3.4. Parametre Aktarım Yöntemleri  117
3.4.1. Değer ile Çağırma (Call by Value)  118
3.4.2. Sonuç ile Aktarım (Call by Result) ve Değer ve Sonuç ile Aktarım (Call by Value Result)  119
3.4.3.Referans ile Aktarım  119
3.4.4. Aktarım Yöntemlerinin Karşılaştırılması  120
Özet  120
Uygulamalar  120
Çözümler  121
BÖLÜM 4  
4. YIĞIT  125
4.1. Yığıt Üzerinde Temel İşlemler  127
4.2. Yığıt ile Problem Çözümü  128
4.3. Yığıt ve Temel İşlemlerinin Programlanması  131
4.3.1. Pop Fonksiyonu  133
4.3.2. Push Fonksiyonu  133
4.4. Matematiksel İfadelerin İnfix, Postfix ve Prefix Gösterimi  134
4.4.1. INFIX, POSTFIX ve PREFIX Gösterimleri ve Yığıt Veri Yapısı  135
4.4.2. Postfix İfadenin Değerlendirilmesi  138
4.4.3. Postfix İşlemlerinin C++ ile Gerçekleştirimi  140
4.5. Yığıtın Kullanım Yerleri  144
Özet  149
Uygulamalar  150
Çözümler  151
BÖLÜM 5  
5. KUYRUK VERİ YAPISI  157
5.1. Kuyruk Yapısına Eleman Ekleme  157
5.2. Kuyruk Yapısından Eleman Çıkarma  158
5.3. Ekleme ve Çıkarma İşleminin Yürütülmesi  158
5.4. Dairesel Kuyruk  163
5.4.1. Dairesel Kuyruk Temel İşlemleri  163
5.4.2. Dairesel Kuyruk Yapısının C İşletimi  169
5.4.3. Dairesel Kuyruğa Eleman Ekleme İşleminin İşletilmesi  170
5.5. Öncelikli Kuyruk  171
5.5.1. Öncelikli Kuyruk İşletimi  172
5.5.2. Öncelikli Kuyruk C++ ile İşletimi  173
5.6. Kuyruk Yapısı ve Sıralama Uygulaması: Radix Sort  173
Özet  177
Uygulamalar  177
Çözümler  178
Ekler  181
Ek1.a: Dizi üzerinde kuyruk  181
Ek1.b. DiziKuyrukTest  182
Ek2.a. Dairesel kuyruk  183
Ek2.b. Dairesel kuyruk test  184
Ek3. RadixSort  185
BÖLÜM 6  
6. BAĞLI LİSTE  189
6.1. Tek Yönlü Bağlı Liste  189
6.2. Bağlı Listeye Eleman Ekleme  190
6.3. Bağlı Listeden Eleman Çıkarma  192
6.4. Bağlı Liste ile Yığıt Gerçekleştirimi  194
6.5. Bağlı Liste ile Kuyruk Gerçekleştirimi  195
6.6. Bağıl Listenin Bellek Yerleşimi  196
6.7. Bağlı Liste ile Öncelikli Kuyruk İşletimi  202
6.8. Bağıl Listenin Dizi Üzerinde Gerçekleştirilmesi  203
6.9. C ve C++ Dillerinde Bağlı Liste Uygulamaları  207
6.9.1. Dinamik Değişkenlerle Bağlı Liste Uygulamaları  211
6.9.2. Liste Gezici Sınıfı (Iterator)  213
Özet  216
Uygulamalar  217
Çözümler  218
Ekler  220
Ek1. Satandart Template Library’de Bazı Bağlı Liste Fonksiyonları  220
Ek2. Düğüm Oluşturma  221
Ek3. Liste Gezici  221
Ek4. Liste  222
BÖLÜM 7  
7. BAĞLI LİSTELER 2  227
7.1. Dairesel Tek Yönlü Bağlı Liste  227
7.1.1. Dairesel Tek Yönlü Bağlı Liste ile Yığıt  228
7.1.2. Dairesel Tek Yönlü Bağlı Liste ile Kuyruk  229
7.1.3. Tek Yönlü Dairesel Bağlı Listede Temel İşlemler  230
7.1.4. Bir Dairesel Liste Uygulaması  230
7.2. İki Yönlü Bağlı Liste  232
7.2.1. İki Yönlü Bağlı Listelerde Temel İşlemler  234
7.2.2. İki Yönlü Bağlı Listelerde Herhangi Bir Yerden Eleman Silme  234
7.2.3. İki Yönlü Bağlı Listelerde Herhangi Bir Yere Eleman Ekleme  235
7.2.4. İki Yönlü Bağlı Listelerde Uygulamalar  236
7.3. İki Yönlü Dairesel Bağlı Liste  239
7.3.1. İki Yönlü Dairesel Bağlı Listeye Eleman Ekleme  239
7.3.2. İki Yönlü Dairesel Bağlı Listeden Eleman Silme  240
Özet  241
Uygulamalar  241
Çözümler  241
Ekler  243
Ek1. Liste Gezici  243
Ek2. İki Yönlü Bağlı Liste Üzerinde Gezinti  244
Ek3. Test  246
BÖLÜM 8  
8. AĞAÇLAR  249
8.1. Ağaç Veri Yapısı Temel kavramları  250
8.2. İkili Ağaçlar (Binary Trees)  251
8.2.1. İfade Ağaçları  252
8.3. İkili Ağaçlarda Dolaşım  254
8.3.1. Preorder Traversal  254
8.3.2. Postorder Traversal  257
8.3.3. Inorder Traversal  259
8.3.4. İkili Ağaçlarda Dolaşımın Rekürsif İşletimi  263
8.4. İkili Arama Ağaçları  263
8.4.1. İkili Arama Ağacı Kurma Algoritması  265
8.4.2. İkili Arama Ağacı Arama Algoritması  267
8.5. Ağaç Veri Yapısı Temel İşlemleri ve C++ Dili İşletimi  268
8.6. Ağaç Veri Yapısının Dizi Gösterimi  275
8.6.1. Ağaç Veri Yapısının Dizi Yardımıyla C++ Dilinde Gerçekleştirimi  276
Özet  282
Uygulamalar  283
Çözümler  285
BÖLÜM 9  
9. İKİLİ AĞAÇ UYGULAMALARI  291
9.1. Heap Sort  291
9.1.1. Heap Yapılanması  292
9.1.2. Heap İkili Ağacını Kullanarak Sıralama Yapma: HeapSort  295
9.2. Veri Sıkıştırma  299
9.3. Optimal İkili Ağaçlar  301
9.3.1. Huffman Optimal İkili Ağaç Algoritması  303
9.3.2. Sıralı Listelerin Kaynaştırılması  307
9.3.3. ShannonFano Kodlaması  309
9.3.4. LempelZiv Algoritması  311
9.3.5. Kod Çözümü  314
Özet  315
Uygulamalar  316
Çözümler  317
BÖLÜM 10  
10. SIRALAMA ALGORİTMALARI  323
10.1. Kabarcık Sıralama (Bubble Sort) Algoritması  323
10.1.1. Algoritmanın Analizi  326
10.2. Seçme Sıralama (Selection Sort) Algoritması  326
10.2.1. Algoritmanın Analizi  329
10.3. Araya Ekleme Sıralama (Insertion Sort) Algoritması  330
10.3.1 Algoritmanın Analizi  331
10.4. Kabuk Sıralama (Shell Sort)  333
10.5. Hızlı Sıralama Algoritması (Quick Sort)  334
10.5.1. Hızlı Sıralama Algoritmasının Analizi  337
10.6. Birleştirmeli Sıralama (Merge–Sort)  337
10.6.1. Birleştirmeli (Merge–sort) Sıralama Algoritmasının Analizi  341
10.7. Alfabetik Bilgilerin Sıralanması  341
10.7.1. Birden Fazla Alana Sahip Bilgilerin Sıralanması  342
10.8. Ağaç Sıralama Algoritması (Tree Sorting)  344
10.9. Karar Ağacı Sıralama (Decision Tree)  346
Özet  347
Uygulamalar  348
Çözümler  348
BÖLÜM 11  
11. ARAMA ALGORİTMALARI  353
11.1 Sıralı Arama  353
11.2. İkili Arama algoritması  354
11.3. Ara Değerle Arama (Interpolation Search)  355
11.4. Ağaç Arama (Tree Sorting)  358
11.5. İkili Arama Ağacına Eleman Ekleme  360
11.6. İkili Arama Ağacından Eleman Silme  363
11.7. Çok Boyutlu Arama Ağaçları  368
11.7.1. Splay Ağaçları  368
11.7.2. Kd – Ağaçları  371
11.7.3. Kırmızı–Siyah Ağaçları (Red–Black Trees)  375
Özet  380
Uygulamalar  381
Çözümler  382
BÖLÜM 12  
12. GRAF VE GRAF UYGULAMALARI  387
12.1. Graflar  387
12.2. Grafların Gösterimi  389
12.2.1. Komşuluk (Adjacency) Matrisi  389
12.2.2. Komşuluk (Adjacency) Listesi  393
12.3. Yollar ve Halkalar (Paths And Circuits)  396
12.3.1. Euler Halkası ve Yolu  396
12.3.2.Euler Halkasının C++ ile Gerçekleştirimi  397
12.4. Grafta En Kısa Yol  398
12.4.1. Dijkstra Algoritması  398
12.5. Grafın Farklı Bir Uygulaması: Öncelik Grafları  401
Özet  403
Uygulamalar  404
Çözümler  405
BÖLÜM 13  
13. KAPSAMA AĞAÇLARI  409
13.1. Geniş Öncelikli Arama Algoritması (BFS)  409
13.1.1. BFS’nin C++ ile Gerçekleştirimi  412
13.2. Derin Öncelikli Arama Algoritması  415
13.2.1. DFS’nin C++ ile Gerçekleştirimi  419
13.3. BFS ve DFS’nin Zaman Karmaşıklığı Karşılaştırması  421
13.4. Minimum Kapsama Ağaçları  421
13.4.1. Prim Algoritması  422
13.4.1.1. Prim Algoritmasının C++ ile Gerçekleştirimi  424
13.4.2. Kruskal Algoritması  425
13.4.2.1. Kruskal Algoritmasının C++ ile Gerçekleştirimi  428
Özet  429
Uygulamalar  430
Çözümler  431
BÖLÜM 14  
14. HASHING (ÇIRPILAMA)  437
14.1. Açık Çırpılama (Ayrık Zincirleme)  439
14.2. Kapalı Çırpılama (Açık Adresleme)  441
14.2.1. Doğrusal Sınama Yöntemi  441
14.3. İkili Hashing (Double Hashing)  443
14.4. Hash Tablosunun C++ ile Gerçekleştirimi  444
Özet  448
Uygulamalar  448
Çözümler  449
BÖLÜM 15  
15. BELLEK YÖNETİMİ VE B–AĞAÇLARI  453
15.1. Bellek Yönetimi  453
15.1.1. Statik Bellek Bölgesi  453
15.1.2. Çalışma Anı Yığını (Run Time Stack)  453
15.1.3. Heap Bellek Bölgesi  456
15.1.4. Bellekte, Statik ve Dinamik Alan  458
15.2. B–Ağaçları (B–Trees)  458
15.2.1. B–ağaçlarından Eleman Silinmesi  460
15.2.2. B–ağaçlarının Karmaşıklık Analizi  461
Özet  461
Uygulamalar  462
Çözümler  463
Ekler  465
BÖLÜM 16  
16. MINGW DERLEYİCİSİNİN KURULUMU VE ÖRNEK ÇALIŞMALAR  471
16.1. MinGW  471
16.1.1. MinGW Debug İşlemi  471
16.2. MinGW Kurulumu  474
16.3. İlk C++ Programının Derlenmesi  479
16.4. Gelişmiş C++ Programlarının Derlenmesi  480
16.5. Make Dosyası  486
Özet  488
Kaynaklar  489
Kavramlar Dizini  491
 


 
Kitap
Bülten
Kitap
Kitap
İndirimli Kitaplar
 
 
Ana Sayfa | Hakkımızda | Bülten | Gizlilik ve Çerez Sözleşmesi | Üye Sayfası | Yardım | İletişim

Seçkin Yayıncılık San. Tic. A.Ş.
Copyright © 1996 - 2019