Dosya Sıkıştırma (File Compression) Kütük Organizasyonu 1

Ebat: px
Şu sayfadan göstermeyi başlat:

Download "Dosya Sıkıştırma (File Compression) Kütük Organizasyonu 1"

Transkript

1 Dosya Sıkıştırma (File Compression) Kütük Organizasyonu 1

2 İçerik Dosya sıkıştırma nedir? Dosya sıkıştırma yöntemleri nelerdir? Run-Length Kodlaması Huffman Kodlaması Kütük Organizasyonu 2

3 Dosya Sıkıştırma Dosya sıkıştırmaya niçin ihtiyaç duyulmuştur? Minimum alana maksimum veri sığdırmak Daha hızlı aktarım sağlamk, erişim süresini azaltmak Sıradüzensel verileri daha hızlı işleyebilmek Kütük Organizasyonu 3

4 Dosya Sıkıştırma Sabit uzunluklu alanlar dosya sıkıştırmada en iyi adaylardır. Daha yoğun bir gösterimle temsil edilen bitlerin sayısı azaltılmaktadır. Dezavantajları: - İnsanlar tarafından anlaşılabilir değildir. - Kodlama için ekstra maliyet gerektirir. - Kod çözme modüllerine gereksinim vardır. Bu da karmaşıklığı arttırır. Kütük Organizasyonu 4

5 Run-Length Kodlama Algoritması Aynı byte dizilerinin sık kullanıldığı dosyalar için uygundur. Bir dizideki aynı değer birden fazla kez ortaya çıkarsa 3 byte ile yer değiştirir. Bu 3 byte : Özel bir escape karakteri (Run-Length kodu belirtecisi. FFh) Tekrar eden değer Değerin tekrar etme sıklığı Kütük Organizasyonu 5

6 Örnek Aşağıdaki veri seti bu algoritmaya göre kodlayalım. Veri Seti Kodlama sonucunda: elde edilir. Veri setinin boyutu kodlama sonucunda 18 byte tan 11 byte a düşmüştür. Kütük Organizasyonu 6

7 Bu kodlama, belirli bir miktar alan kazanmayı garanti etmez. Bazı durumlarda, sıkıştırılan veri seti, orjinal veri setinden daha büyük olabilmektedir. NEDEN? Kütük Organizasyonu 7

8 Mors Kodlaması En eski ve yaygın olarak kullanılan kodlamadır. Her bir karakter ile 2 çeşit sembol ilişkilendirilmiştir. Bazı değerler, diğerlerinden daha fazla sayıda kullanılır. Kütük Organizasyonu 8

9 Huffman Kodlaması Huffman kodlaması, kayıpsız sıkıştırma algoritmasıdır. Bu kodlama değişken uzunlukta bir kodlama olup bu kodlama mors kodlamasının tersine veri setindeki karakterlerin frekansına bağlıdır. Algoritma, bir veri setinde daha çok rastlanan bir sembolü daha düşük uzunluktaki kodla, daha az rastlanan sembolü ise daha büyük uzunluktaki kodla temsil edilmesine dayanmaktadır. Veri setindeki sembol sayısına ve bu sembollerin tekrarlama sayısına bağlı olarak %10 ile %90 arasında değişen oranlarda bir sıkıştırma elde edilebilir. Kütük Organizasyonu 9

10 Huffman Kodlaması (Devam) Huffman tekniğinde semboller(karakterler) ASCII'de olduğu gibi sabit uzunluktaki kodlarla kodlanmazlar. Her bir sembol değişken sayıda uzunluktaki kod ile kodlanır. Bir veri kümesini sıkıştırabilmek için bu küme içerisindeki sembollerin tekrar etme sıklıklarının bilinmesi gerekmektedir. Her sembolün ne kadar sıklıkta tekrar ettiğini gösteren tabloya frekans tablosu denir. Kütük Organizasyonu 10

11 Huffman Kodlaması (İşlem Adımları) İlk olarak, veri setine ait frekans tablosu oluşturulur Arddından, hangi karakterin hangi bitlerle temsil edileceğini gösteren Huffman ağacı oluşturulur. Kütük Organizasyonu 11

12 Örnek 1 Veri setine ait frekans tablosu aşağıdaki gibi olsun. Sembol Frekans A 60 B 40 C 25 D 20 E 10 Kütük Organizasyonu 12

13 Adım 1 Huffman ağacındaki en son düğümleri oluşturacak olan bütün semboller frekanslarına göre küçükten büyüğe doğru sıralanırlar. E 10 D 20 C 25 B 40 A 60 Kütük Organizasyonu 13

14 Adım 2 En küçük frekansa sahip olan iki sembolün frekansları toplanarak yeni bir düğüm oluşturulur. Oluşturulan bu yeni düğüm var olan düğümler arasında uygun yere yerleştirilir. Bu yerleştirme frekans bakımından küçüklük veya büyüklüğe göredir. C 25 ED 30 B 40 A 60 E 10 D 20 Kütük Organizasyonu 14

15 Adım 3 Bir önceki adımdaki işlem terkarlanılarak en küçük frekanslı 2 düğüm tekrar toplanır ve yeni bir düğüm oluşturulur. B 40 CED 55 A 60 C 25 ED 30 E 10 D 20 Kütük Organizasyonu 15

16 Adım 4 A 60 BCED 95 B 40 CED 55 C 25 ED 30 E 10 D 20 Kütük Organizasyonu 16

17 Adım 5 ABCED 155 A 60 BCED 95 B 40 CED 55 C 25 ED 30 E D Kütük Organizasyonu 17

18 Adım 6 Huffman ağacının kodu oluşturulurken ağacın en tepesindeki kök düğümden başlanır. ABCED A 60 0 BCED 95 1 Kök düğümün soluna ve sağına giden dallara sırasıyla 0 ve 1 yazılır. Sırası seçimliktir. B 40 0 C 25 CED ED 30 E D Kütük Organizasyonu 18 1

19 Veri Setinin Kodlanmış Hali Sembol Huffman Kodu Bit Sayısı Frekans A B C D E Kütük Organizasyonu 19

20 Karşılaştırma Veri setini ASCII kodu ile kodlanırsa, her karakter için 1 byte(8 bit) lık alan gerektiğinden toplamda 155 byte(1240 bit) a ihtiyaç olacaktı. Huffman kodlamsı ile bu sayı : 60x1 + 40x2 + 25x3 + 20x4 +10x4= 335 bittir. Görüldüğü gibi Huffman kodlamsı ile %73 lik bir kazanç sağlanmaktadır. Bu kazanç, veri setindeki sembollerin frekansları arttıkça daha da artmaktadır. Kütük Organizasyonu 20

21 Örnek 2 Üzerinde Huffman kodlamasını gerçekleştireceğimiz kelime PAPAĞAN olsun. P A P A Ğ A N Sembol Frekans P 2 A 3 Ğ 1 N 1 Kütük Organizasyonu 21

22 i ) N 1 Ğ 1 P 2 A 3 ii ) NĞ 2 P 2 A 3 iii ) A 3 NĞP 4 N 1 Ğ 1 NĞ 2 P 2 N 1 Ğ 1 Kütük Organizasyonu 22

23 iv ) ANĞP 7 v ) ANĞP A 3 NĞP 4 A 3 0 NĞP 4 1 NĞ 2 P 2 NĞ P 2 N 1 Ğ 1 N 1 Ğ 1 Huffman Ağacı Kütük Organizasyonu 23

24 N 1 ANĞP A 3 0 NĞ NĞP 4 Ğ 1 1 P 2 Sembol Huffman Kodu Bit Sayısı Frekans P A Ğ N PAPAĞAN sözcüğünü Huffman kodu ile ifade edersek gerekli olan bit sayısı= 13 bit yuterlidir. (Ascii ile 7 byte). Huffman kodu ile kodlanmış sözcük aşağıdaki gibidir. Huffman Ağacı P A P A Ğ A N Kütük Organizasyonu 24

25 Huffman Kodunun Çözümü Frekans tablosu ve sıkıştırılmış veri mevcutsa bahsedilen işlemlerin tersini yaparak kod çözülür. Diğer bir değişle: Sıkıştırılmış verinin ilk biti alınır. Eğer alınan bit bir kod sözcüğüne karşılık geliyorsa, ilgili kod sözcüğüne denk düşen karakter yerine konulur. Eğer alınan bit bir kod sözcüğü değil ise sonraki bit ile birlikte alnır ve yeni dizinin bir kod sözcüğü olup olmadığına bakılır. Bu işlem dizinin sonuna kadar yapılır. Böylece huffman kodu çözülerek karakter dizisi elde edilmiş olur. Kütük Organizasyonu 25

26 Lempel-Ziv Kodlaması Kütük Organizasyonu 26

27 1970 lerin sonlarına kadar veri sıkıştırma çalışmaları Huffman kodlamasından daha iyi algoritmalar geliştirmek için çalıştı. Bu alanda yeni bir yaklaşım Abraham Lempel ve Jacob Ziv tarafınan gerçekleştirilmiştir. Lempel ve Ziv kendi adlarıyla bilinen LZ77 ve LZ78 algoritmalarını geliştirmişlerdir. Bu iki algoritmanın bir çok farklı türü bulunmaktadır. LZ77 Altkategorileri LZR LZSS LZB LZH LZ78 Altkategorileri LZ W LZC LZT LZMW LZJ LZFG zip ve unzip LZH tekniğini kullanırken, UNIX de yer alan compress komutu LZW ve LZC yi kullanmaktadır. Kütük Organizasyonu 27

28 Algoritmada veri yapısı olarak genelikle sözlük (dictionary) kullanır. LZ78, veri setindeki bir veya daha fazla karakteri çakışmayacak(non-overlapping) ve aynı zamanda eşsiz(uniqe) desenler şeklinde sözlüğe ekler. LZ78 in sözlük yapısının çalışması ise; (0, char) Eğer karakter sözlükte mevcut değilse ekle (DictionaryPrefixIndex, char) (DictionaryPrefixIndex, next char) Eğer karakter sözlükte mevcut değilse ekle Eğer karakter sözlükte mevcut değilse ekle Kütük Organizasyonu 28

29 Dictionary empty ; Prefix empty ; DictionaryIndex 1; while(characterstream is not empty) { Char next character in characterstream; if(prefix + Char exists in the Dictionary) Prefix Prefix + Char ; else { if(prefix is empty) CodeWordForPrefix 0 ; else CodeWordForPrefix DictionaryIndex for Prefix ; Output: (CodeWordForPrefix, Char) ; insertindictionary( ( DictionaryIndex, Prefix + Char) ); DictionaryIndex++ ; Prefix empty ; } } if(prefix is not empty) { CodeWordForPrefix DictionaryIndex for Prefix; Output: (CodeWordForPrefix, ) ; } Kütük Organizasyonu 29

30 Örnek 1 2 harften meydana gelen bir alfebe olsun. aaababbbaaabaaaaaaabaabb Kural Karakter seti bizim daha önceden hiç görmediğimiz en küçük parçacıklara ayrılır. Kütük Organizasyonu 30

31 1. a harfi a aa b ab bb aaa ba aaaa aab aabb 2. a harfini daha önceden gördük şimdiki harf aa 3. b harfi 4. a harfini daha önceden gördük, şimdiki harf ab 5. b harfini daha önceden gördük, şimdiki harf bb 6. aa harfini daha önceden gördük, şimdiki harf aaa 7. b harfini daha önceden gördük, şimdiki harf ba 8. aaa harfini daha önceden gördük, şimdiki harf aaaa 9. aa harfini daha önceden gördük, şimdiki harf aab 10. aab harfini daha önceden gördük, şimdiki harf aabb Kütük Organizasyonu 31

32 1 den n e kadar indexlerimiz olsun. 0=Null String a aa b ab bb aaa ba aaaa aab aabb Bu index yapısını kullanarak veri setini kodlayabiliriz a 1a 0b 1b 3b 2a 3a 6a 2b 9b Bu yapıda her bir parça yeni bir karakter olara algılandığından ileti, bir önceki index in üzerine yeni bir karakter ilave edilmesi ile kodlanır. Kütük Organizasyonu 32

33 LZ78 in Ağaç Yapısı a 0 b a Index 1 b a Index 3 b a Index 2 b Index 4 Index 7 Index 5 Index 6 a Index 8 Index 9 b Index a aa b ab bb aaa ba aaaa aab aabb Kütük Organizasyonu 33

34 Örnek 2 Aşağıdaki karakter setini LZ78 algoritmasını kullanarak kodlayalım. aaabbcbcdddeab Kütük Organizasyonu 34

35 i ) Karakter setini parçalara ayıralım. a aa b bc bcd d de ab ii ) iii ) İndex oluşturalım a aa b bc bcd d de ab Bu indexi kullanarak veri setini kodlayalım. 0a 1a 0b 3c 4d 0d 6e 1b Kütük Organizasyonu 35

36 iv ) Kodlanan veri setinin ağacını oluşturalım 0 a b d a Index 2 Index 1 b Index 8 Index 3 c Index 4 d Index 5 Index 6 e Index 5 Kütük Organizasyonu 36

37 Örnek 3 Üzerinde LZ78 kodlamasını gerçekleştireceğimiz kelime PAPAĞAN olsun. P A P A Ğ A N Kütük Organizasyonu 37

38 i ) Karakter setini parçalara ayıralım. p a pa ğ an ii ) İndex oluşturalım p a pa ğ an iii ) Bu indexi kullanarak veri setini kodlayalım. 0p 0a 1a 0ğ 2n Kütük Organizasyonu 38

39 iv ) Kodlanan veri setinin ağacını oluşturalım 0 p a ğ Index 1 Index 2 Index 4 Index 3 Index 5 Kütük Organizasyonu 39

40 Örnek 4 BABAABRRRA şeklindeki stringi LZ78 ile kodlayalım Sıkıştırılan string : (0,B)(0,A)(1,A)(2,B)(0,R)(5,R)(2, ) Kütük Organizasyonu 40

41 1. B is not in the Dictionary; insert it 2. A is not in the Dictionary; insert it 3. B is in the Dictionary. BA is not in the Dictionary; insert it. 4. A is in the Dictionary. AB is not in the Dictionary; insert it. 5. R is not in the Dictionary; insert it. 6. R is in the Dictionary. RR is not in the Dictionary; insert it. 7. A is in the Dictionary and it is the last input character; output a pair containing its index: (2, ) Kütük Organizasyonu 41

42 Örnek 5 AAAAAAAAA şeklindeki stringi LZ78 ile kodlayalım 1. A is not in the Dictionary; insert it 2. A is in the Dictionary AA is not in the Dictionary; insert it 3. A is in the Dictionary. AA is in the Dictionary. AAA is not in the Dictionary; insert it. 4. A is in the Dictionary. AA is in the Dictionary. AAA is in the Dictionary and it is the last pattern; output a pair containing its index: (3, ) Kütük Organizasyonu 42

43 Örnek 6 ABBCBCABABCAABCAAB şeklindeki stringi LZ78 ile kodlayalım Sıkıştırılan string : (0,A)(0,B)(2,C)(3,A)(2,A)(4,A)(6,B) Kütük Organizasyonu 43

44 1. A is not in the Dictionary; insert it 2. B is not in the Dictionary; insert it 3. B is in the Dictionary. BC is not in the Dictionary; insert it. 4. B is in the Dictionary. BC is in the Dictionary. BCA is not in the Dictionary; insert it. 5. B is in the Dictionary. BA is not in the Dictionary; insert it. 6. B is in the Dictionary. BC is in the Dictionary. BCA is in the Dictionary. BCAA is not in the Dictionary; insert it. 7. B is in the Dictionary. BC is in the Dictionary. BCA is in the Dictionary. BCAA is in the Dictionary. BCAAB is not in the Dictionary; insert it. Kütük Organizasyonu 44

45 Transfer Edilen Bit Miktarı Sıkıştırılmamış string: ABBCBCABABCAABCAAB Toplam miktar : 18 * 8 = 144 bit Sıkıştırılmış form : (0,A)(0,B)(2,C)(3,A)(2,A)(4,A)(6,B) Bu form üzerinde her kod kelimesini 1 den başlayarak indekslensin. (0,A) (0,B) (2,C) (3,A) (2,A) (4,A) (6,B) Codeword index Kütük Organizasyonu 45

46 Codeword (0, A) (0, B) (2, C) (3, A) (2, A) (4, A) (6, B) index Bits: (1 + 8) + (1 + 8) + (2 + 8) + (2 + 8) + (3 + 8) + (3 + 8) + (3 + 8) = 71 bits Sıkıştırılmış string: : 0A 1B 10C 11A 100A 101A 110B Kütük Organizasyonu 46

47 (0,A) (0,B) (2,C) (3,A) (2,A) (4,A) (6,B) Codeword index (1 + 8) + (1 + 8) + (2 + 8) + (2 + 8) + (3 + 8) + (3 + 8) + (3 + 8) = 71 bits ise toplamda harcanmış olur. Sıkıştırma yapmadan önce ise bu değer 144 bit idi. Sıkıştırılmış string: 0A 1B 10C 11A 100A 101A 110B Kütük Organizasyonu 47

Dosya Sıkıştırma (File Compression) Kütük Organizasyonu 1

Dosya Sıkıştırma (File Compression) Kütük Organizasyonu 1 Dosya Sıkıştırma (File Compression) Kütük Organizasyonu İçerik Dosya sıkıştırma nedir? Dosya sıkıştırma yöntemleri nelerdir? Run-Length Kodlaması Huffman Kodlaması Kütük Organizasyonu 2 Dosya Sıkıştırma

Detaylı

DAVİD HUFFMAN ALGORİTMASI Sayısal haberleşme tekniklerinin önemli ölçüde arttığı günümüzde, sayısal verilen iletilmesi ve saklanması bir hayli önem kazanmıştır. Sayısal veriler çeşitli saklayıcılarda saklanırken

Detaylı

VERİ SIKIŞTIRMA YÖNTEMLERİ

VERİ SIKIŞTIRMA YÖNTEMLERİ Karadeniz Teknik Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü Bilgisayar Sistemleri Laboratuarı 1. Giriş VERİ SIKIŞTIRMA YÖNTEMLERİ Veri sıkıştırma (data compression) gelen verilerin

Detaylı

9.Hafta Veri sıkıştırma ve Aç gözlü algoritmalar

9.Hafta Veri sıkıştırma ve Aç gözlü algoritmalar 1 9.Hafta Veri sıkıştırma ve Aç gözlü algoritmalar 2 Veri Sıkıştırma (Compression) Kayıplı-Kayıpsız Veri Sıkıştırma Sabit ve Değişken Genişlikli Kodlama Huffman Algortiması (Greedy Algoithms) Veri Sıkıştırma

Detaylı

Belirteç Seçiminin Huffman Kodlaması Üzerine Etkisi

Belirteç Seçiminin Huffman Kodlaması Üzerine Etkisi Belirteç Seçiminin Huffman Kodlaması Üzerine Etkisi Korhan GÜNEL 1, Onur DİNCEL 2 1 Adnan Menderes Üniversitesi, Fen-Edebiyat Fakültesi, Matematik Bölümü, Aydın 2 Adnan Menderes Üniversitesi, Fen Bilimleri

Detaylı

Algoritma Geliştirme ve Veri Yapıları 9 Ağaç Veri Modeli ve Uygulaması. Mustafa Kemal Üniversitesi

Algoritma Geliştirme ve Veri Yapıları 9 Ağaç Veri Modeli ve Uygulaması. Mustafa Kemal Üniversitesi Algoritma Geliştirme ve Veri Yapıları 9 Ağaç Veri Modeli ve Uygulaması Ağaç, verilerin birbirine sanki bir ağaç yapısı oluşturuyormuş gibi sanal olarak bağlanmasıyla elde edilen hiyararşik yapıya sahip

Detaylı

İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BİLGİSAYAR SİSTEMLERİ LABORATUVARI

İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BİLGİSAYAR SİSTEMLERİ LABORATUVARI İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BİLGİSAYAR SİSTEMLERİ LABORATUVARI Veri Sıkıştırma Yöntemleri ve Huffman Kodlama ile Veri Sıkıştırma 1. Deney Amacı Veri sıkıştırma sadece bilgisayar

Detaylı

ISSN: El-Cezerî Fen ve Mühendislik Dergisi Cilt: 3, No: 2, 2016 ( )

ISSN: El-Cezerî Fen ve Mühendislik Dergisi Cilt: 3, No: 2, 2016 ( ) www.tubiad.org ISSN:2148-3736 El-Cezerî Fen ve Mühendislik Dergisi Cilt: 3, No: 2, 2016 (287-296) El-Cezerî Journal of Science and Engineering Vol: 3, No: 2, 2016 (287-296) ECJSE Makale / Research Paper

Detaylı

İMGE İŞLEME Ders-9. İmge Sıkıştırma. Dersin web sayfası: (Yrd. Doç. Dr. M.

İMGE İŞLEME Ders-9. İmge Sıkıştırma. Dersin web sayfası:  (Yrd. Doç. Dr. M. İMGE İŞLEME Ders-9 İmge Sıkıştırma (Yrd. Doç. Dr. M. Kemal GÜLLÜ) Dersin web sayfası: http://mf.kou.edu.tr/elohab/kemalg/imge_web/odev.htm Hazırlayan: M. Kemal GÜLLÜ İmge Sıkıştırma Veri sıkıştırmanın

Detaylı

SAYISAL ELEKTRONİK. Ege Ü. Ege MYO Mekatronik Programı

SAYISAL ELEKTRONİK. Ege Ü. Ege MYO Mekatronik Programı SAYISAL ELEKTRONİK Ege Ü. Ege MYO Mekatronik Programı BÖLÜM 2 Sayı Sistemleri İkilik, Onaltılık ve İKO Sayılar İkilik Sayı Sistemi 3 Çoğu dijital sistemler 8, 16, 32, ve 64 bit gibi, 2 nin çift kuvvetleri

Detaylı

Algoritma Geliştirme ve Veri Yapıları 3 Veri Yapıları. Mustafa Kemal Üniversitesi

Algoritma Geliştirme ve Veri Yapıları 3 Veri Yapıları. Mustafa Kemal Üniversitesi Algoritma Geliştirme ve Veri Yapıları 3 Veri Yapıları Veri yapısı, bilginin anlamlı sırada bellekte veya disk, çubuk bellek gibi saklama birimlerinde tutulması veya saklanması şeklini gösterir. Bilgisayar

Detaylı

Sıralı Erişimli Dosyalar. Kütük Organizasyonu 1

Sıralı Erişimli Dosyalar. Kütük Organizasyonu 1 Sıralı Erişimli Dosyalar Kütük Organizasyonu 1 Dosya Fiziksel depolama ortamlarında verilerin saklandığı mantıksal yapılara dosya denir. Dosyalar iki şekilde görülebilir. Byte dizisi şeklinde veya Alanlar

Detaylı

SAYI VE KODLAMA SİSTEMLERİ. Teknoloji Fakültesi/Bilgisayar Mühendisliği

SAYI VE KODLAMA SİSTEMLERİ. Teknoloji Fakültesi/Bilgisayar Mühendisliği SAYI VE KODLAMA SİSTEMLERİ Teknoloji Fakültesi/Bilgisayar Mühendisliği Neler Var? Sayısal Kodlar BCD Kodu (Binary Coded Decimal Code) - 8421 Kodu Gray Kodu Artı 3 (Excess 3) Kodu 5 de 2 Kodu Eşitlik (Parity)

Detaylı

BMB204. Veri Yapıları Ders 12. Dizgi Eşleme (String Matching) Algoritmaları İleri Veri Yapıları

BMB204. Veri Yapıları Ders 12. Dizgi Eşleme (String Matching) Algoritmaları İleri Veri Yapıları BMB204. Veri Yapıları Ders 12. Dizgi Eşleme (String Matching) Algoritmaları İleri Veri Yapıları Erdinç Uzun NKÜ Çorlu Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü Dersin Planı Dizgi Eşleme Algoritmaları

Detaylı

T.C. TRAKYA ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ

T.C. TRAKYA ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ T.C. TRAKYA ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ SIKIŞTIRILMIŞ METİN VERİLER İÇİNDE DİZGİ EŞLEME ALGORİTMALARININ KULLANILMASININ İNCELENMESİ VE YENİ BİR YAKLAŞIMIN GELİŞTİRİLMESİ Halil Nusret BULUŞ Doktora

Detaylı

METİN VERİLERDE DİZGİ EŞLEME VE SIKIŞTIRILMIŞ DİZGİ EŞLEME İŞLEMLERİ ARASINDAKİ PERFORMANS FARKLARININ İNCELENMESİ*

METİN VERİLERDE DİZGİ EŞLEME VE SIKIŞTIRILMIŞ DİZGİ EŞLEME İŞLEMLERİ ARASINDAKİ PERFORMANS FARKLARININ İNCELENMESİ* METİN VERİLERDE DİZGİ EŞLEME VE SIKIŞTIRILMIŞ DİZGİ EŞLEME İŞLEMLERİ ARASINDAKİ PERFORMANS FARKLARININ İNCELENMESİ* H. Nusret BULUŞ 1, Cihat ERDOĞAN 2, Banu DİRİ 3 ÖZET Bu çalışmada metin veriler üzerinde

Detaylı

KODLAMA SİSTEMLERİ ve VERİLERİN BİLGİSAYARDA TEMSİLİ

KODLAMA SİSTEMLERİ ve VERİLERİN BİLGİSAYARDA TEMSİLİ KODLAMA SİSTEMLERİ ve VERİLERİN BİLGİSAYARDA TEMSİLİ KODLAMA SİSTEMLERİNİN TANIMI : Kodlama, iki küme elemanları arasında karşılıklı kesin olarak belirtilen kurallar bütünüdür diye tanımlanabilir. Diğer

Detaylı

#$% &'#(# Konular. Bits of Information. Binary Özellikler Superimposed Coding Signature Formation Deerlendirme

#$% &'#(# Konular. Bits of Information. Binary Özellikler Superimposed Coding Signature Formation Deerlendirme !" #$% &'#(# Konular Binary Özellikler Deerlendirme Binary Özellikler Bir binary özellik iki deer alabilir (kapalı veya açık; var veya yok gibi) Bir kiiye ait bilgiler binary olarak aaıdaki gibi gösterilebilir

Detaylı

BÖLÜM III: Şebeke Modelleri. Şebeke Kavramları. Şebeke Kavramları. Şebeke Kavramları. Yönlü Şebeke (Directed Network) Dal / ok

BÖLÜM III: Şebeke Modelleri. Şebeke Kavramları. Şebeke Kavramları. Şebeke Kavramları. Yönlü Şebeke (Directed Network) Dal / ok 8.0.0 Şebeke Kavramları BÖLÜM III: Şebeke Modelleri Şebeke (Network) Sonlu sayıdaki düğümler kümesiyle, bunlarla bağlantılı oklar (veya dallar) kümesinin oluşturduğu yapı şeklinde tanımlanabilir ve (N,A)

Detaylı

Ağaç (Tree) Veri Modeli

Ağaç (Tree) Veri Modeli Ağaç (Tree) Veri Modeli 1 2 Ağaç Veri Modeli Temel Kavramları Ağaç, bir kök işaretçisi, sonlu sayıda düğümleri ve onları birbirine bağlayan dalları olan bir veri modelidir; aynı aile soyağacında olduğu

Detaylı

KODLAMA VE HATA BULMA TEKNİKLERİ

KODLAMA VE HATA BULMA TEKNİKLERİ Karadeniz Teknik Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü Sayısal Tasarım Laboratuvarı KODLAMA VE HATA BULMA TEKNİKLERİ Kodlama eleketronik dünyasında çok sık kullanılan, hatta

Detaylı

Telefon Rehberi Uygulaması

Telefon Rehberi Uygulaması Sayfa1 Telefon Rehberi Uygulaması Uygulama, temel düzeyde, telefon rehberi üzerinedir. Kullanıcı, telefon rehberine eklediği her bir kayıt içi ad, soyad, ev telefonu ve üç adet cep telefonu bilgisi girebilmektedir.

Detaylı

BIP116-H14-1 BTP104-H014-1

BIP116-H14-1 BTP104-H014-1 VERİ YAPILARI VE PROGRAMLAMA (BIP116) Yazar: Doç.Dr.İ.Hakkı.Cedimoğlu SAKARYA ÜNİVERSİTESİ Adapazarı Meslek Yüksekokulu Bu ders içeriğinin basım, yayım ve satış hakları Sakarya Üniversitesi ne aittir.

Detaylı

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-11 Karakter Diziler. Yrd. Doç. Dr. Ümit ATİLA

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-11 Karakter Diziler. Yrd. Doç. Dr. Ümit ATİLA BLM-111 PROGRAMLAMA DİLLERİ I Ders-11 Karakter Diziler Yrd. Doç. Dr. Ümit ATİLA umitatila@karabuk.edu.tr http://web.karabuk.edu.tr/umitatilla/ Karakter ve String Karakter Karakter bir sabit tek tırnak

Detaylı

String ve Karakter Dizileri. Yrd. Doç. Dr. Fehim KÖYLÜ Erciyes Üniversitesi Bilgisayar Mühendisliği Bölümü

String ve Karakter Dizileri. Yrd. Doç. Dr. Fehim KÖYLÜ Erciyes Üniversitesi Bilgisayar Mühendisliği Bölümü String ve Karakter Dizileri #include Temel giriş çıkış akımları nesnelerinin tanımlandığı kütüphanedir. cin,cout,cerr,clog, wcin,wcout,wcerr,wclog nesneleri içerir. using namespace std; //std

Detaylı

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say İÇİNDEKİLER 1. Bilgisayarın Yapısı Ve Programlama Dilleri Giriş 1 Bilgisayar ve Programlamanın Kısa Bir Tarihçesi 2 Donanım ve Yazılım Kavramları 3 Bilgisayarın Donanımsal yapısı 4 Giriş Birimi (Input

Detaylı

ALGORİTMA VE PROGRAMLAMA I

ALGORİTMA VE PROGRAMLAMA I ALGORİTMA VE PROGRAMLAMA I Yrd. Doç. Dr. Deniz KILINÇ deniz.kilinc@cbu.edu.tr YZM 1101 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Koşul Karşılaştırma Operatörleri Mantıksal

Detaylı

Algoritma ve Akış Diyagramları

Algoritma ve Akış Diyagramları Algoritma ve Akış Diyagramları Bir problemin çözümüne ulaşabilmek için izlenecek ardışık mantık ve işlem dizisine ALGORİTMA, algoritmanın çizimsel gösterimine ise AKIŞ DİYAGRAMI adı verilir 1 Akış diyagramları

Detaylı

AES (Advanced Encryption Standard)

AES (Advanced Encryption Standard) ŞİFRELEME ÇEŞİTLERİ AES (Advanced Encryption Standard) AES (Rijndael) algoritması 128 bit veri bloklarını 128, 192, 256 bit anahtar seçenekleri ile şifreleyen bir algoritmadır. 128 bit anahtar için 10

Detaylı

ELN1002 BİLGİSAYAR PROGRAMLAMA 2

ELN1002 BİLGİSAYAR PROGRAMLAMA 2 ELN1002 BİLGİSAYAR PROGRAMLAMA 2 DOSYALAMA Sunu Planı Veri Hiyerarşisi Dosyalar ve Akımlar(streams) Sıralı Erişim (Sequential Access) dosyalarının oluşturulması Sıralı Erişim Dosyalarından Veri Okuma Rasgele

Detaylı

127 - Twoing Algoritması ile Sınıflandırma Kalp Hastalığı Uygulaması MEHMET AKİF ERSOY ÜNİVERSİTESİ İLHAN UYSAL MEHMET BİLEN SAMİ ULUKUŞ

127 - Twoing Algoritması ile Sınıflandırma Kalp Hastalığı Uygulaması MEHMET AKİF ERSOY ÜNİVERSİTESİ İLHAN UYSAL MEHMET BİLEN SAMİ ULUKUŞ 127 - Twoing Algoritması ile Sınıflandırma Kalp Hastalığı Uygulaması MEHMET AKİF ERSOY ÜNİVERSİTESİ İLHAN UYSAL MEHMET BİLEN SAMİ ULUKUŞ Veri Madenciliği : Bir sistemin veri madenciliği sistemi olabilmesi

Detaylı

PROGRAMLAMAYA GİRİŞ DERS 2

PROGRAMLAMAYA GİRİŞ DERS 2 PROGRAMLAMAYA GİRİŞ DERS 2 Program editörde oluşturulur ve diske kaydedilir Tipik Bir C Programı Geliştirme Ortamının Temelleri 1. Edit 2. Preprocess 3. Compile 4. Link 5. Load 6. Execute Önişlemci programı

Detaylı

Algoritmalar. Heap Sort. Bahar 2017 Doç. Dr. Suat Özdemir 1

Algoritmalar. Heap Sort. Bahar 2017 Doç. Dr. Suat Özdemir 1 Algoritmalar Heap Sort Bahar 2017 Doç. Dr. Suat Özdemir 1 Heap Sort Heap Sort algoritması Merge Sort ve Insertion Sort algoritmalarının iyi özelliklerini bir arada toplar. Algoritma Insertion Sort gibi

Detaylı

Olimpiyat Soruları. sonuçları tekrar fonksiyonda yerine koyup çıkan tüm sonuçları toplayan program (iterasyon sayısı girilecek)

Olimpiyat Soruları. sonuçları tekrar fonksiyonda yerine koyup çıkan tüm sonuçları toplayan program (iterasyon sayısı girilecek) HAZIRLAYAN MUSA DEMIRELLI BISHKEK KYRGYZ TURKISH BOYS HIGH SCHOOL education.online.tr.tc compsources0.tripod.com Olimpiyat Soruları 1- Bir diziyi ters çeviren algoritma ve program 2- Bir diziyi sıralayan

Detaylı

String Sınıfını Yönetmek

String Sınıfını Yönetmek String Sınıfı String Sınıfını Yönetmek Stringler karakterlerden oluşur. Bir string sabiti çift tırnak arasında verilmiş karakterler listesidir. "Bu örnek bir string dir" 2 Yukardaki string 27 adet karakterden

Detaylı

Bit, Byte ve Integer. BIL-304: Bilgisayar Mimarisi. Dersi veren öğretim üyesi: Dr. Öğr. Üyesi Fatih Gökçe

Bit, Byte ve Integer. BIL-304: Bilgisayar Mimarisi. Dersi veren öğretim üyesi: Dr. Öğr. Üyesi Fatih Gökçe Bit, Byte ve Integer BIL-304: Bilgisayar Mimarisi Dersi veren öğretim üyesi: Dr. Öğr. Üyesi Fatih Gökçe Ders kitabına ait sunum dosyalarından adapte edilmiştir: http://csapp.cs.cmu.edu/ Adapted from slides

Detaylı

VHDL ile KODLAMA ve HATA BULMA TEKNİKLERİ

VHDL ile KODLAMA ve HATA BULMA TEKNİKLERİ KARADENİZ TEKNİK ÜNİVERSİTESİ Bilgisayar Mühendisliği Bölümü Sayısal Tasarım Laboratuarı VHDL ile KODLAMA ve HATA BULMA TEKNİKLERİ 1.Giriş Kodlama, elektronik dünyasında çok sık kullanılan, hatta vazgeçilmesi

Detaylı

KABLOSUZ İLETİŞİM

KABLOSUZ İLETİŞİM KABLOSUZ İLETİŞİM 805540 DENKLEŞTİRME, ÇEŞİTLEME VE KANAL KODLAMASI İçerik 3 Denkleştirme Çeşitleme Kanal kodlaması Giriş 4 Denkleştirme Semboller arası girişim etkilerini azaltmak için Çeşitleme Sönümleme

Detaylı

Merkezi Yığılma ve Dağılım Ölçüleri

Merkezi Yığılma ve Dağılım Ölçüleri 1.11.013 Merkezi Yığılma ve Dağılım Ölçüleri 4.-5. hafta Merkezi eğilim ölçüleri, belli bir özelliğe ya da değişkene ilişkin ölçme sonuçlarının, hangi değer etrafında toplandığını gösteren ve veri grubunu

Detaylı

ALGORİTMA VE PROGRAMLAMA II

ALGORİTMA VE PROGRAMLAMA II ALGORİTMA VE PROGRAMLAMA II Yrd. Doç. Dr. Deniz KILINÇ deniz.kilinc@cbu.edu.tr YZM 1102 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Dosya İşlemleri ASCII Tablosu ve

Detaylı

PHP, nesne-yönelimli (object-oriented) bir dil olduğu için, nesne oluşturma imkânına ve bunların kullanılmasını sağlayan metodlara da sahiptir.

PHP, nesne-yönelimli (object-oriented) bir dil olduğu için, nesne oluşturma imkânına ve bunların kullanılmasını sağlayan metodlara da sahiptir. PHP'nin Temelleri PHP Nedir? PHP, bir programlama dili olarak, değişkenler, değişkenlerin değerleriyle bir işlem yapmayı sağlayan işlemciler (operatörler), işlemcilerle oluşturulan deyimler ve nihayet

Detaylı

Elektronik sistemlerde dört farklı sayı sistemi kullanılır. Bunlar;

Elektronik sistemlerde dört farklı sayı sistemi kullanılır. Bunlar; I. SAYI SİSTEMLERİ Elektronik sistemlerde dört farklı sayı sistemi kullanılır. Bunlar; i) İkili(Binary) Sayı Sistemi ii) Onlu(Decimal) Sayı Sistemi iii) Onaltılı(Heksadecimal) Sayı Sistemi iv) Sekizli(Oktal)

Detaylı

ALGORİTMA VE PROGRAMLAMA I

ALGORİTMA VE PROGRAMLAMA I ALGORİTMA VE PROGRAMLAMA I YZM 1101 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Karakter Dizileri Karakter Dizilerini Okumak ve Yazmak Karakter Dizilerinin Uzunluğunu

Detaylı

Algoritma Geliştirme ve Veri Yapıları 2 Veri Modelleri. Mustafa Kemal Üniversitesi

Algoritma Geliştirme ve Veri Yapıları 2 Veri Modelleri. Mustafa Kemal Üniversitesi Algoritma Geliştirme ve Veri Yapıları 2 Veri Modelleri Veri modelleri, veriler arasında ilişkisel ve sırasal düzeni gösteren kavramsal tanımlardır. Her program en azından bir veri modeline dayanır. Uygun

Detaylı

ALGORİTMA VE PROGRAMLAMA I DERS NOTU#8

ALGORİTMA VE PROGRAMLAMA I DERS NOTU#8 ALGORİTMA VE PROGRAMLAMA I DERS NOTU#8 YZM 1105 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi 6. BÖLÜM 2 Çok Boyutlu Diziler Çok Boyutlu Dizi 3 Bir dizi aşağıdaki gibi bildirildiğinde

Detaylı

DOSYA NEDİR? Verilerin HDD de saklanması. Verilerin HDD de saklanması DOSYA SİSTEMİ NEDİR?

DOSYA NEDİR? Verilerin HDD de saklanması. Verilerin HDD de saklanması DOSYA SİSTEMİ NEDİR? DOSYA NEDİR? Dosya;disk üzerinde depolanmış verilerin bütününe verilen isimlendirmedir. İşletim sistemi tipik olarak iki çeşit dosya içerir. Birincisi; bir sistem görevi yerine getirirken yada bir uygulama

Detaylı

Bilgilerin Uzun Vadeli Saklanması

Bilgilerin Uzun Vadeli Saklanması 8 DOSYA SİSTEMS STEMİ Bilgilerin Uzun Vadeli Saklanması saklanacak veriler çok fazla olabilir veriler proses sonlandıktan sonra da kaybolmamalı bilgiye prosesler ortak olarak ulaşabilmeli 424 Dosya Sistemi

Detaylı

Polialfabetik Şifreleme (Vigenere)

Polialfabetik Şifreleme (Vigenere) Polialfabetik Şifreleme (Vigenere) Polialfabetik şifrelemede ise, anahtara bağlı olarak her harf alfabede birden fazla harfle eşleşmektedir. Bu tip şifreleme, mono alfabetik yöntemlerden farklı olarak,

Detaylı

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java Veri Tipleri ve Özelilkleri Değişken Tanımlama Kuralları Değişken Veri Tipi Değiştirme (Type Casting) Örnek Kodlar Java Veri Tipleri ve Özelilkleri

Detaylı

köşe (vertex) kenar (edg d e)

köşe (vertex) kenar (edg d e) BÖLÜM 7 köşe (vertex) kenar (edge) Esk den Ank ya bir yol (path) Tanım 7.1.1: Bir G çizgesi (ya da yönsüz çizgesi) köşelerden oluşan bir V kümesinden ve kenarlardan oluşan bir E kümesinden oluşur. Herbir

Detaylı

Binary Search. (Yarılama) Bölüm Dizide Bir Öğe Arama

Binary Search. (Yarılama) Bölüm Dizide Bir Öğe Arama Bölüm 39 Binary Search (Yarılama) 39.1 Dizide Bir Öğe Arama İkil aramayı (yarılama yöntemi) sıralı veri kümelerinde sık sık kullanırız. Örneğin, sözlükte bir sözcüğü ararken, sözlüğün bütün sayfalarını

Detaylı

Programlama Dilleri 1. Ders 4: Diziler

Programlama Dilleri 1. Ders 4: Diziler Programlama Dilleri 1 Ders 4: Diziler Genel Bakış Tanım Dizilerin tanımlanması Dizilere ilk değer verilmesi Yerel ve Global diziler Dizilerin birbirine atanması Diziler ile ilgili örnekler Çalışma soruları

Detaylı

mustafacosar@hitit.edu.tr http://web.hitit.edu.tr/mustafacosar

mustafacosar@hitit.edu.tr http://web.hitit.edu.tr/mustafacosar Algoritma ve Programlamaya Giriş mustafacosar@hitit.edu.tr http://web.hitit.edu.tr/mustafacosar İçerik Algoritma Akış Diyagramları Programlamada İşlemler o o o Matematiksel Karşılaştırma Mantıksal Programlama

Detaylı

Fiziksel Tasarım Konuları. Dosya Organizasyon Teknikleri Kayıt Erişim Yöntemleri Veri Yapıları

Fiziksel Tasarım Konuları. Dosya Organizasyon Teknikleri Kayıt Erişim Yöntemleri Veri Yapıları Fiziksel Tasarım Konuları Dosya Organizasyon Teknikleri Kayıt Erişim Yöntemleri Veri Yapıları Fiziksel Tasarım İyi performans için Hızlı cevap zamanı Minimum disk erişimi Disk Yapısı İz(Track) Silindir

Detaylı

BMT 101 Algoritma ve Programlama I 2. Hafta. Yük. Müh. Köksal GÜNDOĞDU 1

BMT 101 Algoritma ve Programlama I 2. Hafta. Yük. Müh. Köksal GÜNDOĞDU 1 BMT 0 Algoritma ve Programlama I 2. Hafta Yük. Müh. Köksal GÜNDOĞDU Algoritma ve Programlama Yük. Müh. Köksal GÜNDOĞDU 2 Algoritma Kavramı Yük. Müh. Köksal GÜNDOĞDU 3 Algoritma ve Programlama Bilgisayardaki

Detaylı

YZM VERİ YAPILARI DERS#9: HASH FONKSİYONLARI

YZM VERİ YAPILARI DERS#9: HASH FONKSİYONLARI YZM 2116- VERİ YAPILARI DERS#9: HASH FONKSİYONLARI İÇERİK Bu bölümde, Giriş Hash Tabloları Hash Fonksiyonu Çakışma (Collision) Ayrık Zincirleme Çözümü Linear Probing Çözümü Quadratic Probing Çözümü konusuna

Detaylı

Algoritmalar. Arama Problemi ve Analizi. Bahar 2016 Doç. Dr. Suat Özdemir 1

Algoritmalar. Arama Problemi ve Analizi. Bahar 2016 Doç. Dr. Suat Özdemir 1 Algoritmalar Arama Problemi ve Analizi Bahar 2016 Doç. Dr. Suat Özdemir 1 Arama Problemi Sıralama algoritmaları gibi arama algoritmaları da gerçek hayat bilgisayar mühendisliği problemlerinin çözümünde

Detaylı

Algoritma ve Akış Diyagramları

Algoritma ve Akış Diyagramları Algoritma ve Akış Diyagramları Bir problemin çözümüne ulaşabilmek için izlenecek ardışık mantık ve işlem dizisine ALGORİTMA, algoritmanın çizimsel gösterimine ise AKIŞ DİYAGRAMI adı verilir. 1 Akış diyagramları

Detaylı

Java String İşlemleri

Java String İşlemleri Java String İşlemleri Karakterler (Characters) "char" kelimesi bir karakter tanımlamak için kullanılır. Karakter tek tırnak içine alınmalıdır. Bir char'ın aralığı 0 ile 65536 arasındadır. Char türü işaretsiz

Detaylı

YZM 2116 Veri Yapıları

YZM 2116 Veri Yapıları YZM 2116 Veri Yapıları Yrd. Doç. Dr. Deniz KILINÇ Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Yazılım Mühendisliği Bu bölümde, BÖLÜM - 3 Motivasyon: Neden Listeye İhtiyaç Var? Bağlı

Detaylı

KODLAMA SİSTEMLERİNİN TANIMI :

KODLAMA SİSTEMLERİNİN TANIMI : KODLAMA SİSTEMLERİ KODLAMA SİSTEMLERİNİN TANIMI : Kodlama, iki küme elemanları arasında karşılıklı kesin olarak belirtilen kurallar bütünüdür diye tanımlanabilir. Diğer bir deyişle, görünebilen, okunabilen

Detaylı

3.3. İki Tabanlı Sayı Sisteminde Dört İşlem

3.3. İki Tabanlı Sayı Sisteminde Dört İşlem 3.3. İki Tabanlı Sayı Sisteminde Dört İşlem A + B = 2 0 2 1 (Elde) A * B = Sonuç A B = 2 0 2 1 (Borç) A / B = Sonuç 0 + 0 = 0 0 0 * 0 = 0 0 0 = 0 0 0 / 0 = 0 0 + 1 = 1 0 0 * 1 = 0 0 1 = 1 1 0 / 1 = 0 1

Detaylı

DEÜ MÜHENDİSLİK FAKÜLTESİ FEN BİLİMLERİ DERGİSİ Cilt: 12 Sayı: 3 sh. 77-85 Ekim 2010 BİÇİMBİLİME DAYALI DOKÜMAN SIKIŞTIRMA

DEÜ MÜHENDİSLİK FAKÜLTESİ FEN BİLİMLERİ DERGİSİ Cilt: 12 Sayı: 3 sh. 77-85 Ekim 2010 BİÇİMBİLİME DAYALI DOKÜMAN SIKIŞTIRMA DEÜ MÜHENDİSLİK FAKÜLTESİ FEN BİLİMLERİ DERGİSİ Cilt: 12 Sayı: 3 sh. 77-85 Ekim 2010 BİÇİMBİLİME DAYALI DOKÜMAN SIKIŞTIRMA (MORPHOLOGY BASED TEXT COMPRESSION) Hayriye GÖKSU*, Banu DİRİ** ÖZET/ABSTRACT

Detaylı

ALGORİTMA VE PROGRAMLAMA I

ALGORİTMA VE PROGRAMLAMA I ALGORİTMA VE PROGRAMLAMA I Yrd. Doç. Dr. Deniz KILINÇ deniz.kilinc@cbu.edu.tr YZM 1101 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Karakter Dizileri Karakter Dizilerini

Detaylı

Yrd. Doç. Dr. Caner ÖZCAN

Yrd. Doç. Dr. Caner ÖZCAN Yrd. Doç. Dr. Caner ÖZCAN GİRİŞ Değişken ve dizilerde tutulan değerler programın çalışması esnasında değerlerini korurlarken programın çalışması sona erdiğinde veri kaybolur. Dosyalar verinin kalıcı olarak

Detaylı

3. Bölüm Algoritmalar

3. Bölüm Algoritmalar 3. Bölüm Algoritmalar Algoritma ve Programlamaya Giriş Dr. Serkan DİŞLİTAŞ 3.1. Veri ve Bilgi Şekil 3.1 de bilgisayar sistemin temelini oluşturan veri işlem modeli görülmektedir. Hesaplama, saklama gibi

Detaylı

BMT 101 Algoritma ve Programlama I 6. Hafta. Yük. Müh. Köksal Gündoğdu 1

BMT 101 Algoritma ve Programlama I 6. Hafta. Yük. Müh. Köksal Gündoğdu 1 BMT 101 Algoritma ve Programlama I 6. Hafta Yük. Müh. Köksal Gündoğdu 1 C++ Veri Tipleri Yük. Müh. Köksal Gündoğdu 2 Veri Tipleri Tam sayı ve Ondalık sayı veri tipleri Veri Tipi Alt Sınıf Üst Sınıf Duyarlı

Detaylı

Dr. Musa KILIÇ Öğretim Görevlisi http://kisi.deu.edu.tr/musa.kilic

Dr. Musa KILIÇ Öğretim Görevlisi http://kisi.deu.edu.tr/musa.kilic Dr. Musa KILIÇ Öğretim Görevlisi http://kisi.deu.edu.tr/musa.kilic BİLGİSAYAR DONANIM Donanım birimleri ekran, klavye, harddisk, ram YAZILIM Yazılımlar ise bilgisayarın donanım yapısını kullanılır hale

Detaylı

2. Sayı Sistemleri. En küçük bellek birimi sadece 0 ve 1 değerlerini alabilen ikili sayı sisteminde bir basamağa denk gelen Bit tir.

2. Sayı Sistemleri. En küçük bellek birimi sadece 0 ve 1 değerlerini alabilen ikili sayı sisteminde bir basamağa denk gelen Bit tir. 2. Sayı Sistemleri Bilgisayar elektronik bir cihaz olduğu için elektrik akımının geçirilmesi (1) yada geçirilmemesi (0) durumlarını işleyebilir. Bu nedenle ikili sayı sistemini temel alarak veri işler

Detaylı

{\} /\ Suhap SAHIN Onur GÖK

{\} /\ Suhap SAHIN Onur GÖK Veri Yapıları ve Algoritmalar 0 {\} /\ Suhap SAHIN Onur GÖK Kaynaklar http://www.papatyabilim.com.tr/veriyapilari_algoritmalar.htm Kaynaklar http://www.tutorialspoint.com/data_structures_algorithms/index.htm

Detaylı

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 8

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 8 BTP 27 İNTERNET PROGRAMCILIĞI I Ders 8 Değişkenler 2 Tamsayı Değerler (Integer) Tamsayılar, tabanlı (decimal), 8 tabanlı (octal) veya 6 tabanlı (hexadecimal) olabilir. 8 tabanındaki sayıları belirtmek

Detaylı

Arasınav Örnek Soruları Bahar 2018

Arasınav Örnek Soruları Bahar 2018 Sayfa#1 Manisa Celal Bayar Üniversitesi Yazılım Mühendisliği Bölümü YZM 2116 Veri Yapıları Dersi Arasınav Örnek Soruları Bahar 2018 Süre: 75 Dakika Adı ve Soyadı YANIT ANAHTARI Öğrenci Numarası Grubu İmza

Detaylı

VERİ YAPILARI. Yrd. Doç. Dr. Murat GÖK Bilgisayar Mühendisliği Bölümü YALOVA ÜNİVERSİTESİ HASH TABLOLARI.

VERİ YAPILARI. Yrd. Doç. Dr. Murat GÖK Bilgisayar Mühendisliği Bölümü YALOVA ÜNİVERSİTESİ HASH TABLOLARI. VERİ YAPILARI HASH TABLOLARI Yrd. Doç. Dr. Murat GÖK Bilgisayar Mühendisliği Bölümü YALOVA ÜNİVERSİTESİ muratgok@gmail.com Hash tabloları Hash tablo veri yapısı ile veri arama, ekleme ve silme işlemleri

Detaylı

BLM-431 YAPAY ZEKA. Ders-4 Bilgisiz Arama Yöntemleri. Yrd. Doç. Dr. Ümit ATİLA

BLM-431 YAPAY ZEKA. Ders-4 Bilgisiz Arama Yöntemleri. Yrd. Doç. Dr. Ümit ATİLA BLM-431 YAPAY ZEKA Ders-4 Bilgisiz Arama Yöntemleri Yrd. Doç. Dr. Ümit ATİLA umitatila@karabuk.edu.tr http://web.karabuk.edu.tr/umitatilla/ Dersin Hedefleri Aşağıda verilen arama stratejilerini anlamak

Detaylı

GENETİK ALGORİTMALAR. Araş. Gör. Nesibe YALÇIN BİLECİK ÜNİVERSİTESİ

GENETİK ALGORİTMALAR. Araş. Gör. Nesibe YALÇIN BİLECİK ÜNİVERSİTESİ GENETİK ALGORİTMALAR Araş. Gör. Nesibe YALÇIN BİLECİK ÜNİVERSİTESİ GENETİK ALGORİTMALAR Genetik algoritmalar, Darwin in doğal seçim ve evrim teorisi ilkelerine dayanan bir arama ve optimizasyon yöntemidir.

Detaylı

İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BİLGİSAYAR SİSTEMLERİ LABORATUVARI LİNEER KRİPTANALİZ

İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BİLGİSAYAR SİSTEMLERİ LABORATUVARI LİNEER KRİPTANALİZ İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BİLGİSAYAR SİSTEMLERİ LABORATUVARI LİNEER KRİPTANALİZ 1. DENEYİN AMACI Bu deney, simetrik şifreleme algoritması kullanılarak şifrelenmiş bir

Detaylı

Week 9: Trees 1. TREE KAVRAMI 3. İKİLİ AĞAÇ DİZİLİMİ 4. İKİLİ ARAMA AĞACI 2. İKİLİ AĞAÇ VE SUNUMU > =

Week 9: Trees 1. TREE KAVRAMI 3. İKİLİ AĞAÇ DİZİLİMİ 4. İKİLİ ARAMA AĞACI 2. İKİLİ AĞAÇ VE SUNUMU > = Week 9: Trees 1. TREE KAVRAMI 2. İKİLİ AĞAÇ VE SUNUMU 3. İKİLİ AĞAÇ DİZİLİMİ 4. İKİLİ ARAMA AĞACI < 6 2 > = 1 4 8 9 1. TREES KAVRAMI Bir ağaç bir veya daha fazla düğümün (T) bir kümesidir : Spesifik olarak

Detaylı

Bit, Byte ve Integer. BIL-304: Bilgisayar Mimarisi. Dersi veren öğretim üyesi: Yrd. Doç. Dr. Fatih Gökçe

Bit, Byte ve Integer. BIL-304: Bilgisayar Mimarisi. Dersi veren öğretim üyesi: Yrd. Doç. Dr. Fatih Gökçe Bit, Byte ve Integer BIL-304: Bilgisayar Mimarisi Dersi veren öğretim üyesi: Yrd. Doç. Dr. Fatih Gökçe Ders kitabına ait sunum dosyalarından adapte edilmiştir: http://csapp.cs.cmu.edu/ Adapted from slides

Detaylı

EGE ÜNİVERSİTESİ EGE MYO MEKATRONİK PROGRAMI

EGE ÜNİVERSİTESİ EGE MYO MEKATRONİK PROGRAMI EGE ÜNİVERSİTESİ EGE MYO MEKATRONİK PROGRAMI 23.02.2015 Yrd.Doç.Dr. Dilşad Engin PLC Ders Notları 2 PROGRAMLANABİLİR DENETLEYİCİLER NÜMERİK İŞLEME 23.02.2015 Yrd.Doç.Dr. Dilşad Engin PLC Ders Notları 3

Detaylı

TEMEL BİLGİSAYAR BİLİMLERİ. Programcılık, problem çözme ve algoritma oluşturma

TEMEL BİLGİSAYAR BİLİMLERİ. Programcılık, problem çözme ve algoritma oluşturma TEMEL BİLGİSAYAR BİLİMLERİ Programcılık, problem çözme ve algoritma oluşturma Programcılık, program çözme ve algoritma Program: Bilgisayara bir işlemi yaptırmak için yazılan komutlar dizisinin bütünü veya

Detaylı

Otomata Teorisi (BIL 2114)

Otomata Teorisi (BIL 2114) Otomata Teorisi (BIL 2114) Hafta 1: Amaç ve Genel Kavramlar bas kapa aç bas 1 Hafta 1 Plan 1. İletişim ve Ders Bilgisi 2. Otomata Teorisi Genel Bakış 3. Hedeflenen Kazanımlar 4. Matematiksel Nosyonlar

Detaylı

Kümeler arası. Küme içi. uzaklıklar. maksimize edilir. minimize edilir

Kümeler arası. Küme içi. uzaklıklar. maksimize edilir. minimize edilir Kümeleme Analizi: Temel Kavramlar ve Algoritmalar Kümeleme Analizi Nedir? Her biri bir dizi öznitelik ile, veri noktalarının bir kümesi ve noktalar arasındaki benzerliği ölçen bir benzerlik ölçümü verilmiş

Detaylı

2. Sayı Sistemleri. En küçük bellek birimi sadece 0 ve 1 değerlerini alabilen ikili sayı sisteminde bir basamağa denk gelen Bit tir.

2. Sayı Sistemleri. En küçük bellek birimi sadece 0 ve 1 değerlerini alabilen ikili sayı sisteminde bir basamağa denk gelen Bit tir. 2. Sayı Sistemleri Bilgisayar elektronik bir cihaz olduğu için elektrik akımının geçirilmesi (1) yada geçirilmemesi (0) durumlarını işleyebilir. Bu nedenle ikili sayı sistemini temel alarak veri işler

Detaylı

Arama metodlarında temel işlem anahtarları karşılaştırmaktır.

Arama metodlarında temel işlem anahtarları karşılaştırmaktır. (Kırpma) Hash Fonksiyonları Selecting Digits Folding (shift folding, boundary folding) Division MidSquare Extraction Radix Transformation Çakışma (Collision) ve çözümler Linear Probing Double Quadratic

Detaylı

b) Algoritmanızın en kötü durumda işlem zamanını asimptotik olarak bulunuz

b) Algoritmanızın en kötü durumda işlem zamanını asimptotik olarak bulunuz 2014 Soru 1. (15 puan) 5,2,4,1,15,8,11,13,7,6 dizisinin elemanlarından maksimum özellikli bir yığın(heap) oluşturulmasını adım adım yazınız. Heapsort algoritmasının yardımıyla yapılacak sıralamayı anlatınız.

Detaylı

MATLAB/Değişkene Değer Atamak

MATLAB/Değişkene Değer Atamak MATLAB/Değişkene Değer Atamak input fonksiyonu klavyeden giriş yapmayı sağlayan bir fonksiyondur. degisken=input( bir deger giriniz: ) şeklinde kullanılır. =input('bir değer giriniz: ') bir değer giriniz:

Detaylı

Formal Diller Ve Otomat Teorisi

Formal Diller Ve Otomat Teorisi Formal Diller Ve Otomat Teorisi Ismail Kadayif Canakkale Onsekiz Mart Universitesi Bilgisayar Muhendisligi 4/5/2004 Formal Diller 1.1 Strings ve Languages (Diller) alphabet (character set): Sonlu sayida

Detaylı

Algoritmalar. Doğrusal Zamanda Sıralama. Bahar 2017 Doç. Dr. Suat Özdemir 1

Algoritmalar. Doğrusal Zamanda Sıralama. Bahar 2017 Doç. Dr. Suat Özdemir 1 Algoritmalar Doğrusal Zamanda Sıralama Bahar 2017 Doç. Dr. Suat Özdemir 1 Sıralama Özet - Insertion sort Kodlaması kolay Küçük veri setleri için hızlı (~50 element) Neredeyse sıralı veri setleri için en

Detaylı

YZM 5257 YAPAY ZEKA VE UZMAN SİSTEMLER DERS#6: GENETİK ALGORİTMALAR

YZM 5257 YAPAY ZEKA VE UZMAN SİSTEMLER DERS#6: GENETİK ALGORİTMALAR YZM 5257 YAPAY ZEKA VE UZMAN SİSTEMLER DERS#6: GENETİK ALGORİTMALAR Sınıflandırma Yöntemleri: Karar Ağaçları (Decision Trees) Örnek Tabanlı Yöntemler (Instance Based Methods): k en yakın komşu (k nearest

Detaylı

VERİ YAPILARI LİSTELER. Yrd. Doç. Dr. Murat GÖK Bilgisayar Mühendisliği Bölümü YALOVA ÜNİVERSİTESİ

VERİ YAPILARI LİSTELER. Yrd. Doç. Dr. Murat GÖK Bilgisayar Mühendisliği Bölümü YALOVA ÜNİVERSİTESİ VERİ YAPILARI LİSTELER Yrd. Doç. Dr. Murat GÖK Bilgisayar Mühendisliği Bölümü YALOVA ÜNİVERSİTESİ Bağlı Listeler Aynı kümeye ait veri parçalarının birbirlerine bellek üzerinde, sanal olarak bağlanmasıyla

Detaylı

BLM-112 PROGRAMLAMA DİLLERİ II. Ders-8 Dosya İşlemleri-1. Yrd. Doç. Dr. Ümit ATİLA

BLM-112 PROGRAMLAMA DİLLERİ II. Ders-8 Dosya İşlemleri-1. Yrd. Doç. Dr. Ümit ATİLA BLM-112 PROGRAMLAMA DİLLERİ II Ders-8 Dosya İşlemleri-1 Yrd. Doç. Dr. Ümit ATİLA umitatila@karabuk.edu.tr http://web.karabuk.edu.tr/umitatilla/ Giriş Değişken ve dizilerde tutulan değerler programın çalışması

Detaylı

Eln 1002 Bilgisayar Programlama II

Eln 1002 Bilgisayar Programlama II Eln 1002 Bilgisayar Programlama II C»de Dosya ğşleme : S¹ral¹ EriŞim Ne ÖĆreneceĆiz? Dosyalar ve Streamler Sequential (sıralı) erişim dosyaların yaratılması Sıralı Erişim Dosyalarından Veri Okuma Sıralı

Detaylı

Hafta 12 Karakter Tutan Diziler

Hafta 12 Karakter Tutan Diziler BLM111 Programlama Dilleri I Hafta 12 Karakter Tutan Diziler Yrd. Doç. Dr. Caner ÖZCAN Katar (String) Tanımlama Dizileri ve çok boyutlu dizileri gördük. Katar dediğimiz şey de aslında bir dizidir. Değişken

Detaylı

Veri Modelleri. Ağaç Veri Modeli. Ağaç Veri Modeli

Veri Modelleri. Ağaç Veri Modeli. Ağaç Veri Modeli Veri Modelleri Ağaç Veri Modeli Ağaç Veri Modeli Verilerin birbirine sanki bir ağaç yapısı oluşturuyormuş gibi sanal olarak bağlanmasıyla elde edilen bir veri modelidir. Ağaç veri modeli daha fazla bellek

Detaylı

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI İÇİNDEKİLER IX İÇİNDEKİLER 1 GİRİŞ 1 Kitabın Amacı 1 Algoritmanın Önemi 2 Bilgisayarın Doğuşu ve Kullanım Amaçları 3 Programlama Dili Nedir? 3 Entegre Geliştirme Ortamı (IDE) Nedir? 4 2 ALGORİTMA VE AKIŞ

Detaylı

4- Turbo Pascal Bilgisayar Programlamada Kullanılan Şart Yapıları

4- Turbo Pascal Bilgisayar Programlamada Kullanılan Şart Yapıları 4- Turbo Pascal Bilgisayar Programlamada Kullanılan Şart Yapıları Şart yapıları bir bilgisayar programının olmazsa olmazlarındandır. Şart yapıları günlük hayatımızda da çok fazla karşılaştığımız belirli

Detaylı

Bilgisayar Uygulamaları. Excel Notları Oğuzhan ÖZTAŞ

Bilgisayar Uygulamaları. Excel Notları Oğuzhan ÖZTAŞ Bilgisayar Uygulamaları Excel Notları Oğuzhan ÖZTAŞ 1 Belli bir artım değerine göre sayı dizisi oluşturma: Başlangıç değeri bir hücreye yazılır. Yan ya da alt hücreye = ile başlayan ve artım değerini gösteren

Detaylı

1. LİNEER PCM KODLAMA

1. LİNEER PCM KODLAMA 1. LİNEER PCM KODLAMA 1.1 Amaçlar 4/12 bitlik lineer PCM kodlayıcısı ve kod çözücüsünü incelemek. Kuantalama hatasını incelemek. Kodlama kullanarak ses iletimini gerçekleştirmek. 1.2 Ön Hazırlık 1. Kuantalama

Detaylı

Merkezi İşlem. Birimi

Merkezi İşlem. Birimi VERİ: Kullanıcı veya bilgisayar tarafından sağlanırlar. Sayılar, harfler, sözcükler, ses sinyalleri ve komutlardır.. Veriler bilgisayarın giriş birimleri tarafından toplanırlar. Giriş İşlem Çıkış Önbellek

Detaylı