|
ÖNSÖZ
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
Teknik Bilgiler:
328 sayfa, 16,5x24 cm2, 80 gr
1. hamur kağıt.
Yayınevimizin konuyla
ilgili eserleri:
Bilgisayar
Mühendisliğine Giriş
Ortak; bölüm yazarlı (Editör: Dr. Rifat ÇÖLKESEN)
Veritabanı ve
Uygulamaları Yılmaz KAYA ve Ramazan TEKİN
Sistem Analizi ve
Tasarımı (Bilgisayar Bilimlerinde) Prof.Dr.
Oya KALIPSIZ ve ark.
Yazılım
Mühendisliği
Dr.Erhan SARIDOĞAN
C++ ve Nesneye Yönelik
C Programlama
Dr.Erhan SARIDOĞAN
Programlama Sanatı Algoritmalar (C Uyarlaması)
Dr.Cengiz UĞURKAYA (Editör)
Programlama Sanatı Algoritmalar (JAVA Uyarlaması)
Dr.Rifat ÇÖLKESEN (Editör)
C Programlama Dili -
İşte C Dr.Rifat ÇÖLKESEN
Uygulamalı C
Programlama Dili Bora TUNCER
Veri Yapıları
ve Algoritmalar
Dr.Rifat ÇÖLKESEN
Veri
Yapıları Algoritma Temelleri
Dr.Sefer KURNAZ
MATLAB ve Programlama
Dr.Aslan İNAN
JAVA ve Yazılım Tasarımı
Altuğ B. ALTINTAŞ
Linux Altında
Programlama
Ali VARDAR
GTK/GNOME Programlama
Ali VARDAR
Akademik
Kitaplar - Bilimsel Kitaplar - Üniversite Kitapları
|