Download
1703317 veri yap lar ve algoritmalar n.
Skip this Video
Loading SlideShow in 5 Seconds..
1703317 Veri Yapıları Ve Algoritmalar PowerPoint Presentation
Download Presentation
1703317 Veri Yapıları Ve Algoritmalar

1703317 Veri Yapıları Ve Algoritmalar

307 Vues Download Presentation
Télécharger la présentation

1703317 Veri Yapıları Ve Algoritmalar

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  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, 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.

  3. ANSI/ISO Standardına göre C dilinin veri tipleri/yapıları

  4. 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.

  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. 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ş

  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 ‘*’ Pointer’inTemel/İlkel (Primitive) Veri Yapılarında Kullanımı

  12. ‘&’ 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İSTELERBir 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)