540 likes | 937 Views
1703317 Veri Yapıları Ve Algoritmalar. Sunu 1. Veri-Bilgi.
E N D
Veri-Bilgi • Veri: Bilgisayar ortamında sayısal, alfasayısal veya mantıksal biçimlerde ifade edilebilen her türlü değer (Örn; 10, -2, 0 tamsayıları, 27.5, 0.0256, -65.253 gerçel sayıları, ‘A’, ‘B’ karakterleri, “Yağmur”, “Merhaba” karakter katarları, 0, 1 mantıksal değerleri, ses ve resim sinyalleri vb.) bir veridir. • Bilgi: Verinin işlenmiş ve bir anlam ifade halidir. Örn; 10 kg, -2 derece, 0 noktası anlamlarındaki tamsayılar, 27.5 cm, 0.0256 gr, -65.253 volt anlamlarındaki gerçel sayılar, ‘A’ bina adı, ‘B’ sınıfın şubesi anlamlarındaki karakterler, “Yağmur” öğrencinin ismi, “Merhaba” selamlama kelimesi karakter katarları, boş anlamında 0, dolu anlamında 1 mantıksal değerleri, anlamı bilinen ses ve resim sinyalleri verilerin bilgi haline dönüşmüş halleridir.
ANSI/ISO Standardına göre C dilinin veri tipleri/yapıları
VERİ YAPILARI TEMEL/İLKEL (PRIMITIVE) BASİT (SIMPLE) BİRLEŞİK (COMPOUND) integer float boolean char array string structure union DOĞRUSAL (LINEAR) DOĞRUSAL OLMAYAN (NON-LINEAR) stack queue list tree graph Veri Yapısı • Verileri tanımlayan veri tiplerinin, birbirleriyle ve hafızayla ilgili tüm teknik ve algoritmik özellikleridir.
Veri Yapıları Algoritmaları • Program, işlemci ve işletim sistemi her veri yapısına ait verileri, farklı biçim ve teknikler kullanarak, bellekte yazma ve okuma işlemleriyle uygulamalara taşırlar. Bu işlemlere kısaca Veri Yapıları Algoritmaları denir. • programlama esnekliği sağlar, • bilgisayar donanım ve kaynaklarından en etkin biçimde faydalanma olanakları sunar, • programın hızını, etkinliğini arttırır, • maliyetini düşürür.
HAM VERİ = 0100 0010 0100 0001 0100 0010 0100 0001 ASCII VERİYAPISINA DÖNÜŞEN BİLGİ = 0100 00100100 00010100 00100100 0001 B A B A BCD VERİYAPISINA DÖNÜŞEN BİLGİ = 01000010010000010100001001000001 4 2 4 1 4 2 4 1 16 BIT TAMSAYI VERİYAPISINA DÖNÜŞEN BİLGİ = 0100 0010 0100 00010100 0010 0100 0001 16961 16961 32 BIT TAMSAYI VERİYAPISINA DÖNÜŞEN BİLGİ = 0100 0010 0100 0001 0100 0010 0100 0001 1111573057 Veriden Bilgiye Geçiş
Temel/İlkel (Primitive) Veri Yapıları char blok=’A’; int agirlik=10; float uzunluk=27.5;
Basit (Simple) Veri Yapıları int agirlik [6]; char selam []=“Merhaba”; veya char selam []={‘M’,‘e’,‘r’,‘h’,‘a’,‘b’,‘a’,‘\0’}; struct kayit {char cinsiyet; char ad [ ]; int yas; float kilo; } ogrenci;
Birleşik (Compound) Veri Yapıları • Basit (Simple) veri yapılarından “dizi” veya “structure”, • nesne yönelimli programlamanın “sınıf/class” veri yapılarından
‘&’ Adres Operatörü ve ‘*’ Pointer’inTemel/İlkel (Primitive) Veri Yapılarında Kullanımı
‘&’ Adres Operatörü ve ‘*’ Pointer’in Basit (Simple) Veri Yapılarında Kullanımı
Yaygın Olarak Kullanılan Veri Yapıları Algoritmaları • LİSTELER • Bir Bağlı Doğrusal Listeler • Bir Bağlı Dairesel Listeler • İki Bağlı Doğrusal Listeler • İki Bağlı Dairesel Listeler • LİSTELER İLE STACK (YIĞIT) TASARIMI • LİSTELER İLE QUEUEE (KUYRUK) TASARIMI • LİSTELER İLE DOSYALAMA UYGULAMASI • ÇOK BAĞLI LİSTELER • AĞAÇLAR • MATRİSLER • ARAMA ALGORİTMALARI • SIRALAMA ALGORİTMALARI • GRAFLAR
LİSTELERBir Bağlı Doğrusal Listenin Bellekteki Yapısı struct node { int data; node* link; };