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

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

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

Transkript

1 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ü

2 Dersin Planı Dizgi Eşleme Algoritmaları Saf dizi arama algoritması Rabin-Karp dizi arama algoritması Boyer Moore dizi arama algoritması İleri Veri Yapıları Tavsiyeler

3 Dizgi Eşleme Algoritmaları String Matching Algorithms (String Searching Algoritms) Dizi eşleme algoritmaları olarak da adlandırılan dizi arama algoritmaları, bir ya da birkaç dizinin (örüntü - pattern) daha büyük bir dizi ya da metin içindeki yerinin bulunmasını konu edinen önemli bir dizi algoritması sınıfıdır. Σ bir alfabe (sonlu küme) olmak üzere örüntü ve aranan metin Σ kümesinin elemanlarından oluşan bir zincir olarak tanımlanabilmektedir. Σ olağan bir alfabe (Türkçede yer alan harfler kümesi) olabileceği gibi ikili alfabe (Σ = {0,1}) ve DNA alfabesi (Σ = {A,C,G,T}) biçiminde de bulunabilmektedir.

4 Dizgi Eşleme Algoritmaları Dizinin kodlanma biçimi dizi arama algoritmalarının başarımını etkilemektedir. Değişken uzunluklu kodlama yöntemi kullanıldığında n. karakteri bulmak güçleşmekte; bu, gelişmiş dizi algoritmalarını yavaşlatıcı bir etken olarak öne çıkmaktadır. Bu sorunun üstesinden gelmenin yolu belirli karakterler yerine kod dizilerini eşleştirmektedir ancak bu yöntem, kodlamanın yanlış sonuçların önüne geçecek biçimde tasarlanmadığı durumlarda pek güvenilir değildir.

5 Dizgi Eşleme Algoritmaları Tek örüntülü algoritmalar Sonlu örüntü kümesi kullanan algoritmalar Aho-Corasick algoritması Commentz-Walter algoritması Rabin-Karp dizi arama algoritması Sonsuz sayıda örüntü kullanan algoritmalar Regular Expressions (Düzenli İfadeler)

6 Dizgi Eşleme Algoritmaları Tek örüntülü algoritmalar m örüntünün, n aranan metnin uzunluğu olsun. Algoritma Ön işlem Süresi Eşleme Süresi Saf dizi arama algoritması 0 (İşlem yok!) Θ((n m) m) Rabin-Karp dizi arama algoritması Θ(m) average Θ(n+m), worst Θ((n m) m) Sonlu durum makinesi tabanlı arama Θ(m Σ ) O(n) Knuth-Morris-Pratt algoritması Θ(m) O(n) Boyer Moore dizi arama algoritması Θ(m + Σ ) Ω(n/m), O(nm) Bitkin algoritma (Baeza-Yates-Gonnet) Θ(m + Σ ) O(nm) Boyer Moore dizi arama algoritması, başlıca algoritma olarak kabul edilmektedir.

7 Saf dizi arama algoritması Bir dizinin başka bir dizi içinde yer alıp almadığını anlamanın en basit olmasına karşın en verimsiz yolu dizinin her karakterini sırayla eşleştirmeye çalışmaktır. Bu yöntemde aranan dizi metnin ilk karakteriyle karşılaştırılır. Bu karakterlerin birbiriyle uyuşmaması durumunda aynı işlem metnin ikinci karakteri için yinelenir. Olağan koşullarda karakterlerin eşleşmediğini anlamak için ortalama olarak O(n + m) adım gerekliyken (n metnin, m örüntünün uzunluğunu göstermektedir) en elverişsiz durumda ("aaaab" dizisini "aaaaaaaaab" içinde aramak gibi) gerekli ortalama adım sayısı O(nm)'ye eşittir.

8 Saf dizi arama algoritması

9 Saf dizi arama algoritması

10 Rabin-Karp dizi arama algoritması Verilen iki string P ve T için, P nin T nin içinde olup olmadığı belirlenir. Öncelikle, ön işlem ile hash tablosu hazırlanır. Eğer iki string aynı hash değerine sahipse, aynı olabilirler. Ancak hash değerleri farklı ise aynı olmadıkları kesindir. Rabin-Karp algoritması bu özelliği kullanarak string arama işlemi gerçekleştirir. Algoritmada, metin boyunca ilerler ve bir hash değeri hesaplar. Hesaplanan bu değer, aradığımız değerin(p) hash değeri ile aynı ise, eşleşme olabilir ve stringlerin kendileri karşılaştırılır. Hash değeri farklı ise zaten yapacak bir şey yoktur ilerlemeye devam edilir.

11 Rabin-Karp dizi arama algoritması Hash fonksiyonu O(M) (M=P.length) zaman alır, ancak bir defa çalıştırılır. İçerideki for döngüsü de aynı zamanda çalışır ancak döngü hash değerleri aynı ise çalıştırılır. İfade O(M) zaman gerektirdiği ve her adımda çalıştığı için, algoritma O(M(N-M)) zaman gerektirir. Bu açıdan saf dizi arama algoritması aynı zamanda çalışıyor yani pek bir şey değiştiği söylenemez.

12 Rabin-Karp dizi arama algoritması hs değeri T[i..i+P.length()] string aralığının hash değerini içeriyor zaten. Yeni string, eski stringin ilk harfi çıkarılıp, sonuna bir karakter eklenerek elde ediliyor. Eğer bir sonraki hash değerini (T[i+1..i+P.length()]) sabit zamanda hesaplamak için bu değeri kullanabilirsek problemimiz çözülmüş olur. Bunun için rolling hash i kullanacağız. Bu hash fonksiyonu özellikle bu iş için dizayn edilmiştir. Bu fonksiyonun bir değeri kullanılarak, baştan hesaplama yapmadan yeni bir değere ulaşılabilir. Karakter değerlerinin toplandığı bir örnek verirsek: s[i+1..i+m] = s[i..i+m-1] s[i] + s[i+m] Önce bilinen değerden ilk karakterin değeri çıkarılıyor, daha sonra yeni karakterin değeri eklenerek yeni hash değeri elde ediliyor. Tabi bu işlem çok basit olduğu için farklı bir çok string aynı hash değerine sahip olacaktır. Bu da programı yavaşlatacaktır. Ancak daha karmaşık hash fonksiyonları vardır tabi. Algoritmanın performansında hash fonksiyonun önemi büyüktür bu yüzden.

13 Rabin-Karp dizi arama algoritması Sık kullanılan bir rolling hash fonksiyonu, her stringe büyük bir asal sayı tabanındaki bir sayı gibi davranır. hi stringi olsun elimizde ve taban 101 olsun. Hash değeri bu durumda 104 x x = olur. (104 ve 105, h ve i nin ASCII değerleridir) Şimdi yukarıda bahsettiğimiz gibi bir string in hash değerinden sabit zamanda yeni stringin değerini hesap edelim. Metnimiz abracadabra, aradığımız değerin uzunluğu 3 olsun. abr hash değerinden bra hash değerini hesaplamak için önce a karakterinin değeri çıkarılır (97 x ) daha sonra sonuç taban ile çarpılır, son olarak ta eklenen karakterin( a ) değeri eklenir(97 x = 97).

14 Rabin-Karp dizi arama algoritması Adım adım açıklarsak, ASCII değerleri: h=104, i=105, j=106 taban=101. Öncelikle kontrol için hi ve ij için hash değerlerini direk hesaplayalım: hi = 104 * *1010 = ij = 105 * *1010 = Şimdi hi nın hash değerini kullanarak ij nin hash değerini bulalım. Öncelikle h karakterinin basamak değerini çıkarıyoruz: * = 105. Sonra sonucu taban ile çarpıyoruz: 105 * 101 = Son olarak sonuca j nin basamak değerini ekliyoruz: * 1010 = Görüldüğü gibi elimizdeki hash değerinden (10609) yeni hash değerine (10711) toplama, çıkarma ve çarpma işlemleri ile ulaştık. Her bir string için yeniden hash hesaplamak yerine, bu özel fonksiyonumuz sayesinden performansta artış elde edilir.

15 Rabin-Karp dizi arama algoritması

16 Boyer Moore dizi arama algoritması Eğer bir metin içinde ANPANMAN kelimesi aranıyorsa, metin içinde 8. karakterin N olup olmadığına bakılır. Eğer N ise 7. karakteri kontrol eder ve her doğru karşılaştırmada bir karakter geriye doğru ilerlenir. Alışılmışın dışında, karşılaştırma sondan başa doğru yapılır. Ancak algoritmanın asıl hızlı olmasının sebebi karşılaştırmanın yanlış olduğunda ne yaptığıdır. Metin içinde 8. karakter X olsun. X kelimemizin içinde yer almadığı için metnin başında kelimenin olması imkansızdır. Haliyle geriye kalan ilk 7 karakteri kontrol etmeye gerek yoktur. Aramaya metnin 16. karakteriyle devam edilir. Bu yüzden N uzunluğundaki metin ve M uzunluğundaki aranan kelimede algoritmanın ortalama durumdaki performansı N/M dir. Algoritma aranan kelimenin uzunluğu arttıkça daha hızlı çalışır.

17 Boyer Moore dizi arama algoritması Algoritma her başarısız doğrulamada 2 tablo kullanır. Bir tanesi başarısızlığa sebep olan karaktere bağlı olarak, sonraki aramanın nerede yapılacağını hesaplar. Diğeri başarısızlığa kadar kaç karakterin doğru şekilde eşleştirildiğini kullanarak, sonraki aramanın nerede yapılacağını hesaplar. Algoritma zıplama-kaydırma işlemini bu iki tablodan daha büyük sonuç verene göre yapar.

18 Boyer Moore dizi arama algoritması Verdiğimiz örnekte ilk kontrolde aradığımızı bulamazsak 8 karakter ilerlememiz gerektiğiniz biliyorduk. Ancak kısmi eşleşmelerde ne kadar kaydırma yapılacağını da hesaplamamız gerekiyor. Bu yüzden her kısmi eşleşme için, ne kadar ilerleneceğini gösteren tablomuzu oluşturmak gerekiyor. ANPANMAN

19 Boyer Moore dizi arama algoritması İkinci tabloyu hesaplaması nispeten daha kolay. Aranılan stringin sondan bir önceki karakterinden başlanır ve ilk karaktere doğru ilerlenir. Her adımda elimizdeki karakter tabloda değilse tabloya eklenir. Kaydırma değeri en sağdaki karaktere olan uzaklığıdır. Geriye kalan tüm karakterlerede aranılan stringin uzunluğu verilir. ANPANMAN

20 Boyer Moore dizi arama algoritması

21 Ders Hakkında Derste en temel veri yapılarını en temel algoritmaları gördük. Sıralama, Arama, Belleği Etkin Kullanma vs. İleri de geliştirdiğiniz uygulama alanına göre hangi veri yapısının ve algoritmalarının size uygun olacağına karar vermelisiniz. İnternette bir konuda onlarca açık kaynak (opensource) ve ticari kod ile karşılaşmak mümkün. Bu noktada kıyas yaparken veri yapıları düzeyinde bir karşılaştırma yapmanız gerekmektedir ki iyi bir seçim yapın.

22 Ne gördük!!!

23 Neler var? Hesaplamalı Geometri (2D - 3D)

24 Neler var? Sıkıştırma Algoritmaları

25 Neler Var? Big Data - Cloud

26 Neler var? Yapay Zeka

27 Neler var? Hesaplamalı Bilimler

28 Neler var? Hasta Tanı Sistemi

29 Kaynaklar

#$% &'#(# 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ı

DĠZGĠ EġLEME ALGORĠTMALARININ ALFABEYE BAĞLI ETKĠNLĠKLERĠNĠN ARAġTIRILMASI

DĠZGĠ EġLEME ALGORĠTMALARININ ALFABEYE BAĞLI ETKĠNLĠKLERĠNĠN ARAġTIRILMASI DĠZGĠ EġLEME ALGORĠTMALARININ ALFABEYE BAĞLI ETKĠNLĠKLERĠNĠN ARAġTIRILMASI Aydın CARUS 1 Abdul Kadir ERSİN 2 Altan MESUT 3 1,2,3 Trakya Üniversitesi, Mühendislik-Mimarlık Fakültesi, Bilgisayar Mühendisliği

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ı

YZM ALGORİTMA ANALİZİ VE TASARIM DERS#1: ALGORİTMA KAVRAMI

YZM ALGORİTMA ANALİZİ VE TASARIM DERS#1: ALGORİTMA KAVRAMI YZM 3207- ALGORİTMA ANALİZİ VE TASARIM DERS#1: ALGORİTMA KAVRAMI Algoritma Nedir? Algoritma Bir problemin çözümü için geliştirilmiş özel metot Girdileri çıktılara dönüştüren sıralı hesaplama adımları Tanımlanmış

Detaylı

6.046J/18.401J DERS 7 Kıyım Fonksiyonu (Hashing I) Prof. Charles E. Leiserson

6.046J/18.401J DERS 7 Kıyım Fonksiyonu (Hashing I) Prof. Charles E. Leiserson Algoritmalara Giriş 6.046J/8.40J DERS 7 Kıyım Fonksiyonu (Hashing I) Doğrudan erişim tabloları Çarpışmaları ilmekleme ile çözmek Kıyım fonksiyonu seçimi Açık adresleme Prof. Charles E. Leiserson October

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ı

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 Diziler Dizi Nedir? Dizilerin Bildirimi

Detaylı

BİL-341 ALGORİTMALAR BÜYÜK O NOTASYONU AHMET ATAKAN 0904.01036. atakanahmet@hotmail.com KIRGIZİSTAN-TÜRKİYE MANAS ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ

BİL-341 ALGORİTMALAR BÜYÜK O NOTASYONU AHMET ATAKAN 0904.01036. atakanahmet@hotmail.com KIRGIZİSTAN-TÜRKİYE MANAS ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİL-341 ALGORİTMALAR BÜYÜK O NOTASYONU AHMET ATAKAN 0904.01036 atakanahmet@hotmail.com KIRGIZİSTAN-TÜRKİYE MANAS ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BİŞKEK 2012 Ahmet Atakan

Detaylı

Alıştırma 1: Yineleme

Alıştırma 1: Yineleme Alıştırma 1: Yineleme Alıştırma 2: Yineleme H10->H2 çevrimini yapınız 7 2 1 3 2 1 1 1 2 0 Hafta 3: Yineleme Alıştırmaları(1) E1. (44/174) S değerini yineleme kullanarak hesap ediniz S = 1 + 2 + 3 + n Hafta3:

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ı

Yrd. Doç. Dr. A. Burak İNNER Bilgisayar Mühendisliği

Yrd. Doç. Dr. A. Burak İNNER Bilgisayar Mühendisliği Yrd. Doç. Dr. A. Burak İER Bilgisayar Mühendisliği Algoritma Analizi İçerik: Temel Kavramlar Yinelemeli ve Yinelemesiz Algoritma Analizi Asimptotik otasyonlar Temel Kavramlar Algoritma: Bir problemin çözümüne

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ı

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ı

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ı

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ı

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ı

DOSYA ORGANİZASYONU. Doğrudan erişimli dosya organizasyonu ÖZLEM AYDIN TRAKYA ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

DOSYA ORGANİZASYONU. Doğrudan erişimli dosya organizasyonu ÖZLEM AYDIN TRAKYA ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ DOSYA ORGANİZASYONU ÖZLEM AYDIN TRAKYA ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ Doğrudan erişimli dosya organizasyonu Sunum planı Doğrudan erişimli dosyalar Anahtar değerin tek adres olması durumu Anahtar

Detaylı

BMB204. Veri Yapıları Ders 9. B+ Ağacı, Hash, Heap. Erdinç Uzun NKÜ Çorlu Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü

BMB204. Veri Yapıları Ders 9. B+ Ağacı, Hash, Heap. Erdinç Uzun NKÜ Çorlu Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü BMB204. Veri Yapıları Ders 9. B+ Ağacı, Hash, Heap Erdinç Uzun NKÜ Çorlu Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü Dersin Planı B+ Tree Temel bir veritabanı çalışma kodu Hash (Karma) Heap Ağaçlar

Detaylı

ALGORİTMA ANALİZİ. Cumhuriyet Üniversitesi Bilgisayar Mühendisliği Bölümü

ALGORİTMA ANALİZİ. Cumhuriyet Üniversitesi Bilgisayar Mühendisliği Bölümü ALGORİTMA ANALİZİ Cumhuriyet Üniversitesi Bilgisayar Mühendisliği Bölümü 2 Temel Kavramlar Algoritma: Bir problemin çözümünü belirli bir zamanda çözmek için sonlu sayıdaki adım-adım birbirini takip eden

Detaylı

ÜNİTE 9 ÜNİTE 9 MICROSOFT EXCEL - II TEMEL BİLGİ TEKNOLOJİLERİ İÇİNDEKİLER HEDEFLER

ÜNİTE 9 ÜNİTE 9 MICROSOFT EXCEL - II TEMEL BİLGİ TEKNOLOJİLERİ İÇİNDEKİLER HEDEFLER ÜNİTE 9 MICROSOFT EXCEL - II BAYBURT ÜNİVERSİTESİ UZAKTAN EĞİTİM MERKEZİ İÇİNDEKİLER Çalışma sayfasına yeni nesneler eklemek Veriler ile ilgili işlemler Grafikler ler Sıralama Yapmak Filtreleme Yapmak

Detaylı

Algoritmalara Giriş Ekim 10, 2005 Massachusetts Institute of Technology Professors Erik D. Demaine ve Charles E. Leiserson. Problem Seti 3 Çözümler

Algoritmalara Giriş Ekim 10, 2005 Massachusetts Institute of Technology Professors Erik D. Demaine ve Charles E. Leiserson. Problem Seti 3 Çözümler Algoritmalara Giriş Ekim 10, 2005 Massachusetts Institute of Technology 6.046J/18.410J Professors Erik D. Demaine ve Charles E. Leiserson Dağıtım13 Problem Seti 3 Çözümler Problem 3-1. Örüntü Eşleme (Pattern

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ı

Java, Python ve Ruby Dillerinin Performans Karşılaştırması

Java, Python ve Ruby Dillerinin Performans Karşılaştırması Java, Python ve Ruby Dillerinin Performans Karşılaştırması Çanakkale Onsekiz Mart Üniversitesi Mustafa ŞAHİN Akademik Bilişim 2007 1 Dillerin seçim nedeni Java, Pyton ve Ruby Programlama dillerinin popülerliği

Detaylı

YZM ALGORİTMA ANALİZİ VE TASARIM DERS#2: ALGORİTMA ANALİZİ

YZM ALGORİTMA ANALİZİ VE TASARIM DERS#2: ALGORİTMA ANALİZİ YZM 3207- ALGORİTMA ANALİZİ VE TASARIM DERS#2: ALGORİTMA ANALİZİ Algoritma Analizi Çerçevesi Algoritma Analizinde Göz Önünde Bulundurulması Gerekenler Neler? Algoritmanın Doğruluğu (Correctness) Zaman

Detaylı

Simetrik (Gizli) Kriptografik Sistemler Blok Şifreler Standartlaştırma. DES-Data Encryption Standard (Bilgi Şifreleme Standardı)

Simetrik (Gizli) Kriptografik Sistemler Blok Şifreler Standartlaştırma. DES-Data Encryption Standard (Bilgi Şifreleme Standardı) Bilgi Güvenliği Simetrik (Gizli) Kriptografik Sistemler Blok Şifreler Standartlaştırma DES-Data Encryption Standard (Bilgi Şifreleme Standardı) Düzmetin (64 bit) Başlangıç Permütasyonu 58 50 42 34 26 18

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ı

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 1 İç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ı

Ç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ı

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ı

ŞİFRELEME YÖNTEMLERİ

ŞİFRELEME YÖNTEMLERİ ŞİFRELEME YÖNTEMLERİ GİRİŞ Şifreleme bir mesajın gizliliğini sağlamak için kullanılan bir yöntemdir. Şifreleme çeşitlerinden biri olan simetrik şifrelemede ise amaç gönderici ile alıcının ortak bir anahtar

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 - 9 Hatırlatmalar Tam İkili Ağaç Eksiksiz İkili

Detaylı

Veri Yapıları. Öğr.Gör.Günay TEMÜR Düzce Üniversitesi Teknolojis Fakültesi

Veri Yapıları. Öğr.Gör.Günay TEMÜR Düzce Üniversitesi Teknolojis Fakültesi Veri Yapıları Öğr.Gör.Günay TEMÜR Düzce Üniversitesi Teknolojis Fakültesi Hash Tabloları ve Fonksiyonları Giriş Hash Tabloları Hash Fonksiyonu Çakışma (Collision) Ayrık Zincirleme Çözümü Linear Probing

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ı

2.1 Bir Sınıfı Örneklerinden Öğrenme... 15 2.2 Vapnik-Chervonenkis (VC) Boyutu... 20 2.3 Olası Yaklaşık Doğru Öğrenme... 21

2.1 Bir Sınıfı Örneklerinden Öğrenme... 15 2.2 Vapnik-Chervonenkis (VC) Boyutu... 20 2.3 Olası Yaklaşık Doğru Öğrenme... 21 İçindekiler Önsöz İkinci Basım için Önsöz Türkçe Çeviri için Önsöz Gösterim xiii xv xvii xix 1 Giriş 1 1.1 Yapay Öğrenme Nedir?......................... 1 1.2 Yapay Öğrenme Uygulamalarına Örnekler...............

Detaylı

Ders Kodu Dersin Adı Dersin Ġntibak Durumu

Ders Kodu Dersin Adı Dersin Ġntibak Durumu ENDÜSTRĠ SĠSTEMLERĠ MÜHENDĠSLĠĞĠ BÖLÜMÜ ĠNTĠBAK ÇĠZELGESĠ 2010-2011 1.SINIF / GÜZ DÖNEMĠ IUE100 Akademik ve Sosyal Oryantasyon CS 115 Programlamaya Giriş I Bu ders 1. Sınıf güz döneminden 2. Sınıf güz

Detaylı

Algoritmalar ve Karmaşıklık

Algoritmalar ve Karmaşıklık Algoritmalar ve Karmaşıklık Ders 11 Algoritma Ayrık matematikte karşılaşılan bir çok problem sınıfı mevcuttur. Örneğin, verilen tamsayı grubu içindeki en büyük olanının bulunması, verilen bir kümenin bütün

Detaylı

Veritabanı Tasarımı. Düzenli İfadeler

Veritabanı Tasarımı. Düzenli İfadeler Veritabanı Tasarımı Düzenli İfadeler Konular Düzenli ifadeleri tanımlama SQL ifadelerinde düzenli ifadeleri arama, eşleme ve yer değiştirme katarlarında kullanma Düzenli ifadeleri ve kontrol kısıtlamalarını

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ı 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ı

HACETTEPE ÜNİVERSİTESİ BAHAR DÖNEMİ

HACETTEPE ÜNİVERSİTESİ BAHAR DÖNEMİ Öğrenci Adı Soyadı: Öğrenci Numarası: S1 S2 S3 S4 S5 Toplam HACETTEPE ÜNİVERSİTESİ 2013-2014 BAHAR DÖNEMİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BBM202 Algoritmalar 1. Ara Sınav 18.03.2014 Sınav Süresi: 50 dakika

Detaylı

Formüller ÜNİTE 5. Bu üniteyi çalıştıktan sonra; Formüller Menüsü İşlev Kitapçığı Tanımlı Adlar Formül Denetleme Hesaplama

Formüller ÜNİTE 5. Bu üniteyi çalıştıktan sonra; Formüller Menüsü İşlev Kitapçığı Tanımlı Adlar Formül Denetleme Hesaplama Formüller ÜNİTE 5 Formüller Menüsü İşlev Kitapçığı Tanımlı Adlar Formül Denetleme Hesaplama Bu üniteyi çalıştıktan sonra; Microsoft Excel hakkında temel işlemler öğrenildikten sonra hücrelere uygulanacak

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, Giriş Hash Tabloları Hash Fonksiyonu Çakışma (Collision)

Detaylı

Sayılar Teorisi SAYILAR TEORİSİ VE SAYILAR

Sayılar Teorisi SAYILAR TEORİSİ VE SAYILAR Sayılar Teorisi SAYILAR TEORİSİ VE SAYILAR Sayılar; insanların ilk çağlardan beri ihtiyaç duyduğu bir gereksinim olmuştur; sayılar teorisi de matematiğin en eski alanlarından birisidir. Sayılar teorisi,

Detaylı

DOSYA ORGANİZASYONU. Çarpışma çözümleme yöntemleri ÖZLEM AYDIN TRAKYA ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

DOSYA ORGANİZASYONU. Çarpışma çözümleme yöntemleri ÖZLEM AYDIN TRAKYA ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ DOSYA ORGANİZASYONU ÖZLEM AYDIN TRAKYA ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ Çarpışma çözümleme yöntemleri Sunum planı Bağlantıları kullanarak çarpışmaların çözümlenmesi. Coalesced Hashing (Birleştirilmiş

Detaylı

BM312 Ders Notları - 3 2014

BM312 Ders Notları - 3 2014 DETERMİNİSTİK SONLU OTOMATLAR (DETERMINISTIC FINITE AUTOMATA) Bir Sonlu Otomat (FA) sabit ve sonlu kapasitede bir merkezi işlem ünitesine sahiptir. Giriş bilgisini input tape üzerinden string olarak alır.

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ı

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 Diziler Dizi Nedir? Dizilerin Bildirimi Dizilere Başlangıç Değeri Verme Dizilerde Arama

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ı

Uygulama 6. Transkripsiyon yönü. Ekzonlar (kodlama bölgeleri) Transkripsiyon. Sonlandırıcı kodon başlangıcı

Uygulama 6. Transkripsiyon yönü. Ekzonlar (kodlama bölgeleri) Transkripsiyon. Sonlandırıcı kodon başlangıcı Uygulama 6 DNA Dizilerinde Bazı Đstatistiksel Analizler DNA molekülleri nükleotidlerin uzun birer dizileridir. Dizilenmiş bir DNA molekülüne A,C,G,T harflerinin oluşturduğu bir kelimelik uzun bir yazı

Detaylı

YZM ALGORİTMA ANALİZİ VE TASARIM DERS#6: AZALT VE FETHET YÖNTEMİ

YZM ALGORİTMA ANALİZİ VE TASARIM DERS#6: AZALT VE FETHET YÖNTEMİ YZM 3207- ALGORİTMA ANALİZİ VE TASARIM DERS#6: AZALT VE FETHET YÖNTEMİ Azalt ve Fethet Algoritmaları Problemi daha küçük bir örneğine çevir: Küçük örneği çöz Çözümü asıl probleme genişlet 3 tipi vardır:

Detaylı

Makine Öğrenmesi 2. hafta

Makine Öğrenmesi 2. hafta Makine Öğrenmesi 2. hafta Uzaklığa dayalı gruplandırma K-means kümeleme K-NN sınıflayıcı 1 Uzaklığa dayalı gruplandırma Makine öğrenmesinde amaç birbirine en çok benzeyen veri noktalarını aynı grup içerisinde

Detaylı

Yrd.Doç.Dr. Celal Murat KANDEMİR. Kodlama (Coding) : Bir nesneler kümesinin bir dizgi (bit dizisi) kümesi ile temsil edilmesidir.

Yrd.Doç.Dr. Celal Murat KANDEMİR. Kodlama (Coding) : Bir nesneler kümesinin bir dizgi (bit dizisi) kümesi ile temsil edilmesidir. Bilgisayar Mimarisi İkilik Kodlama ve Mantık Devreleri Yrd.Doç.Dr. Celal Murat KANDEMİR ESOGÜ Eğitim Fakültesi - BÖTE twitter.com/cmkandemir Kodlama Kodlama (Coding) : Bir nesneler kümesinin bir dizgi

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ı

Fonksiyon Optimizasyonunda Genetik Algoritmalar

Fonksiyon Optimizasyonunda Genetik Algoritmalar 01-12-06 Ümit Akıncı Fonksiyon Optimizasyonunda Genetik Algoritmalar 1 Fonksiyon Optimizasyonu Fonksiyon optimizasyonu fizikte karşımıza sık çıkan bir problemdir. Örneğin incelenen sistemin kararlı durumu

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ı

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ı

ISK116 - Bölüm 1. Grup Teknolojisi

ISK116 - Bölüm 1. Grup Teknolojisi ISK - Bölüm Grup Teknolojisi Grup Teknolojisi (GT) Grup teknolojisi benzerliklerden faydalanarak büyük ve karmaşık bir üretim sisteminin, küçük ve kolay kontrol edilebilir sistemlere dönüştürülmesi hedeflenmektedir.

Detaylı

YAZILIM MÜHENDİSLİĞİ BÖLÜMÜ İNTİBAK ÇİZELGESİ 2010-2011 1.SINIF / GÜZ DÖNEMİ

YAZILIM MÜHENDİSLİĞİ BÖLÜMÜ İNTİBAK ÇİZELGESİ 2010-2011 1.SINIF / GÜZ DÖNEMİ YAZILIM MÜHENDİSLİĞİ BÖLÜMÜ İNTİBAK ÇİZELGESİ 2010-2011 1.SINIF / GÜZ DÖNEMİ Bu ders 1. Sınıf güz döneminden 2. Sınıf güz dönemine alınmıştır. gerektiği halde alamayan öğrenciler 2010-2011 öğretim yılı

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ı

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ı

f(x) ve g(x) reel sayılarda tanımlı iki fonksiyon olmak üzere, x > k olacak şekilde bir k vardır öyle ki,

f(x) ve g(x) reel sayılarda tanımlı iki fonksiyon olmak üzere, x > k olacak şekilde bir k vardır öyle ki, Algoritma Karmaşıklığı ve Büyük O Gösterimi (Big O Notation) Yazdığımız bir algoritmanın doğru çalıştığından emin olmakla birlikte bu algoritmayı, daha önce yazılmış ve aynı sonucu veren başka algoritmalarla

Detaylı

BİLGİSAYAR MÜHENDİSLİĞİ DOKTORA DERS PROGRAMI (Lisanstan gelenler için)

BİLGİSAYAR MÜHENDİSLİĞİ DOKTORA DERS PROGRAMI (Lisanstan gelenler için) BİLGİSAYAR MÜHENDİSLİĞİ DOKTORA DERS PROGRAMI (Lisanstan gelenler için) HAZIRLIK PROGRAMI COME 27 İleri Nesneye Yönelik Programlama 5 COME 21 Veri Yapıları ve Algoritmalar COME 22 COME 1 COME 1 COME 411

Detaylı

Otomata Teorisi (BİL 2114)

Otomata Teorisi (BİL 2114) Otomata Teorisi (BİL 2114) Fırat İsmailoğlu Hafta 10: Turing Makinesi (Bölüm 1.5) 1 Hafta 10 Plan l. Turing Makinesini Ziyaret 2. Turing Makinesi İle Hesaplama 2 Turing Makinesinin Bileşenleri q o q 1

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ı

SİMETRİK ŞİFRELEME. DES (Veri Şifreleme Standardı, Data Encryption Standard)

SİMETRİK ŞİFRELEME. DES (Veri Şifreleme Standardı, Data Encryption Standard) SİMETRİK ŞİFRELEME DES (Veri Şifreleme Standardı, Data Encryption Standard) DES, veri şifrelemek (encryption) ve şifrelenmiş verileri açmak (decryption) için geliştirilmiş bir standarttır. Esas olarak

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Ü DĠZGĠ EġLEME ALGORĠTMALARININ ĠNCELENMESĠ VE YENĠ BĠR DĠZGĠ EġLEME ALGORĠTMASI Abdul Kadir ERSĠN Yüksek Lisans Tezi Bilgisayar Mühendisliği Anabilim Dalı

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ı

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 VE PROGRAMLAMA

VERİ YAPILARI VE PROGRAMLAMA 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ı

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ı

Sonlu Durum ve Turing Makineleri

Sonlu Durum ve Turing Makineleri Sonlu Durum ve Turing Makineleri Ders 12 Yrd.Doç.Dr. İbrahim TÜRKYILMAZ Sonlu Durum Makinesi Sonlu durum makinesi aşağıdakilerden oluşur: a) Bir σ başlangıç durumu, b) Sonlu sayıda duruma sahip olan sonlu

Detaylı

DAO İLE SQL KOMUTLARI. Sql komutlarını artık veri tabanında kullanmaktan başka çaremiz yok arkadaşlar. Şimdi bu sql derslerimize başlayalım.

DAO İLE SQL KOMUTLARI. Sql komutlarını artık veri tabanında kullanmaktan başka çaremiz yok arkadaşlar. Şimdi bu sql derslerimize başlayalım. DAO İLE SQL KOMUTLARI Sql komutlarını artık veri tabanında kullanmaktan başka çaremiz yok arkadaşlar. Şimdi bu sql derslerimize başlayalım. SQL-1 SELECT En basit SQL cümleciği oluşturmak için SELECT sözcüğü

Detaylı

GÜVEN ARALIĞI KESTİRİM

GÜVEN ARALIĞI KESTİRİM GÜVEN ARALIĞI KESTİRİM GÜVEN ARALIĞI Herhangi bir parametre için güven aralığı iki istatistikle verilir: U ve L. Öyle ki, eğer parametrenin doğru değeri θ ise, o zaman P(L θ U) = 1 - α Burada θ parametrenin

Detaylı

C++ Dilinde Bazı Temel Algoritmalar

C++ Dilinde Bazı Temel Algoritmalar C++ Dilinde Bazı Temel Algoritmalar Bazı eşyalar için her eve lazım derler. Az sonra bahsedeceğimiz algoritmalar da her kodcuya lazım cinsten. Sayının tek mi çift mi olduğuna karar veren programdan, çarpım

Detaylı

10 LU SAYISAL SİSTEMİ İLE 2 Lİ SAYISAL SİSTEMİ ARASINDA ÇEVİRİM UYGULAMASI

10 LU SAYISAL SİSTEMİ İLE 2 Lİ SAYISAL SİSTEMİ ARASINDA ÇEVİRİM UYGULAMASI 10 LU SAYISAL SİSTEMİ İLE 2 Lİ SAYISAL SİSTEMİ ARASINDA ÇEVİRİM UYGULAMASI Sayısal Sistemler Sayısal sistem, sayıları temsil eden simgeler için bir yazma sistemi yani matematiksel bir gösterim sistemidir.

Detaylı

Ayrık Fourier Dönüşümü

Ayrık Fourier Dönüşümü Ayrık Fourier Dönüşümü Tanım: 0 n N 1 aralığında tanımlı N uzunluklu bir dizi x[n] nin AYRIK FOURIER DÖNÜŞÜMÜ (DFT), ayrık zaman Fourier dönüşümü (DTFT) X(e jω ) nın0 ω < 2π aralığında ω k = 2πk/N, k =

Detaylı

Sayı sistemleri-hesaplamalar. Sakarya Üniversitesi

Sayı sistemleri-hesaplamalar. Sakarya Üniversitesi Sayı sistemleri-hesaplamalar Sakarya Üniversitesi Sayı Sistemleri - Hesaplamalar Tüm sayı sistemlerinde sayılarda işaret kullanılabilir. Yani pozitif ve negatif sayılarla hesaplama yapılabilir. Bu gerçek

Detaylı

C++ Dilinde Bazı Temel Algoritmalar

C++ Dilinde Bazı Temel Algoritmalar C++ Dilinde Bazı Temel Algoritmalar Bazı eşyalar için her eve lazım derler. Az sonra bahsedeceğimiz algoritmalar da her kodcuya lazım cinsten. Sayının tek mi çift mi olduğuna karar veren programdan, çarpım

Detaylı

Microsoft Excel 4.BÖLÜM

Microsoft Excel 4.BÖLÜM Microsoft Excel 4.BÖLÜM İstatistiksel fonksiyonları kullanma: EĞERSAY, BOŞLUKSAY, KAÇINCI EĞERSAY fonksiyonu EĞERSAY işlevi, bir aralıkta yer alan ve belirtilen tek bir ölçüte uyan hücrelerin sayısını

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ı

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ı

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ı

İŞLETMELERDE BECERİ EĞİTİMİ DERSİ MİCROSOFT WORD 2007 ÇALIŞMALARI

İŞLETMELERDE BECERİ EĞİTİMİ DERSİ MİCROSOFT WORD 2007 ÇALIŞMALARI 1 2 3 Microsoft Office Word Belgesinde çalışmamızı tamamladıktan sonra simgesine tıkladığımızda açılan menüde dosyamızı kaydedebiliriz veya yazıcıdan çıktısını alabiliriz. Çalışmamızda değişiklik yapmak

Detaylı

Algoritmaların Karşılaştırılması. Doç. Dr. Aybars UĞUR

Algoritmaların Karşılaştırılması. Doç. Dr. Aybars UĞUR Algoritmaların Karşılaştırılması Doç. Dr. Aybars UĞUR Giriş Bir programın performansı genel olarak programın işletimi için gerekli olan bilgisayar zamanı ve belleğidir. Bir programın zaman karmaşıklığı

Detaylı

Aşağıdaki programı inceleyip ekrana ne yazacağını söyleyebilir misiniz?

Aşağıdaki programı inceleyip ekrana ne yazacağını söyleyebilir misiniz? PYTHON DERS-8 LİSTELER-2 Geçen ders listeler oluşturmayı, listedeki her elemanın bir index numarası olduğu ve bu numaranın 0'dan başladığını, listenin tamamını veya index numarası sayesinde belirli bir

Detaylı

8. HOMOMORFİZMALAR VE İZOMORFİZMALAR

8. HOMOMORFİZMALAR VE İZOMORFİZMALAR 8. HOMOMORFİZMALAR VE İZOMORFİZMALAR Şimdiye kadar bir gruptan diğer bir gruba tanımlı olan fonksiyonlarla ilgilenmedik. Bu bölüme aşağıdaki tanımla başlayalım. Tanım 8.1: G, ve H, iki grup ve f : G H

Detaylı

Hatalar ve Bilgisayar Aritmetiği

Hatalar ve Bilgisayar Aritmetiği Hatalar ve Bilgisayar Aritmetiği Analitik yollardan çözemediğimiz birçok matematiksel problemi sayısal yöntemlerle bilgisayarlar aracılığı ile çözmeye çalışırız. Bu şekilde Sayısal yöntemler kullanarak

Detaylı

Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net

Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net Bilgisayar Programlama Ders 6 Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net Fonksiyon Prototipleri Fonksiyon Prototipleri Derleyici, fonksiyonların ilk hallerini (prototiplerini)

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ı

BİLGİSAYAR PROGRAMLAMA Araş. Gör. Ahmet ARDAHANLI. Kafkas Üniversitesi Mühendislik Fakültesi

BİLGİSAYAR PROGRAMLAMA Araş. Gör. Ahmet ARDAHANLI. Kafkas Üniversitesi Mühendislik Fakültesi BİLGİSAYAR PROGRAMLAMA Araş. Gör. Ahmet ARDAHANLI Kafkas Üniversitesi Mühendislik Fakültesi Bu hafta? İki değişken değerinin yer değiştirilmesi (swapping) selection sort sıralama algoritması bubble sort

Detaylı

Matematikte Sonsuz. Mahmut Kuzucuoğlu. Orta Doğu Teknik Üniversitesi Matematik Bölümü İlkyar-2017

Matematikte Sonsuz. Mahmut Kuzucuoğlu. Orta Doğu Teknik Üniversitesi Matematik Bölümü İlkyar-2017 Matematikte Sonsuz Mahmut Kuzucuoğlu Orta Doğu Teknik Üniversitesi Matematik Bölümü matmah@metu.edu.tr İlkyar-2017 17 Temmuz 2017 Matematikte Sonsuz Bugün matematikte çok değişik bir kavram olan sonsuz

Detaylı

2. (v+w+x+y+z) 8 ifadesinin açılımında kaç terim vardır? 3. log 5 0, 69897 olduğuna göre 50 10 sayısı kaç basamaklıdır?

2. (v+w+x+y+z) 8 ifadesinin açılımında kaç terim vardır? 3. log 5 0, 69897 olduğuna göre 50 10 sayısı kaç basamaklıdır? Ayrık Hesaplama Yapıları A GRUBU 3.03.0 Numarası Adı Soyadı : CEVAP : ANAHTARI SINAV YÖNERGESİ İşaretlemelerinizde kurşun kalem kullanınız. Soru ve cevap kağıtlarına numaranızı ve isminizi mürekkepli kalem

Detaylı

Bölüm Özeti. Algoritmalar. Fonksiyonların Büyümesi. Algoritmaların Karmaşıklığı. Örnek Algoritmalar Algoritmik Paradigmalar

Bölüm Özeti. Algoritmalar. Fonksiyonların Büyümesi. Algoritmaların Karmaşıklığı. Örnek Algoritmalar Algoritmik Paradigmalar Bölüm 3 Bölüm Özeti Algoritmalar Örnek Algoritmalar Algoritmik Paradigmalar Fonksiyonların Büyümesi Büyük-O ve diğer gösterimler Algoritmaların Karmaşıklığı Bölüm 3.1 Bölüm Özet Algoritmaların Özellikleri

Detaylı

BMT207 VERİ YAPILARI DATA STRUCTURE

BMT207 VERİ YAPILARI DATA STRUCTURE BMT207 VERİ YAPILARI DATA STRUCTURE Teknoloji Fakültesi Bilgisayar Mühendisliği GÜNAY TEMÜR Konu Dağılım Hafta 1. Hafta 2.Hafta 3.Hafta 4.Hafta 5.Hafta Konu Ders İçerik Tanıtım, Ödev-Proje-Sınavlar Hakkında

Detaylı

Bir sayının yüzdesini bulma

Bir sayının yüzdesini bulma Bir sayının yüzdesini bulma Herhangi bir sayının yüzdesini bulmak için ; - Sayıyı eş parçaya bölün, ( böylelikle % parçasını bulmuş olursunuz ) 2- istenilen yüzdeyle çarpın. ( böylelikle size % kaç isteniyor

Detaylı

BILGISAYAR ARITMETIGI

BILGISAYAR ARITMETIGI 1 BILGISAYAR ARITMETIGI Sayısal bilgisayarlarda hesaplama problemlerinin sonuçlandırılması için verileri işleyen aritmetik buyruklar vardır. Bu buyruklar aritmetik hesaplamaları yaparlar ve bilgisayar

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ı

Tek Değişkenli Optimizasyon OPTİMİZASYON. Gradient Tabanlı Yöntemler. Bisection (İkiye Bölme) Yöntemi

Tek Değişkenli Optimizasyon OPTİMİZASYON. Gradient Tabanlı Yöntemler. Bisection (İkiye Bölme) Yöntemi OPTİMİZASYON Gerçek hayatta, çok değişkenli optimizasyon problemleri karmaşıktır ve nadir olarak problem tek değişkenli olur. Bununla birlikte, tek değişkenli optimizasyon algoritmaları çok değişkenli

Detaylı

KARAKTER DİZGİLERİ, BAĞINTILAR, FONKSİYONLAR KESİKLİ MATEMATİKSEL YAPILAR

KARAKTER DİZGİLERİ, BAĞINTILAR, FONKSİYONLAR KESİKLİ MATEMATİKSEL YAPILAR KARAKTER DİZGİLERİ, BAĞINTILAR, FONKSİYONLAR KESİKLİ MATEMATİKSEL YAPILAR 2012-2013 Karakter Dizgisi Karakter Dizgisi Üzerine İşlemler Altdizgi Tanım 3.1.1: Bir X kümesi üzerinde bir karakter dizgisi (string)

Detaylı