Sunuyu indir
Sunum yükleniyor. Lütfen bekleyiniz
1
1703317 Veri Yapıları Ve Algoritmalar
Sunu 1
2
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, , 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, gr, 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.
3
ANSI/ISO Standardına göre C dilinin veri tipleri/yapıları
Tipi Bit Boyutu Tanım Aralığı char 8 -127 – 127 unsigned char 0 – 255 signed char -127 – 127 int 16 veya 32* -32,767 – 32,767 unsigned int 0 – 65,535 signed int short int 16 unsigned short int signed short int long int 32 -2,147,483,647 – 2,147,483,647 signed long int unsigned long int 0 – 4,294,967,295 float 3.4x10-38 – 3.4x10+38 double 64 1.7x – 1.7x10+308
4
Veri Yapısı Verileri tanımlayan veri tiplerinin, birbirleriyle ve hafızayla ilgili tüm teknik ve algoritmik özellikleridir. VERİ YAPILARI tree graph stack queue list DOĞRUSAL (LINEAR) array string structure union integer float boolean char TEMEL/İLKEL (PRIMITIVE) BASİT (SIMPLE) BİRLEŞİK (COMPOUND) DOĞRUSAL OLMAYAN (NON-LINEAR)
5
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.
6
Veriden Bilgiye Geçiş HAM VERİ = ASCII VERİYAPISINA DÖNÜŞEN BİLGİ = B A B A BCD VERİYAPISINA DÖNÜŞEN BİLGİ = 16 BIT TAMSAYI VERİYAPISINA DÖNÜŞEN BİLGİ = 32 BIT TAMSAYI VERİYAPISINA DÖNÜŞEN BİLGİ =
7
Belleğin Yapısı Ve Veri Yapıları
8
Temel/İlkel (Primitive) Veri Yapıları
char blok=’A’; int agirlik=10; float uzunluk=27.5;
9
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;
10
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
11
‘&’ Adres Operatörü ve ‘
‘&’ Adres Operatörü ve ‘*’ Pointer’in Temel/İlkel (Primitive) Veri Yapılarında Kullanımı
12
‘&’ Adres Operatörü ve ‘
‘&’ Adres Operatörü ve ‘*’ Pointer’in Basit (Simple) Veri Yapılarında Kullanımı
13
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
14
LİSTELER Bir Bağlı Doğrusal Listenin Bellekteki Yapısı
struct node { int data; node* link; };
15
node, liste(list), null(nill)
16
Bir Bağlı Doğrusal Liste Tanımlamak
17
void dumplist(node* list)
18
node* newnode()
19
node* last(node* list)
20
void addhead(node* node_, node*& list)
21
void concatenate(node*& l1, node* l2)
22
node* cons(int data_)
23
node* copy(node* list)
24
node* locate(int data_, node* list)
25
bool member(node* node_, node* list)
26
node* cuthead(node*& list)
27
void free(node*& list)
28
bool advance(node*& point)
29
bool deletenode(node* node_, node*& list)
30
fonksiyonların örnek kullanımı
31
İki Bağlı Doğrusal Liste Tanımlamak
32
void dumplist(node* list)
33
node* newnode()
34
node* last(node* list)
35
void addhead(node* node_, node*& list)
36
void concatenate(node*& l1, node* l2)
37
node* cons(int data_)
38
node* copy(node* list)
39
node* locate(int data_, node* list)
40
bool member(node* node_, node* list)
41
node* cuthead(node*& list)
42
void free(node*& list)
43
bool advance(node*& point)
44
bool deletenode(node* node_, node*& list)
45
İki Bağlı Dairesel Liste Tanımlama
46
void dumplist(node* list)
47
node* newnode()
48
node* last(node* list)
49
void addhead(node* node_, node*& list)
50
void concatenate(node*& l1, node* l2)
51
node* cons(int data_)
52
Uygulama Turbo C ile yazılan rehber programının incelenmesi Bir bağlı doğrusal listeler simülasyonunun incelenmesi
53
Listeler ile Recursive fonksiyon uygulamaları
Benzer bir sunumlar
© 2024 SlidePlayer.biz.tr Inc.
All rights reserved.