Teoriden Uygulamalara Algoritmalar Temel Algoritmalar ve Veri Yapıları  – Kombinator Algoritmalar – Şifreleme – Geometrik Algoritmalar Prof. Dr. Vasif Nabiyev  - Kitap
Teoriden Uygulamalara

Algoritmalar

Temel Algoritmalar ve Veri Yapıları – Kombinator Algoritmalar – Şifreleme – Geometrik Algoritmalar

6. Baskı, 
Eylül 2021
Kitabın Detayları
Dili:
Türkçe
Ebat:
18x24
Sayfa:
872
Barkod:
9789750272127
Kapak Türü:
Karton Kapaklı
Fiyatı:
995,00
24 saat içerisinde temin edilir.
Kitabın Açıklaması
Gözden geçirilen ve genişletilen kitabın 6. Baskısı 18 bölümden oluşmaktadır. Kitabın hedefi, problem çözümüyle ilgili temel ve yeni tekniklerin öğrenilmesi ve öğretilmesidir.
Eser, üniversitelerin Bilgisayar Mühendisliği, Yazılım Mühendisliği, Bilişim, Elektronik, Endüstri Mühendisliği ve Uygulamalı Matematik ağırlıklı bölüm öğrencilerine yönelik hazırlanmıştır. Kitabın önemli özelliklerinden biri, diğer yerli ve yabancı kaynaklardan farklı olarak ilk kez birçok yeni algoritma çeşitlerine ve problemlere yer vermesidir.
Kitapta, öğrencilerin konuları kolayca anlayabilmesi ve uygulamaları gerçekleştirebilmeleri için 200'ün üzerinde farklı algoritmaya ve 150'den fazla çeşitli örnek ve probleme yer verilmiştir. Temel düzeyde programlama bilgisinden sonra takip edilmesi uygun görünen kitap, aynı zamanda programcılıkla ilgili birçok önemli bilgiyi de içermektedir.
Kitap, algoritmalarla ilgilenen diğer araştırmacı ve meslek sahipleri için de faydalı olmakta ve bir başvuru kitabı niteliğini taşımaktadır.
Kitabın Konu Başlıkları
.
Algoritma = Programlama + Matematik
.
Temel Veri Yapıları
.
Kümeleme Algoritmaları
.
Sayı Teorisi
.
Kriptolojik Algoritmalar
.
Graf Algoritmaları
.
Sıralama Algoritmaları
.
Kombinator Algoritmalar
.
Labirent Algoritmaları
.
Geometrik Algoritmalar
.
Paketleme Problemleri
.
Parçalama Algoritmaları
.
Optimizasyon Algoritmaları
.
Dinamik Programlama
.
Oyunlarda Arama Algoritmaları
.
Oylama Yöntemleri
Yorumlar
Kitabın İçindekileri
Önsöz 
7
Teşekkürler 
11
1. Kitap
ALGORİTMALARIN TEMELLERİ
Bölüm 1:
Temeller: Algoritmalar = Programlama + Matematik
BİLGİSAYARLAR 
31
Bilgisayarın Gelişim Tarihi 
31
HESAP, PROGRAMLAMA DİLLERİ VE ALGORİTMALAR 
41
Programlama Dilleri 
43
Algoritmalar 
46
Problem Çözümleme 
47
Algoritmik Karmaşıklık 
48
Notasyonlar 
49
Büyük O Notasyonu 
49
Teta Notasyonu 
51
Omega Notasyonu 
51
Algoritma Analizi 
54
Temel Teorem (Master Theorem) 
57
Algoritmaların Gösterimi 
60
SAYI SİSTEMLERİ 
61
İlk Algoritmalar. Çarpma Algoritmaları 
62
Karatsuba’nın Çarpım Algoritması 
66
Roma Rakamları ile İlgili Algoritmalar 
68
Özdeş Dönüşümler 
71
İkili Sayı Sistemi. Sayı Sistemlerinin Problem Çözümünde Kullanımı 
73
Tartı Problemi 
79
Bölüm 2:
TEMEL VERİ YAPILARI 
87
Diziler 
87
Listeler 
88
Yığınlar ve Kuyruklar 
90
Ağaçlar 
93
İkili Ağaç Yapıları ve Ağaçlarda Dolaşma Yöntemleri 
94
ÖZYİNELEMELER 
97
Fibonacci Sayılarının Özyinelemeli Hesaplanması 
101
Özyinelemeli Programlamaya İlişkin Örnekler 
105
RASTGELE SAYILAR 
119
Rastgele Sayı Üretimi Algoritmaları 
121
Kayıt Değişikliği (Shift–Register) Algoritmaları 
126
Engel Algoritması 
127
Blum Blum Shub Algoritması 
128
Belirli Bir (Üssel) Kurala Göre Dağılım Gösteren Rastgele Sayıların Üretimi 
131
Bir Rastgele Sayı Üretimi Örneği: Zarlar 
134
ÜRETİM FONKSİYONLARI 
139
Bölüm 3:
Kümeleme Algoritmaları
KÜME TEORİSİNİN TEMELLERİ 
149
Küme İşlemleri ve Kartezyen Çarpım 
150
EKLEME–ÇIKARMA İLKESİNE İLİŞKİN ÖRNEKLER 
155
KALE POLİNOMLARI 
156
KÜMELENDİRME İŞLEMLERİ. GRUPLAŞTIRMA 
160
Küme Elemanlarının Düzenlenmesi 
160
Tekrarlı Düzenlemeler 
161
Permutasyon 
162
Tekrarlı Permutasyonlar 
166
KOMBİNASYONLAR 
167
Tekrarlı Kombinasyonlar 
168
NESNELERİN KUTUYA KONULMASI 
173
KOMBİNASYONLARIN OLUŞTURULMASI 
176
YER DEĞİŞMELER. 
181
TERS ARDIŞIKLIĞA GÖRE PERMUTASYONUN OLUŞTURULMASI 
185
K– ELEMANLI ALTKÜMELERİN OLUŞTURULMASI 
186
KÜMELERİN ALT KÜMELERE PARÇALANMASI 
193
2. Türden Stirling ve Bell Sayıları. 
193
Catalan Sayıları 
196
Catalan Sayılarının Çözümlerin Sayımında Kullanımı 
197
n – SIRALI NESNENİN DÜZENSİZLEŞTİRİLMESİ 
201
GÜVERCİN YUVASI İLKESİ 
204
AKIL USTASI (MASTERMIND) PROBLEMİNİN ÇÖZÜM ALGORİTMASI 
207
Bölüm 4:
Sayı Teorisi ve Sayılarla İlgili Algoritmalar
SAYI TEORİSİ 
219
MODÜLER ARİTMETİK 
219
(ab mod n)‘nin Hesaplanması Algoritmaları 
222
Çinlilerin Kalan Teoremi 
223
EN BÜYÜK ORTAK BÖLEN – EBOB 
226
Bölünürlük 
226
EBOB’un Belirlenmesi Algoritmaları 
227
SAYILARIN BÖLÜNEBİLME KURALLARI 
230
n Haneli Sayı Problemi 
234
ASAL SAYILAR 
239
Mersenne Sayıları 
244
Asallık Testi ve Asal Sayı Bulma Yöntemleri 
245
Asallık Testi 
245
Asalların Bulunması 
247
Eratosthenes Eleği 
249
Sezgisel Yöntem 
251
Asal Sayı Bulma Yöntemlerinin Karşılaştırılması 
253
KRİPTOLOJİ. 
255
Klasik Şifreleme Teknikleri 
256
Caesar Şifresi 
256
Polybius Şifresi 
257
Vigenere Şifresi 
257
Makineli Şifrelemeler 
259
Simetrik Algoritmalar 
260
Genel Anahtar Algoritmalar 
261
DOĞRUSAL VEYA AFİN ŞİFRELEME 
263
RSA GENEL ANAHTAR KRİPTOSİSTEMİ 
266
STEGANOGRAFİ 
269
SIR PAYLAŞMA 
272
Shamir’in Sır Paylaşma Şeması 
272
Shamir Yöntemi ile Gizli Görüntü Paylaşımı 
274
GÖRSEL ŞİFRELEME 
276
LUHN ALGORİTMASI. KART NUMARASININ DOĞRULANMASI 
277
ÖZEL SAYILAR VE SAYILARLA İLGİLİ ALGORİTMİK PROBLEMLER 
279
Mükemmel Sayılar 
285
Kaprekar Sayıları 
288
(3n+1) Problemi (Collatz Problemi) 
289
Steinhaus Çevrimi 
290
196–Problemi 
290
1089 Sayısı 
292
Armstrong Sayıları 
292
2997 Sayısı 
294
Tam Değerli (Diophantine) Denklemler ve Erdös–Straus Varsayımı 
294
Bölüm 5:
Altın Kesit ve Fibonacci Sayıları
ALTIN KESİT VE FİBONACCİ SAYILARI 
299
ALTIN ORAN 
299
FİBONACCİ ALGORİTMASI VE FİBONACCİ SAYILARI 
303
FİBONACCİ SAYILARI 
304
ALTIN ORANLA FİBONACCİ SAYILARI ARASINDAKİ BENZERLİK 
309
ALTIN DİKDÖRTGEN 
310
FİBONACCİ SAYILARININ BİLGİSAYARLI HESAPLANMASI 
310
LİNEER HOMOJEN YİNELEMELİ İLİŞKİLERİN SABİT KATSAYILARIYLA ÇÖZÜMÜ. FİBONACCİ SAYILARI İÇİN GENEL İFADENİN BULUNMASI 
314
LUCAS SAYILARI 
316
ALTIN DİZİ 
316
FİBONACCİ SAYILARININ UYGULANMASINA İLİŞKİN ÖRNEKLER 
323
THUE–MORSE ARDIŞIKLIĞI 
327
Bölüm 6:
Graf Teorisi ve Graflarla İlgili Algoritmalar
GRAFLAR VE GRAFLARLA İLGİLİ PROBLEMLER 
331
GRAFLARIN BİLGİSAYARDA GÖSTERİMİ 
334
GRAFLARIN SAYIMI 
338
VERİLEN DERECELERE UYGUN GRAFLARIN ÇİZİLMESİ 
346
GRAFLARDA ARAMA ALGORİTMALARI 
348
Derinine Arama Algoritması 
348
Enine Arama Algoritması 
350
EULER YOLLARI 
353
MİNİMUM YOL PROBLEMİ 
359
GEZGİN SATICI PROBLEMİ VEYA HAMİLTON DÖNGÜLERİ 
364
Açgöz Algoritmalarla Gezgin Satıcı Probleminin Çözümü 
367
En Yakın Komşu Algoritmasına Göre Gezgin Satıcı Probleminin Çözülmesi 
368
GRAFLARDA DÖNGÜLER. MİNİMUM AÇILIM AĞAÇLARI. 
371
1. Kruskal Algoritması 
376
2. Prim Algoritması 
377
3. Boruvka (Sollin) Algoritması 
379
4. Tersine Çıkarma (Reverse–Delete) Algoritması 
381
STEİNER NOKTASI VE STEİNER AĞAÇLARI 
382
GRAFLARDA KÜMELENDİRME ALGORİTMALARI 
385
Boş Altgrafların Bulunulması Algoritması 
387
RENKLEME PROBLEMİ 
391
Welch–Powel Renkleme Algoritması 
392
Renklendirme Problemi İçin Sezgisel Algoritma 
393
İKİ PARÇALI GRAFLAR VE BU GRAFLARIN EŞLEŞTİRİLMESİ 
398
Maksimum Eşleştirme Algoritması Veya Evlenme Problemi 
401
MODERN ÜRETİM ZİNCİRİNDE İŞLERİN YAPILMA SIRASI 
408
DEDİKODU PROBLEMİ 
411
MEYVE BAHÇESİ PROBLEMİ 
414
ÜÇ KAP PROBLEMİ 
418
KÜPLER PROBLEMİ 
421
Bölüm 7:
Sıralama Algoritmaları
SIRALAMA ALGORİTMALARI 
427
Sıralama (Sortıng) 
427
Yerleştirmeli Sıralama (Insertıon Sort) 
429
Direkt Yerleştirmeli Sıralama (Straight Insertion Sort) 
429
İkili Yerleştirmeli Sıralama (BINARY ınsertıon sort) 
430
Seçmeli Sıralama (Selectıon Sort) 
431
Kabarcık Sıralaması (Bubble Sort) 
432
Hızlı Sıralama (Quıck Sort) 
433
Geliştirilmiş Hızlı Sıralama (Enhanced Quick Sort) 
435
Özyinelemeli Olmayan Hızlı Sıralama (Non–Recursıve Quıck Sort) 
437
Birleştirme (Merge) İşlemi 
439
Birleştirmeli Sıralama (Merge Sort) 
440
Yerleşik Birleştirmeli Sıralama (In Place Stable Merge Sort) 
441
Bağlı Listeyle Birleştirme (Lınked–Lıst Merge) 
444
Bağlı Listeyle Birleştirme Sıralaması (Lınked–Lıst Merge Sort) 
444
Aşağıdan Yukarıya Birleştirme Sıralaması (Merge Bottom–Up) 
445
İkili Ağaç Sıralaması (BINARY TREE SORT) 
447
Kümeleme Kullanarak Sıralama (Heap Sort) 
449
Direkt Basamaklı Sıralama (Straight Radix Sort) 
450
Basamaklı Yer Değiştirme Sıralaması (Radix Exchange Sort) 
451
Dağıtmalı Sıralama (Distribution Sort) 
452
Güvercin Yuvası Sıralaması (Pigeon Hole Sort) 
453
İki Yönlü Kabarcık Sıralaması (Shaker Sort) 
454
İki Yönlü Kabarcık Sıralaması – 2 (Shaker2 Sort) 
455
Asansör Sıralaması (Elevator Sort) 
456
Tek–Çift Yer Değiştirmeli Sıralama (Odd–Even Transposıtıon) 
457
Shell Sıralaması (Shell Sort) 
458
Topolojik Sıralama 
459
SIRALAMA ALGORİTMALARININ ANALİZİ 
460
Bölüm 8:
Matematiksel Uygulamalar
HORNER ŞEMASI İLE POLİNOMLARIN HESAPLANMASI 
465
KÖKÜN GEOMETRİK OLARAK BULUNMASI 
467
KÖKÜN ANALİTİK YOLLA BULUNMASI 
469
Kübik Denklemlerin Köklerinin Hesaplanması 
470
4. dereceden denklemlerin çözümü 
472
KÖKÜN SAYISAL YÖNTEMLERLE BULUNMASI 
475
Yarıya Bölme Yöntemi 
476
BABİL KAREKÖK BULMA YÖNTEMİ 
477
Tekrarlamalı Yöntem 
477
Karekökün Sayısal Olarak Hesaplanması 
479
RASYONEL SAYILARIN SÜREKLİ KESİRLERLE GÖSTERİLMESİ 
482
SERİLER. SONLU VE SONSUZ SERİ TOPLAMLARININ HESAPLANMASI 
486
2. Kitap
KOMBİNATOR ALGORİTMALAR
Bölüm 9:
Labirentlerle İlgili Algoritmalar
LABİRENTTE YOLUN BULUNMASI PROBLEMİ 
495
LABİRENTTE YOLUN BULUNMASINA İLİŞKİN YAKLAŞIMLAR 
496
Derinine Arama 
496
Dalga Algoritması 
497
Sezgisel Yaklaşım 
499
TEK YOLLU LABİRENTİN ÇİZİLMESİ 
500
İKİ NOKTA ARASINDAKİ KESİŞMEYEN YOLLARIN BULUNULMASI 
504
LABİRENTTE SİHİRLİ SAYILAR 
514
Bölüm 10:
Geometrik Algoritmalar
GEOMETRİK ALGORİTMALAR 
517
NOKTALAR, DOĞRULAR VE POLİGONLAR 
517
Basit Kapalı Yolun Bulunması 
521
Koordinatlarına Göre Üçgenin Alanının Hesaplanması 
523
VORONOİ VE DELAUNAY GRAFLARI 
524
Voronoi Diyagramı 
524
Delaunay Poligonları 
525
Voronoi Diyagramının Böl ve Yen Algoritmasına Göre Çizimi 
526
NOKTANIN BÖLGEYE AİT OLMASININ BELİRLENMESİ. İZ SÜRME ALGORİTMASI 
530
VERİLEN TÜM NOKTALARI İÇİNE ALAN EN KÜÇÜK YARIÇAPLI ÇEMBERİN BULUNMASI 
532
Sırlı Çemberler 
532
MİNİMUM KUŞATMA ÇEMBERİ 
534
Minimum Kuşatma Çemberi Algoritması 
536
EN KÜÇÜK KAPALI ÇEVRİMİN BULUNMASI ALGORİTMASI 
539
RAMER–DOUGLAS–PEUCKER ALGORİTMASI 
543
FRAKTAL GEOMETRİ 
545
1. Geometrik Fraktallar 
548
1.1. Koch Fraktalı 
548
1.2. Ejderha Eğrisi 
551
1.3. Sierpinski Üçgeni 
554
2. Cebirsel Fraktallar 
555
Mandelbrot Fraktalı 
555
Julia Fraktalı 
556
3. Stokastik Fraktallar 
557
L–SİSTEM 
558
KAOS OYUNU 
559
KUTUPSAL KOORDİNATLAR 
560
1. Kardiod (Cardiod) 
563
2. Episikloid (Epicycloid) 
563
3. Epitrokoid (Epitrochoid) ve Hipotrokoid (Hypotrochoid) 
564
BEZİER EĞRİLERİ 
566
KÜRESEL KOORDİNAT SİSTEMİ. UV HARİTALAMA 
570
GÜZEL SANATLAR GALERİSİ PROBLEMİ 
572
İŞBİRLİKÇİ BEKÇİLER PROBLEMİ 
575
MONGE,MORLEY, MALFATTİ TEOREMLERİ 
577
Monge’nin Çember Teoremi 
577
Morley Teoremi ve Malfatti çemberleri 
577
Bölüm 11:
Paketleme Problemleri
PAKETLEME PROBLEMLERİ 
581
KARE PAKETLEMESİ 
582
ÜÇGEN KAPLAMA 
584
ÇEMBER PAKETLEME 
585
GİYOTİN PROBLEMİ 
590
KARE KARELEME VEYA MÜKEMMEL KARELER 
595
Bölüm 12:
Aralık Sorgulaması ve kD–Ağaçlar
ARALIK SORGULAMASI VE KD–AĞAÇLAR 
613
Tek Boyutlu Aralık Sorgulamaları. 
613
Sayı Bulmaca Problemi 
614
kD Ağaçları 
617
NOKTALARIN ARALIKLARA DENGELİ DAĞILIMI 
620
N ARALIKLI PARÇAYA N SAYININ DENGELİ YERLEŞTİRİLMESİ PROBLEMİ 
623
NOKTA RANKININ VE MAKSİMUM NOKTALARIN BULUNMASI PROBLEMİ 
624
DÜZLEMDE KAPALI ÇİFTLER PROBLEMİ 
627
Bölüm 13:
Parçalanma Problemleri
SAYILARIN PARÇALANMASI 
631
Problem Tanımı ve Grafiksel Gösterim. 
631
Parçalanma Problemi Çeşitleri 
633
SAYI PARÇALANMASI İLE İLGİLİ ALGORİTMALAR. 
636
PARA PROBLEMLERİ VE ALGORİTMA DEĞERLENDİRİLMESİ 
642
n–Para Problemi ile Algoritma Sınıflandırılması 
651
8 Para Problemi 
657
PARA PROBLEMİ 
659
J.STEİNER’İN PASTA PROBLEMİ VEYA ÇEMBERİN BÖLGELERE AYRILMASI 
660
Bölüm 14:
BOOLE CEBRİNİN TEMELLERİ 
667
AYRIK SİSTEMLER İÇİN METRİK SINIFLANDIRMA 
668
Metrik Özellik Vektörü 
674
NP KARAKTERLİ PROBLEMLERİN ÇÖZÜMÜNDE GORBATOV’UN KARAKTERİSTİK ANALİZİNİN KULLANIMI 
678
Semantik Eşitleme Yardımıyla Problem Çözümü 
679
Bölüm 15:
Problem Analizi
PROBLEM ANALİZİ 
687
DOMİLO 
687
Durum Araştırması veya Domino Kaplama 
689
Problemin Modellenmesi 
691
SÖZCÜK YAKALAMA 
696
ÇOK PARAMETRELİ PARÇALANMA VEYA LİG PROBLEMİ 
699
TURNUVA ÇİZELGESİNİN DÜZENLENMESİ 
699
Problem Tanımı 
705
Lig Problemine Genel Bakış 
706
Problem Doğrulama 
708
Bölüm 16:
Kombinator Algoritmalar
KOMBİNATOR ALGORİTMALAR 
719
POLİOMİNOLAR VEYA KARE HAYVANLAR 
719
Problemler 
726
LATİN KARELERİ 
728
LATİN DİKDÖRTGENLERİ 
730
36 Subay Problemi 
734
Milli Takım Problemi 
734
ŞEBEKE PROBLEMLERİ 
734
Şebeke İncelenmesi 
734
Matematiksel Tümevarım İlkesi 
737
Dikdörtgen Kaplama 
739
SUDOKU SAYISAL BULMACASI VE FUTOSHIKI 
742
Futoshiki 
745
SİHİRLİ KARELER 
747
Tek Dereceli Karelerin Yazılması 
749
Çift Dereceli Sihirli Karelerin Yazılması 
752
SİHİRLİ KARE ÇEŞİTLERİ 
753
Asal Sihirli Kareler 
755
Sihirli Çarpma Kareler 
755
Şeytani Kareler veya Dürer’in Sihirli Kareleri (1514). 
756
Sihirli Küpler 
757
Sihirli Çemberler. 
758
Sihirli Graflar. 
759
8 Vezir Problemi ve Sihirli Kareler. 
759
SİHİRLİ MATRİSLER 
761
EBEDİ TAKVİM ALGORİTMALARI 
766
Ebedi Takvim: Algoritma 1. 
767
Ebedi Takvim: Algoritma 2. 
768
Ebedi Takvim: Algoritma 3. 
770
Bölüm 17:
Optimizasyon Algoritmaları
LİNEER PROGRAMLAMA. SİMPLEKS YÖNTEMİ 
775
TAŞIMACILIK PROBLEMİ 
780
DİNAMİK PROGRAMLAMA 
783
Süreç Planlama 
784
Dinamik Programlama Yardımıyla Matrisler Zinciri Çarpımı Probleminin Çözümü 
786
En Uzun Ortak Altdizinin Bulunması Problemi 
795
Uzaklık Ayarlanması 
799
Sırt Çantası (Knapsack) Problemi 
803
Bölüm 18:
Oyunlar ve Oyunlarda Arama Algoritmaları
OYUNLARDA ARAMA ALGORİTMALARI 
811
Minimaks Yöntemi 
814
Alfa–Beta (Algoritması 
815
n–TAŞ PROBLEMİ VE A* ALGORİTMASI 
817
JOSEPHUS PROBLEMİ 
824
Probleme Genel Bakış 
828
LAMBALARIN YAKILMASI PROBLEMİ 
831
Problem Tanımı 
832
Çözüm Stratejisi 
833
OYLAMA VE OY SAYMA YÖNTEMLERİ 
837
Oylama Yöntemleri 
838
Basit Çoğunluk Yöntemi 
838
Çoğunluk Yöntemi 
839
Borda Sayısı Yöntemi 
840
Condorcet Kriteri 
840
Hare Yöntemi 
842
Onaylamalı Yöntem 
842
Sıralı Çiftler Halinde Karşılaştırma Yöntemi (Eleme Usulü) 
843
Sonsöz 
845
EKLER 
847
EK–1: Programlama Dillerinin Kısa Kronolojisi 
847
EK–2: Tam ve Kesir Kısımlar. Bazı Önemli Bağıntılar 
849
EK–3: Seriler 
850
EK–4: Bazı Önemli Tarihler 
853
Kaynaklar 
855
Kavramlar Dizini 
865
Kapaktaki Simgelerle İlgili Kısa Bilgi 
871