Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

Veri Yapıları Ve Algoritmalar

Benzer bir sunumlar


... konulu sunumlar: "Veri Yapıları Ve Algoritmalar"— Sunum transkripti:

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ı


"Veri Yapıları Ve Algoritmalar" indir ppt

Benzer bir sunumlar


Google Reklamları