Slayt 1 - Gazi Üniversitesi

advertisement
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
Download