Veri Yapıları Veri Yapısı (Data Structure); Verinin veya bilginin bellekte tutulma şeklini veya düzenini gösterir. Temel veri yapılar; Tamsayı Kesirli sayı Karakter Sözcükler olabilir. Temel veri yapılarının dışında örneğin C dilinde struct ve union deyimleri kullanılarak yeni veri yapıları tanımlana bilir. Gazi Üniversitesi Bilgisayar Eğitimi Bölümü Öğr. Gör. Dr. Tuncay YİĞİT Veri Yapıları Veri Modeli (Data Model); Verilerin birbiri ile ilişkisel veya sırasal durumunu gösterir. Temel veri modelleri; Graf Ağaç 34 V0 V1 V5 V2 V6 V3 V7 V4 V8 61 16 06 V9 35 01 Her problem, doğası gereği en uygun bir veri modeline sahiptir. Gazi Üniversitesi Bilgisayar Eğitimi Bölümü Öğr. Gör. Dr. Tuncay YİĞİT Veri Yapıları Algoritma; Belli bir işi veya görevi var olan veya sonradan tanımlanan veri modeline dayandırılarak, adım adım ortaya koymak ve ve bunu bilgisayar ortamında herhangi bir programlama dili ile kodlamak denilebilir. Yazılım geliştirilirken birçok algoritma kullanılabilir; •Arama algoritması(searching algorithms) •Sıralama algoritması(sorting algorithms) •Matris veya vektörel işlem algoritması •Graf algoritması •Matematiksel modelin çözülmesi algoritması Gazi Üniversitesi Bilgisayar Eğitimi Bölümü Öğr. Gör. Dr. Tuncay YİĞİT Veri Yapıları Bellek Düzeni ve Diziler; Bellek, her birinde belli uzunlukta verinin saklandığı hücrelerden oluşan veri saklama birimidir. Bellekte her bir hücrenin kendisine ait bir bellek adresi vardır ve bu adres aracılığı ile ilgili hücreye erişilir. B dizisi Bellek Haritası Sistem alanı Gazi Üniversitesi Bilgisayar Eğitimi Bölümü $C000 $C002 $C004 $C006 $C008 A dizisi Kullanıcı programları Kullanıcı verileri 34 45 122 32 12 B[0] B[1] B[2] B[3] B[4] A[0] A[1] A[2] A[3] A[4] A[5] Ali Veli Hatice Gizem Hakan Ömer $A000 $A008 $A010 $A018 $A020 $A028 Öğr. Gör. Dr. Tuncay YİĞİT Veri Yapıları Yapısal Veri Tanımlamaları(struct, union); Struct, Farklı tipteki verilere tek bir isimle erişmek için kullanılır. struct ad { tip1 üye1; tip2 üye2; … tipN üyeN; }değişken_adları; struct kayit { char ad[15]; char soyad[20]; char adres[40]; unsigned short int yas; } a,b; a.yas=25; k=sizeof(struct kayit); //Bellekte ne kadar yer işgal ediyor. Gazi Üniversitesi Bilgisayar Eğitimi Bölümü Öğr. Gör. Dr. Tuncay YİĞİT Veri Yapıları Yapısal Veri Tanımlamaları(struct, union); Union, değişkenlerin aynı bellek alanını paylaşmak için gerekli ortaklık bildirimidir. union paylas { float f; int i; char kr; } Gazi Üniversitesi Bilgisayar Eğitimi Bölümü union paylas bir, iki; bir.kr=‘A’; bir.i=1993; iki.f=3.14; Öğr. Gör. Dr. Tuncay YİĞİT Veri Yapıları Bellek Düzeni ve İşaretciler (pointer); İşaretci, verinin veya bir program parçasının o anda bellekte işgal ettiği bellek adresini tutar. İşaretciler C dilinde etkin ve esnek kullanılabilmektedir. Bellek Haritası tam 1962 harf A kesirli 3,14 Bellek Haritası $0001 $0002 $0003 $0004 $0005 $0006 $0007 $0008 $0009 $000A $000B $... Gazi Üniversitesi Bilgisayar Eğitimi Bölümü p q r $0002 $0007 $000B $A001 $A002 $A003 $A004 $A005 $A006 $A007 $A008 $A009 $A00A $A00B $... Öğr. Gör. Dr. Tuncay YİĞİT