ESKİŞEHİR OSMANGAZİ ÜNİVERSİTESİ



Benzer belgeler
ESKİŞEHİR OSMANGAZİ ÜNİVERSİTESİ

ESKİŞEHİR OSMANGAZİ ÜNİVERSİTESİ

OPERATÖRLER BÖLÜM Giriş Aritmetik Operatörler

SAB104 Bilgisayar Programlama

Interprise. Ülker İletişim Web Servisi. Bu doküman Ülker iletişim web servisi hakkında teknik açıklamaları içerir. İletişim web servisi web adresi :

ESKİŞEHİR OSMANGAZİ ÜNİVERSİTESİ

B05.11 Faaliyet Alanı

LÜLEBURGAZ BELEDİYESİ LÜLEBURGAZ YILDIZLARI YÜZME AKADEMİSİ MİMARİ PROJE YARIŞMASI 1.AŞAMA SORULARI VE CEVAPLARI

Algoritma Analizi ve Büyük O Notasyonu. Şadi Evren ŞEKER YouTube: Bilgisayar Kavramları

ESKİŞEHİR OSMANGAZİ ÜNİVERSİTESİ

Öğr. Gör. Cansu AYVAZ GÜVEN VERİTABANI-II. Değişken Tanımlama Ve Akış Kontrol Deyimleri

Web Madenciliği (Web Mining)

YÖNEYLEM ARAŞTIRMASINA YÖNTEMLER VE DİĞER BİLİM DALLARI AÇISINDAN BİR BAKIŞ

Olasılık ve İstatistik Dersinin Öğretiminde Deney ve Simülasyon

DOKUZ EYLÜL ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ DEKANLIĞI DERS/MODÜL/BLOK TANITIM FORMU. Dersin Kodu: BİL 1007

287 SERİ NO'LU GELİR VERGİSİ GENEL TEBLİĞİ

Betonarme ve Prefabrik Yapılarda Risk Değerlendirmesi

KALE Danismanlik

SĐRKÜLER : KONU : 2009 Yılında Uygulanacak Hadler ve MSĐ Đndirim Oranı

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

B. RAPORTÖRLER : Ekrem SOLMAZ, Hatice YAVUZ, Necla SÜMER

5.Eğitim E205. PIC16F628 ve PIC16F877 Hakkında Genel Bilgi IF THEN ELSE ENDIF HIGH-LOW GOTO-END- PAUSE Komutları Tanıtımı ve Kullanımı PIC16F628:

ÜNİTE 5 KESİKLİ RASSAL DEĞİŞKENLER VE OLASILIK DAĞILIMLARI

5. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ.

GÜZ YY. - MKT103 - GÖRSEL PROGRAMLAMA DERSİ - ARA SINAVI

2.4. ELASTĠK DEPREM YÜKLERĠNĠN TANIMLANMASI : SPEKTRAL ĠVME KATSAYISI

PostgreSQL ve PL/pgSQL

İNŞAAT PROJELERİNİN YAPIM SÜRECİNDE KEŞİF VE METRAJ. Ülkemizde yaygın olarak kullanılan yöntemdir.

Cebir Notları. Bağıntı. 1. (9 x-3, 2) = (27, 3 y ) olduğuna göre x + y toplamı kaçtır? 2. (x 2 y 2, 2) = (8, x y) olduğuna göre x y çarpımı kaçtır?

Deprem Yönetmeliklerindeki Burulma Düzensizliği Koşulları

NECMETTİN ERBAKAN ÜNİVERSİTERSİ YANDAL PROGRAMINA BAŞVURU, KABUL VE KAYIT KOŞULLARI

Sait GEZGİN, Nesim DURSUN, Fatma GÖKMEN YILMAZ

SQL'e Giriş 2. CREATE TABLE tabloadı (kolon isimleri ve veri türleri) (BOLUM_NO NUMBER, BOLUM_ADI CHAR(10));

İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BİLGİSAYAR SİSTEMLERİ LABORATUARI YÜZEY DOLDURMA TEKNİKLERİ

İSTANBUL TEKNİK ÜNİVERSİTESİ MİMARLIK FAKÜLTESİ, MİMARLIK BÖLÜMÜ YARI ZAMANLI ÖĞRETİM ÜYELERİ BİLGİ KİTAPÇIĞI

DOSYA ORGANİZASYONU. Sıralı erişimli dosya organizasyonu yöntemleri ÖZLEM AYDIN TRAKYA ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

Birincil alüminyum üretiminde 2010 yılı itibariyle Kanada ve ABD ile temsil edilen Kuzey Amerika ile Doğu ve Orta Avrupa ön plana çıkmıştır.

ODTÜ 60. YIL LOGOSU KULLANIM KILAVUZU

No: 2015/8 Tarih:

Ders 4: Diziler (Arrays( Arrays) barisgokce.com

PostgreSQL ve PL/pgSQL

Risk Merkezi Aylık Bülteni

Uygulama 1) Sabit olarak belirlenen sayıda tekrar eden (5 kez) Visual Basic kaynak kodlarını yazınız.

ALGORİTMA VE PROGRAMLAMA I

Şekil 3-1: "ÇED İzni Alanı"nın ve "Proje Alanı"nın Yeri... 4

C Operatörler. Öğr. Gör. M. Ozan AKI. Rev 1.0

DİKKAT! SORU KİTAPÇIĞINIZIN TÜRÜNÜ "A" OLARAK CEVAP KÂĞIDINA İŞARETLEMEYİ UNUTMAYINIZ. SAYISAL BÖLÜM SAYISAL-2 TESTİ

Window Script Host. Message Box Kullanımı. Pupup(Acilir)Message Kullanımı. Arslan ACAR

Quick-Basic Kursu Quick BASIC Kursu

B02.8 Bölüm Değerlendirmeleri ve Özet

BĐSĐKLET FREN SĐSTEMĐNDE KABLO BAĞLANTI AÇISININ MEKANĐK VERĐME ETKĐSĐNĐN ĐNCELENMESĐ

OMÜ HAVACILIK VE UZAY BİLİMLERİ FAKÜLTESİ METEOROLOJİ MÜHENDİSLİĞİ BÖLÜMÜ MET103 BİLGİSAYAR PROGRAMLAMA I BÜTÜNLEME SINAVI

: Prof. Dr. Nurettin KALDIRIMCI : Kenan TÜRK, Dr. Murat ÇETİNKAYA, Reşit GÜRPINAR, Fevzi ÖZKAN, Dr. Metin ARSLAN, Doç. Dr.

Algoritma, Akış Şeması ve Örnek Program Kodu Uygulamaları Ünite-9

İZMİR Muhasebe Müdürlüğüne,

4 ab sayısı 26 ile tam bölünebildiğine göre, kalanı 0 dır.

ESKİŞEHİR OSMANGAZİ ÜNİVERSİTESİ YURT DIŞINDAN ÖĞRENCİ BAŞVURU, KABUL VE KAYIT YÖNERGESİ

Tarih Sayı Konu. Tarih :.JL.MBflt.. »ÜTTi

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

UYGULAMALAR -2 Select case Yapısı: Select Case case case case case case is case Else End Select Örnek:

a,b başlangıç değerlerini 0 kabul et a sayısını verin b sayısını verin hayır hayır b< a? evet a=b a değerini ekrana yaz

VERİ YAPILARI VE PROGRAMLAMA

YILDIZ TEKNİK ÜNİVERSİTESİ DERS GÖREVLENDİRME YÖNERGESİ

SÜREÇ YÖNETİMİ VE SÜREÇ İYİLEŞTİRME H.Ömer Gülseren > ogulseren@gmail.com

TS DEN TS EN 206 YA GEÇİŞLE GELEN DEĞİŞİKLİKLER

2. Söz konusu koruma amaçlı imar planı üst ölçek plana aykırı hususlar içermektedir.

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN

SR Ek 4 Değerlendirme Komitesi Tayini. Bölüm C: Diğer Bilgiler

JET MOTORLARININ YARI-DĐNAMĐK BENZETĐŞĐMĐ ve UÇUŞ ŞARTLARINA UYGULANMASI

14.8. İşyeri Temsilcileri Şube Koordinasyonu

J-GUAR İnsan Kaynakları Eğitimi. Bayi Eğitim İçeriği

-Bursa nın ciroları itibariyle büyük firmalarını belirlemek amacıyla düzenlenen bu çalışma onikinci kez gerçekleştirilmiştir.

Öğr. Gör. Cansu AYVAZ GÜVEN VERİTABANI-II. Değişken Tanımlama Ve Akış Kontrol Deyimleri

1. BÖLÜM: SOSYAL MEDYA

BİLGİSAYAR PROGRAMLARI YARDIMIYLA ŞEV DURAYLILIK ANALİZLERİ * Software Aided Slope Stability Analysis*

MAT223 AYRIK MATEMATİK

SİRKÜLER 2009 / İşsizlik Ödeneği Almakta Olan İşsizleri İşe Alan İşverenlere Yönelik Sigorta Primi Desteği

SİRKÜLER İstanbul, Sayı: 2014/026 Ref: 4/026

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

T.C. V 'V * / ANTALYA BÜYÜKŞEHİR BELEDİYESİ ANTALYA. İmar ve Şehircilik Dairesi Başkanlığı Planlama Şube Müdürlüğü

Özelge: 4632 sayılı Kanunun Geçici 1. maddesi kapsamında vakıf/sandıklardan bireysel emeklilik sistemine yapılan aktarımlarda vergilendirme hk.

Sayı: / 13 Haziran 2012 EKONOMİ NOTLARI. Belirsizlik Altında Yatırım Planları

High-Tech Port by MÜSİAD Kurumsal Kimlik Rehberi

BÖL-1B. Fatih University- Faculty of Engineering- Electric and Electronic Dept.

2007 YÖNETMELİĞİNDE TARİF EDİLEN HASAR SINIRLARININ BİNA PERFORMANS DÜZEYLERİ İLE İLİŞKİSİ

SAYISAL ELEKTRONİK BÖLÜM 6 BİRLEŞİK DEVRELER (COMBİNATIONAL)

İşletim Sistemleri. Hazırlayan: M. Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü

ÖNSÖZ...i İÇİNDEKİLER...ii 1.DİŞLİ ÇARKLAR Dişli Çarkların Güç İleten Millerin Konumuna Göre Sınıflandırılması

Her Select Case bloğu, mutlaka End Select ile bitmek zorundadır.

KONU: Gelir Vergisi Kanununda Yer Alan Had ve Tutarların 2013 Yılı Değerleri Belirlendi

Q-BIZ VIEWER KULLANIM KILAVUZU

CÜMLE BİRİMLERİ ANALİZİNDE YENİ EĞİLİMLER

BİLİŞİM TEKNOLOJİLERİ ÜÇ BOYUTLU GRAFİK ANİMASYON (3DS MAX) MODÜLER PROGRAMI (YETERLİĞE DAYALI)

Şekil 1. Sistem Açılış Sayfası

int printf (const char *format [, argument,...]);

ULUDAĞ ÜNİVERSİTESİ ELEKTRONİK MÜHENDİSLİĞİ BÖLÜMÜ ELN3052 OTOMATİK KONTROL

SİRKÜLER NO: POZ-2009 / 44 İST,

SENATO 2016/1-IV

Tarifname. MADDE BAĞIMLILIĞININ TEDAVĠSĠNE YÖNELĠK OLUġTURULMUġ BĠR FORMÜLASYON

Şekil İki girişli kod çözücünün blok şeması. Tablo İki girişli kod çözücünün doğruluk tablosu. Şekil İki girişli kod çözücü devre

Transkript:

ESKİŞEHİR OSMANGAZİ ÜNİVERSİTESİ Mühendislik Mimarlık Fakültesi İnşaat Mühendisliği Bölümü E-Posta: atopcu@ogu.edu.tr Web: http://mmf2.ogu.edu.tr/atopcu Bilgisayar Destekli Nümerik Analiz Ders notları 2014 Ahmet TOPÇU 42 PROGRAMLAR: Arama (Searching) metotları Sıralı(Sequential) arama İkili(Binary) arama Blok ikili(jump) arama

380 42. PROGRAMLAR: Arama (searching) metotları Sayısal arama: Doğrusal arama(sequential veya Linear search), İkili arama(binary search) ve Blok ikili arama(jump search) metotlarının test sonuçları ve programları aşağıda verilmiştir. Bu metotların hepsi de hemen aynı miktarda bellek kullanmaktadır. Gerçek sayılardan oluşan n elemanlı a(n) vektörü kullanılarak her metodun hızı belirlenmiştir. Aranan sayının a(n) vektöründe bulunduğu yere bağlı olarak arama yöntemleri farklı davranış sergilerler. Bu nedenle testler a(n)=[1, 2, 3,, n-1, n] sıralı vektöründe 1 ve n-1 sayısı için yapılmıştır. Eleman sayısı n=100, 200,,1000 alınarak a(n) vektörü kurulmuş, 1 veya n-1 sayısı 1000000 (bir milyon) kez aranmıştır. Aynı vektörde aynı sayının 1000000 kez aranmasının nedeni, ölçülebilir bir zaman elde etmeğe yöneliktir. Test sonuçlarının n-zaman(saniye) grafikleri izleyen sayfalarda verilmiştir. Programlarda a(n) vektörü değişkeni tek hassasiyetli(single) tanımlanmıştır. İstenirse Çift hassasiyetli veya başka bir tip olarak (DOUBLE, INTEGER, ) tanımlanabilir. Ayrıca a(n) vektörünün tamamının bellekte olduğu varsayılmıştır. Karşılaştırma: a=[1, 2,, n-1, n] sayısal vektöründe 1 sayısının aranması: 4 3 2 Sıralı arama (sequential search).7..2 4.7 İkili sıralama (Binary search) 1 4. 4.2 400 00 800 1000 n.7..2 4.7 4. 4.2 İkili blok arama (Jump search) 380

381 a=[1, 2,, n-1, n] sayısal vektöründe n-1 sayısının aranması: 140 7 120. 100 80 0 40 20 Sıralı arama (sequential search). 4. İkili sıralama (Binary search) 7. İkili blok arama (Jump search). 4. SONUÇ: En iyi arama metodu hangisidir? 1. Vektör sırasız ise ve sıralanmak istenmiyorsa: Sıralı arama kullanılır diğerleri kullanılamaz. 2. Vektör sıralı ise: İkili ve Blok ikili sıralama kullanılır. İkili arama tercih edilir. Zaman açısından ikili ve Blok ikili arama arasında hemen hiç fark yoktur. İkili aramanın programı daha basittir. 381

382 '-----------------Arama(Searching) test----------------------- ' Ahmet TOPÇU, Anadolu Üniversitesi, Eskişehir, 198 ' Eskişehir Osmangazi Üniversitesi, 2010 Arama ana programı ' Sayısal vektörlerde arama yöntemleri: ' Sıralı arama(sequential search), ikili arama(binary earch) ' a(n): Sayılar içeren vektör ' n:vektörün eleman sayısı ' Aranan: A(n) vektörü içinde aranacak değer ' index=0 aranan değer bulunamadı ' index>0 aranan değer index nolu satırda bulundu ----------- DEFINT I-N DEFSNG A-H, O-Z DECLARE FUNCTION isequentialsearch (n, a(), Aranan) DECLARE FUNCTION ibinarysearch (n, a(), Aranan) DECLARE FUNCTION JumpSearch (n, a(), Aranan) DIM i AS LONG DATA Sequential,Binary,Jump,Son ibnarysearch alt programı ' n elemanlı a vektörü oluştur: n = 10000 DIM s$(4), a(n) FOR i = 1 TO n a(i) = i Aranan = n - 1' bu değerin bulunduğu satırı bul 100 CLS RESTORE FOR i = 1 TO 4 READ s$(i) PRINT i; s$(i) PRINT INPUT "Seçenek="; isecenek IF isecenek = 4 THEN END t = TIMER SELECT CASE isecenek CASE 1 index = isequentialsearch(n, a(), Aranan) CASE 2 index = ibinarysearch(n, a(), Aranan) CASE 3 index = JumpSearch(n, a(), Aranan) CASE 4 END CASE GOTO 100 END SELECT FUNCTION ibinarysearch (n, a(), Aranan) ' a(n) sıralı vektöründe Aranan değerini arar ' a(n): küçükten-büyüğe sıralı sayılar içeren vektör ' ibinarysearch=index : Aranan değer index nolu satırda bulundu ' ibinarysearch=0: Aranan değer bulunamadı istart = 0 iend = n ' istart+1 ile iend arasında aranan değerini ara WHILE istart <= iend index = (istart + iend) / 2 ibinarysearch = index ' index nolu satırda bulundu IF a(index) > Aranan THEN iend = index - 1 istart = index + 1 WEND ibinarysearch = 0 ' bulunamadı END FUNCTION ' ibinarysearch sonu Sure = TIMER - t PRINT s$(isecenek); " Arama: " PRINT Aranan; " sayısının bulunduğu index="; index PRINT : PRINT "Süre="; Sure; "" INPUT "Enter tuşuna basınız"; z$ GOTO 100 END ' Arama test sonu 382

383 FUNCTION JumpSearch (n, a(), Aranan) ' a(n) vektöründe Aranan değerini arar JumpSearch alt programı ' a(n): sayılar içeren vektör(sıralı olması gerekmez) ' n: a vektörünün satır sayısı ' JumpSearch=index : Aranan değer index nolu satırda bulundu ' JumpSearch=0: Aranan değer bulunamadı LenBlok = n ^ (2 / 3) ibloksayisi = INT(n / LenBlok) istart = LenBlok iend = n index = 0 JumpSearch = 0 FOR i = istart TO iend STEP LenBlok IF a(i) >= Aranan THEN index = i EXIT FOR IF index = 0 THEN IF a(n) < Aranan THEN istart = ibloksayisi * LenBlok + 1 JumpSearch = index istart = (INT(iNdex / LenBlok) - 1) * LenBlok + 1 iend = index isequentialsearch alt programı ' Block içinde binary search WHILE istart <= iend index = (istart + iend) / 2 JumpSearch = index IF a(index) > Aranan THEN iend = index - 1 istart = index + 1 WEND JumpSearch = 0 END FUNCTION FUNCTION isequentialsearch (n, a(), Aranan) ' a(n) vektöründe Aranan değerini arar ' a(n): sayılar içeren vektör(sıralı olması gerekmez) ' ibinarysearch=index : Aranan değer index nolu satırda bulundu ' ibinarysearch=0: Aranan değer bulunamadı index1 = 1 index2 = n ' index1 ile index2 satırları arasında aranan değerini ara FOR index = index1 TO index2 isequentialsearch = index ' index nolu satırda bulundu Ndex isequentialsearch = 0 ' bulunamadı END FUNCTION ' isequentialsearch sonu 383