Veri Yapıları Ve Algoritmalar

Slides:



Advertisements
Benzer bir sunumlar
MIT503 Veri Yapıları ve algoritmalar Veri Yapılarına Giriş
Advertisements

JAVA TEMELLERİ GİRİŞ JAVA TEMELLERİ GİRİŞ signalsec.com & mialkan.com.
Listeler.
Ders İçeriği Bağlantılı Liste İki Yönlü Bağlantılı Liste
Programlama-II (Java ile Bilgisayar Programlama)
Nesneye Dayalı Programlama
Bölüm 2 C Dilinin Temelleri
Değişken Tanımlamaları
Basit Veri Türleri Sayısal Veri Türleri Karakter veri türü
Numbers of Opcodes Nihal Güngör.
OOP4 LAB.
BPR152 ALGORİTMA VE PROGRAMLAMA - II
DEĞİŞKENLER VERİ TÜRLERİ ve OPERATÖRLER
BİLGİSAYAR PROGRAMLAMA Ders 1 (2): Sayı ve Kodlama Sistemleri
Bölüm 10 Yapılar ve Birleşimler
Bölüm 2 C Dilinin Temelleri Genel Kavramlar
BÖLÜM DEĞİŞKENLER ve SABİTLER Buraya kadar yapılan örneklerde mümkün olduğunca öğretilmeyen kavramların yer almamasına özen gösterildi. Ancak herhangi.
VERİ TABANI VE YÖNETİM SİSTEMLERİ
C# İle Veri Yapıları Ve Programlama
MIT503 Veri Yapıları ve algoritmalar Veri Yapılarına Giriş
Veri Yapıları ve Algoritmalar
VERİTABANI OLUŞTURMAK
Nesneye Yönelik Programlama
SINIFLAR VE DİNAMİK BELLEK YÖNETİMİ
Nesneye Dayalı Programlama
Temel Veri Türleri ve Operatörler
VER İ T İ PLER İ Yard.Doç.Dr. Cihad DEM İ RL İ Sunu İ çeri ğ i Kayna ğ ı: Vatansever, F. (2010). Algoritma Geliştirme ve Programlamaya Giriş, (7. Baskı),
Ders 2- Veri türleri, Karar ve Döngü Yapıları, Görsel Kontröller Aslı Ergün.
DEĞİŞKENLER VE VERİ TİPLERİ
Veri Yapıları Yrd. Doç. Dr. Altan MESUT.
Değişkenler bellekte bulunan verilerdir. Değer tipleri veriyi direk olarak bellek bölgesinden alırken, Referans tipleri başka bir nesneye referans gösterirler.
INTERNET TABANLI PROGRAMLAMA
WEB PROGRAMLAMA PHP Temelleri Dr. Erman Yükseltürk.
Diziler Adres Kavramı Nesnelerin Adresleri sizeof Operatörü
NESNEYE YÖNELİK PROGRAMLAMA
SINIFLAR VE DİNAMİK BELLEK YÖNETİMİ VE SINIFLARIN DİĞER ÖZELLİKLERİ Yılmaz Kılıçaslan.
Veri Yapıları ve Algoritmaları ders_1
BAZI VERİ YAPILARI Yılmaz KILIÇASLAN. Sunu Planı Bu derste, çizgeler gibi bazı teorik nesnelerin bellekte nasıl tutulduğunu ve algoritmalarca nasıl işlendiğini.
VERİ TİPLERİ VE DEĞİŞKENLER
Ders 2- Veri türleri, Karar ve Döngü Yapıları, Görsel Kontröller
JAVA PROGRAMLAMA ORNEKLER
Veri Yapıları.
SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz
SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz
Veri yapıları Hafta3 Dizi Yapıları.
Hafta2 Rekürsif Algoritmalar
Temel Veri Yapıları Veri Yapıları 1. Bölüm 1. 2 Programlarımızda tanımladığımız nesneler ya tek parçadan ya da birden fazla parçadan oluşurlar. Tek parçadan.
VERİ ve BELLEK & DEĞİŞKENLERİN SAKLANMASI Asst.Prof.Dr.Misket YEKTAY Gizem AYIK.
İbrahim Olgaç PROGRAMLAMA DİLLERİ SUNUMU C#
Programlamaya Giriş-I Bölüm-1. Algoritma Algoritma günlük yaşamımızda yaptığımız işler sırasında sıklıkla kullandığımız bir yöntemdir. Algoritma, bir.
C Programlama Dili Bilgisayar Mühendisliği.
Presentation and Explaing Method 8.Sınıf
Programlama Dillerinin Temel Elemanları
C Programlama Yrd.Doç.Dr. Ziynet PAMUK BMM211-H03
C Programlama Diline Giriş
C Programlama Yrd.Doç.Dr. Ziynet PAMUK BMM211-H11
Bölüm 2 C Dilinin Temelleri
3- VERİ TİPLERİ - OPERATÖRLER Nesne Yönelimli Programlama - i
ARDUİNO Arduino Eğitimleri Bölüm 3 Programlama Dili Temelleri
Veri Tipleri 12/4/2018.
BLM-111 PROGRAMLAMA DİLLERİ I Ders-2 Değişken Kavramı ve Temel Operatörler Yrd. Doç. Dr. Ümit ATİLA
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
Bölüm 2 C Dilinin Temelleri
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
Sunum transkripti:

1703317 Veri Yapıları Ve Algoritmalar Sunu 1

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.

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.7x10-308 – 1.7x10+308

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)

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.

Veriden Bilgiye Geçiş HAM VERİ = 0100 0010 0100 0001 0100 0010 0100 0001 ASCII VERİYAPISINA DÖNÜŞEN BİLGİ = 0100 0010 0100 0001 0100 0010 0100 0001 B A B A BCD VERİYAPISINA DÖNÜŞEN BİLGİ = 0100 0010 0100 0001 0100 0010 0100 0001 4 2 4 1 4 2 4 1 16 BIT TAMSAYI VERİYAPISINA DÖNÜŞEN BİLGİ = 0100 0010 0100 0001 0100 0010 0100 0001 16961 16961 32 BIT TAMSAYI VERİYAPISINA DÖNÜŞEN BİLGİ = 0100 0010 0100 0001 0100 0010 0100 0001 1111573057

Belleğin Yapısı Ve Veri Yapıları

Temel/İlkel (Primitive) Veri Yapıları char blok=’A’; int agirlik=10; float uzunluk=27.5;

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;

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

‘&’ Adres Operatörü ve ‘ ‘&’ Adres Operatörü ve ‘*’ Pointer’in Temel/İlkel (Primitive) Veri Yapılarında Kullanımı

‘&’ Adres Operatörü ve ‘ ‘&’ Adres Operatörü ve ‘*’ Pointer’in Basit (Simple) Veri Yapılarında Kullanımı

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

LİSTELER Bir Bağlı Doğrusal Listenin Bellekteki Yapısı struct node { int data; node* link; };

node, liste(list), null(nill)

Bir Bağlı Doğrusal Liste Tanımlamak

void dumplist(node* list)

node* newnode()

node* last(node* list)

void addhead(node* node_, node*& list)

void concatenate(node*& l1, node* l2)

node* cons(int data_)

node* copy(node* list)

node* locate(int data_, node* list)

bool member(node* node_, node* list)

node* cuthead(node*& list)

void free(node*& list)

bool advance(node*& point)

bool deletenode(node* node_, node*& list)

fonksiyonların örnek kullanımı

İki Bağlı Doğrusal Liste Tanımlamak

void dumplist(node* list)

node* newnode()

node* last(node* list)

void addhead(node* node_, node*& list)

void concatenate(node*& l1, node* l2)

node* cons(int data_)

node* copy(node* list)

node* locate(int data_, node* list)

bool member(node* node_, node* list)

node* cuthead(node*& list)

void free(node*& list)

bool advance(node*& point)

bool deletenode(node* node_, node*& list)

İki Bağlı Dairesel Liste Tanımlama

void dumplist(node* list)

node* newnode()

node* last(node* list)

void addhead(node* node_, node*& list)

void concatenate(node*& l1, node* l2)

node* cons(int data_)

Uygulama Turbo C ile yazılan rehber programının incelenmesi Bir bağlı doğrusal listeler simülasyonunun incelenmesi

Listeler ile Recursive fonksiyon uygulamaları