P 6. Ünite stack veri tipini anlatmaktadır. p Bu ünitede stack laerin örnek uygulamalarından bahsedilmektedir. p Bu sunumda N-Queens problemini çözmek.

Slides:



Advertisements
Benzer bir sunumlar
BASKETBOL. BASKETBOL İÇİNDEKİLER TEMEL SORU ÜNİTE SORULARI İÇERİK SORULARI ÜNİTE ÖZETİ MÜFREDAT KAZANIMLARI 21.YY KAZANIMLARI TEŞEKKÜRLER.
Advertisements

Neler Öğreneceksiniz ? Windows ve temel bileşenleri,
Support.ebsco.com EBSCOhost Collection Manager Selector Accounts(Seçici Hesaplar) Kullanıcı Kılavuzu.
İSİM UZAYLARI.
DERS:Acronis true image ile full yedek almak…
    SiMETRi SiMETRi.
P p 8. Ünitede yinelemeli programlamanın teknikleri anlatılmaktadır. p p Gördüğünüz gibi, yinelemeli programlama bir problemin içinde problemin küçük parçalarını.
C++ STACK SINIFI.
Tam İkili Ağaçlar 9. Ünite ağaçlardan bahseder.
Lokal Arama Algoritmaları
BASKETBOL Hazırlayan Ayşegül YILDIZ.
ÖĞRENME FAALİYETİ 3. PARAGRAF DÜZENLEME.
Fonksiyonlar Hafta 4.
Bölüm 3 – Yapısal Programlama
Kelime Uygulama Sunumu - 12 Bu sunumdaki kelimeler… To astonish To attach To attain To attend To attribute.
Algoritmalar DERS 4 Çabuk sıralama Böl ve fethet Bölüntüler
P 2. Ünitede Nesneye Dayalı Programlama anlatılıyor. p Nesneye dayalı programlama yeni veri tiplerinin ve bu tipleri işletmek için gereken işlemleri oluşturmayı.
WİNDOWS 7 KURULUM.
Rasyonel Sayılarla Çarpma Ve Bölme İşlemi
EXCEL DE VERİ TABANI (DATABASE) İŞLEMLERİ
BASKETBOL.
 2006 Pearson Education, Inc. All rights reserved Kontrol İfadeleri: 2. Bölüm.
P Koleksiyon sınıfı bir grup öğeyi tutabilen bir veri tipidir. p Java da, koleksiyon sınıfları öğeleri ekleme,çıkarma,inceleme metodlarıyla birlikte bir.
HIZLI SIRALAMA ALGORİTMALARI(QUICK SORT)
KONU POWERPO İ NT 2010’DA AN İ MASYON HAZILAYAN Melek YILMAZ.
ANALİTİK HİYERARŞİ SÜRECİ (AHP)
JAVA’DA DİZİLER Dr.Galip AYDIN.
© Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Faiz Hesaplama Uygulaması Amaçlar Bu derste öğrenilecekler:
© Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Amaçlar Bu derste öğrenilecekler: –Uygulamaları “method”
P Önemli bir konu: önşartlar and hedefşartlar. p Bir metodun neyi netice vereceğinin belirlenmesinin yöntemleridirler. Önşartlar ve Hedefşartlar Java Kullanarak.
EXCEL 2003 Ders 2.
8 VEZİR PROBLEMİ (N QUEEN PROBLEM)
TEMEL SAYFA YAPISI İŞLEMLERİ
VLC MEDİA PLAYER.
SEVCAN TOPÇU TÜRKÇE ÖĞRETMENLİĞİ-2. 1.Word2010 Üstbilgi ve Altbilgi Tanımı 2.Word2010 Üstbilgi ve Altbilginin Yararı ve önemi 3.Word2010 Üstbilgi.
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Temel Bilgisayar Bilimleri Dersi
Strateji Oyunları.
Veri Madenciliği Birliktelik Analizi: Temel Kavramlar ve Algoritmalar
DÜŞÜN, HAYAL ET Imagine there’s no heaven,it’s easy if you try DÜŞÜN Kİ CENNET DİYE BİRŞEY YOK, BÖYLE DÜŞÜNMEYİ BİR DENE.
Doğal Sayılarda Toplama Ve Çıkarma İşlemi
NORTON GHOST. O Windows isletim sistemi kullananlar bilirler.Kısa bir sure sonra windows yavaslamaya, hata mesajları vermeye baslar. Tek care var o da.
Learning to learn network for low skilled senior learners ÖĞRENCİ Mİ? EVET, O BENİM! Learning to Learn Training Hafıza performansınızı geliştirmek Developed.
Bölüm10 İteratif İyileştirme Copyright © 2007 Pearson Addison-Wesley. All rights reserved.
İbrahim Olgaç PROGRAMLAMA DİLLERİ SUNUMU C#
This is beak. There are feet. There are wings. There are eyes. This is tongue.
Students social life and join the social clubs. BARIŞ KILIÇ - EGE DÖVENCİ IŞIK ÜNİVERSİTESİ
Algoritma ve Programlama
ITEC186 Bilgi Teknolojilerine Giriş
İSTATİSTİK II Hipotez Testleri 3.
İSTATİSTİK II Hipotez Testleri 3.
Algoritmalar II Ders 1: Alan zaman takası yöntemi.
ENGiNHoCa KLAVYE.
Neler Öğreneceksiniz ? Windows ve temel bileşenleri,
İleri Algoritma Analizi
ETwinning Nedir?. Türkiye’de 81 ilin katılımıyla yürütülen 1.Projemiz.
İleri Algoritma Analizi
JAVA’DA DİZİLER. Özet  Dizi: belirli sayıda ve aynı veri türünden de ğ işkenlere aynı adla erişilmesini sa ğ layan bir yapıdır.  Dizilerde döngü işlemleri.
İSTATİSTİK II Hipotez Testleri 1.
Recursion (Özyineleme)
İleri Algoritma Analizi
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
İSTATİSTİK II Hipotez Testleri 3.
Imagine that you are a teacher and you are taking your 20 students to England for the summer school.
SUBJECT NAME Prepeared by Write the names of group members here
NİŞANTAŞI ÜNİVERSİTESİ
Bölüm 5 Azalt ve yönet (Decrease-and-Conquer)
Sunum transkripti:

p 6. Ünite stack veri tipini anlatmaktadır. p Bu ünitede stack laerin örnek uygulamalarından bahsedilmektedir. p Bu sunumda N-Queens problemini çözmek için geriye gitme denen başka bir kullanım şeklinden bahsedeceğiz. Bir Stack’in Kullanımı Java Kullanarak Veri Yapıları ve Veri Yapıları ve Diğer Nesneler

N-Queens Problemi p Farzedelim ki 8 tane satranç taşınız var... p...ve bir satranç tahtası

N-Queens Problemi İki taş birbirine isabet etmeyecek şekilde taşları tahtaya yerleştirebilir misiniz? ?

N-Queens Problemi İki taş aynı satırda olmayacak..

N-Queens Problemi İki taş aynı satırda veya aynı sütunda olmayacak..

N-Queens Problemi İki taş aynı satırda veya aynı sütunda veya aynı köşegen üzerinde olmayacak.

N-Queens Problemi Taşların sayıları ve tahtanın boyutu değişebilir. N Taş N sütun N satır

N-Queens Problemi N tane taşı N x N boyutunda bir tahtaya yerleştirecek bir yöntem bulmaya çalışan bir program yazacağız.

Program nasıl çalışır Program herbir taşın nerede olduğunu tutnak için bir stack kullanır.

Program nasıl çalışır Program tahtaya bir taş yerleştirmeye her karar verişinde,yeni taşın pozisyonu stack’teki bir kayıtta tutulur. 1.SÜTUN,1.SATIR

Program nasıl çalışır Aynı zamanda şimdiye kadar dolan satır sayısını tutan bir kaydımız da var. 1.SÜTUN,1. SATIR 1 dolu

Program nasıl çalışır Bir sonraki satıra her yeni bir taş yerleştirdiğimizde, taşı ilk sütundan başlayarak yerleştiriyoruz.. 1.SATIR,1.SÜTUN 1 dolu 2. SATIR,1.SÜTUN

Program nasıl çalışır...eğer bir başka taşla çakışıyorsa, taşı bir sonraki sütuna kaydırıyoruz. 1.SATIR,2.SÜTUN 1 filled 2.SATIR,2.SÜTUN

Program nasıl çalışır Eğer yine çakışma varsa, tekrar sağa doğru kaydırıyoruz. 1.SATIR,1.SÜTUN 1 dolu 2.SATIR,3.SÜTUN

Program nasıl çalışır Eğer çakışma yoksa duruyoruz ve dolunun değerini 1 arttırıyoruz. 1.SATIR,1.SÜTUN 2 dolu 2.SATIR,3.SÜTUN

Program nasıl çalışır 3. satıra bakalım.ilk denediğimiz pozisyonda çakışma var... 1.SATIR,1.SÜTUN 2 dolu 2.SATIR,3.SÜTUN 3.SATIR,1.SÜTUN

Program nasıl çalışır...böylece ikinci sütuna kaydırıyoruz. Fakat başka bir çakışma çıkıyor karşımıza. 1.SATIR,1.SÜTUN 2 dolu 2.SATIR,3.SÜTUN 3.SATIR,2.SÜTUN

Program nasıl çalışır...ve üçüncü sütuna kaydırıyoruz.Baş ka bir çakışma meydana çıkana kadar. 1.SATIR,1.SÜTUN 2 dolu 2.SATIR,3.SÜTUN 3.SATIR,3.SÜTUN

Program nasıl çalışır...ve 4.sütuna kaydırıyoruz.4. sütunda hâlâ bir çakışma var,dolayısıyla tekrar sağa kaydırmayı deniyoruz.. 1.SATIR,1.SÜTUN 2 dolu 2.SATIR,3.SÜTUN 3.SATIR,4.SÜTUN

Program nasıl çalışır...fakat başka gidecek yer yok. 1.SATIR,1.SÜTUN 2 dolu 2.SATIR,3.SÜTUN 3.SATIR,4.SÜTUN

Program nasıl çalışır Bir satırda gidecek yerimiz kalmayınca: p En üsttekini stack’ten al p dolu’yu 1 azalt p Ve bir önceki satır üzerinde çalışmaya devam et. 1.SATIR,1.SÜTUN 1 filled 2.SATIR,3.SÜTUN

Program nasıl çalışır Şimdi 2. satır üzerinde çalışmaya devam ediyoruz,taşı sağa doğru kaydırıyoruz. 1.SATIR,1.SÜTUN 1 dolu 2.SATIR,4.SÜTUN

Program nasıl çalışır Bu pozisyonda hiçbir çakışma yok,dolayısıyla dolu nun değerini 1 arttırabiliriz,ve 3. satıra geçebiliriz. 1.SATIR,1.SÜTUN 2 dolu 2.SATIR,4.SÜTUN

Program nasıl çalışır 3. satırda tekrar ilk sütundan başlıyoruz. 1.SATIR,1.SÜTUN 2 dolu 2.SATIR,4.SÜTUN 3.SATIR,1.SÜTUN

N-Queens için yalancı kod ŒKararlarımızı kaydedebileceğimiz bir stack başlat. İlk taşı yerleştir,pozisyonunu stack’in en üstü olarak ayarla,dolu değerini 0 a eşitle. Bu basamakları tekrarla p Eğer taşlar arasında hiç çakışma yoksa.. p Eğer çakışma varsa ve taşı sağa doğru kaydırmak için yer varsa.. p Eğer bir çakışma varsa ve taşı sağa kaydırmak için yer yoksa..

N-Queens için yalancı kod ŽBu basamakları tekrar et p Eğer taşlarla ilgili hiç bir çakışma yoksa.. dolu değerini 1 arttır. Eğer dolu değeri N ise, algoritma olmuştur. Değilse,bir sonraki satıra geç ve taşı ilk sütuna koy.

N-Queens için yalancı kod ŽBu basamakları tekrar et p Eğer taşlarla ilgili hiç bir çakışma yoksa.. p Eğer bir çakışma varsa ve taşı sağa kaydıracak kadar yerimiz varsa.. Yeni pozisyonu belirlemek için stack’in en üstündeki kaydı ayarlayarak elindeki taşı sağa kaydır,

N-Queens için yalancı kod ŽBu basamakları tekrar et p Eğer taşlarla ilgili hiçbir çakışma yoksa... p Eğer bir çakışma varsa ve taşı sağa kaydıracak kadar yerimiz varsa.. p Eğer bir çakışma varsa ve taşı sağa kaydırmak için yer yoksa.. Geridön! Stack’i doldurmaya devam et, taşı sağa hareket ettirebileceğin bir satır bulana kadar, her doldurulan icin eleman 1 azalt.

N-Queens için yalancı kod ŽBu basamakları tekrar et p Eğer taşlarla ilgili hiçbir çakışma yoksa... p Eğer bir çakışma varsa ve taşı sağa kaydıracak kadar yerimiz varsa.. p Eğer bir çakışma varsa ve taşı sağa kaydırmak için yer yoksa.. Geridön! taşı sağa kaydırabileceğin bir satıra ulaşıncaya kadar stack i doldurmaya devam et, ve dolu değerini 1 azalt,taşı sağa kaydır

Programın çalışmasını izleme Programın demosunu görmek için farenin sol düğmesini çift klikleyin:

p Birçok stack uygulaması vardır. p Bizim gösterdiğimiz uygulamanın adı backtracking. p Backtracking için anahtar: Her seçim bir stack içinde kaydediliyor. p Elinizdeki karar için seçenekler bittiyse,stack’in üstündekini alın,bir önceki karar için farklı seçenkeler deneyin. Özet

SON Presentation copyright 1999, Addison Wesley Longman, For use with Data Structures and Other Objects Using Java by Michael Main. Some artwork in the presentation is used with permission from Presentation Task Force (copyright New Vision Technologies Inc) and Corel Gallery Clipart Catalog (copyright Corel Corporation, 3G Graphics Inc, Archive Arts, Cartesia Software, Image Club Graphics Inc, One Mile Up Inc, TechPool Studios, Totem Graphics Inc). Students and instructors who use Data Structures and Other Objects Using Java are welcome to use this presentation however they see fit, so long as this copyright notice remains intact.