İkili Arama Tekniği Nedir?
-
http://www.bilgekunduz.org/wp-content/uploads/2016/11/FINAL-7-8-sinif-yanitlar-2016.pdf
arkadaşlar burdaki ilk sorunun mantığını ben anlamadım.
wiki linki ermiş ama onuda anlamadım.
bana denizli gibi geliyor doğru cevap ama cevap a
ve açıkladığı halde anlayamadığım gibi 8. sınıf sorusu diyor
canım sıkıldı:)
-
bu 52 kişi bunumu yapamadı bu patates kafa deyip çıkıp gidiyormu?
yoksa sizdemi yapamadanız bir fikir birşey söyleyin :)
-
ilk soruyu hiç anlamadım bile cevapla bağdaştıramadım. benim kafa basmıyor. mat lazım sanırm hem mat hem açık göz
-
Sayısal analizdeki Newton Yarılama yöntemi sanırım.. kök bulmak için..
Bu olayda kilit nokta gerçek kaşıkçı elmasını görn son kişiyi bulmak..
2000 kişinin ortası 1000. kişi
1000ci kişi yuvarlak dediyse hırsızlık onda ya da daha önce olmuştur damla şeklindeyse sonraki 1001-200 arasında bu gibi yarılamalarla sonuca daha çabuk gidilir
-
şöyle hocam elinde zaten sıralı bişey olduğu için aradığın nesneyi bulmak için ortadakine soruyorsun eğer cevap küçükse önceki sıralanana büyükse sonraki vatandaşlara bakıyorsun, böyle böyle yarıladıkça hırsızı buluyorsun yanlız çözümü sanki yanlış yazmışlar gibi orda hırsız hariç herkez yuvarlak demiyecek hırsız elması çaldığı saate kadar herkez (hırsız dahil) kaşık şeklinde dyecek sonrası yuvarlak diyecek yani sıralanmış rakamları düşün 2000 e kadar sıralanmış bu rakamlar sen 333 ü bulmak istiyorsun önce ortaya soruyorsun bu adam üstte mi altta mı diye o şekilde sayıların yarısını elemiş diğer yarısıyla oynamaya başlıyorsun sayı tahmin oyunları gibi aynı
-
Bu ikili arama gibi durmuyor:) İkili arama için sıralı değerler olması lazım. Örneğin 10,20,30,40,50,60,70,80....10000 dizisinde 760'ı bulmak gibi. Sorudaki durum şu şekilde x[1000]={0, 0, 0, 0, ... 0, 1] Yani 1'i arıyoruz (mantıken şöyle olmalı aslında, elmas köşeli diyen son eleman hırsız, çünkü hırsız değiştirdikten sonra görenler hep yuvarlak diyecekler).
Yaptığımız iş şu:
1'i arıyoruz.
1000 elemanlık dizinin ortasındaki elemana bakıyoruz (500'üncü eleman). Eğer ortadaki değer istediğimiz değerden büyükse (istediğimiz değer 1, dizide 0 olacak) dizinin sol tarafını [0-499], küçükse sağ tarafını [501-1000] alıyoruz. Yeni dizilerimizin ortasındaki elemanı alıyoruz ve bakıyoruz küçükse-büyükse diye. büyükse yine sol tarafını, küçükse sağ tarafını alıp ortadakine bakma işlemini sürdürüyoruz.
Görseller için http://bilgisayarkavramlari.sadievrenseker.com/2009/12/21/ikili-arama-algoritmasi-binary-search-algorithm/ adresine bakabilirsin.
-
sercoo bunu yazdı
şöyle hocam elinde zaten sıralı bişey olduğu için aradığın nesneyi bulmak için ortadakine soruyorsun eğer cevap küçükse önceki sıralanana büyükse sonraki vatandaşlara bakıyorsun, böyle böyle yarıladıkça hırsızı buluyorsun yanlız çözümü sanki yanlış yazmışlar gibi orda hırsız hariç herkez yuvarlak demiyecek hırsız elması çaldığı saate kadar herkez (hırsız dahil) kaşık şeklinde dyecek sonrası yuvarlak diyecek yani sıralanmış rakamları düşün 2000 e kadar sıralanmış bu rakamlar sen 333 ü bulmak istiyorsun önce ortaya soruyorsun bu adam üstte mi altta mı diye o şekilde sayıların yarısını elemiş diğer yarısıyla oynamaya başlıyorsun sayı tahmin oyunları gibi aynı
Dostum.. adam için "hırsız" sıfatı kullnaılmış.. yalancı olduğuna dair bir idda yok .. reca ederim :)
-
ltcelik bunu yazdısercoo bunu yazdı
şöyle hocam elinde zaten sıralı bişey olduğu için aradığın nesneyi bulmak için ortadakine soruyorsun eğer cevap küçükse önceki sıralanana büyükse sonraki vatandaşlara bakıyorsun, böyle böyle yarıladıkça hırsızı buluyorsun yanlız çözümü sanki yanlış yazmışlar gibi orda hırsız hariç herkez yuvarlak demiyecek hırsız elması çaldığı saate kadar herkez (hırsız dahil) kaşık şeklinde dyecek sonrası yuvarlak diyecek yani sıralanmış rakamları düşün 2000 e kadar sıralanmış bu rakamlar sen 333 ü bulmak istiyorsun önce ortaya soruyorsun bu adam üstte mi altta mı diye o şekilde sayıların yarısını elemiş diğer yarısıyla oynamaya başlıyorsun sayı tahmin oyunları gibi aynı
Dostum.. adam için "hırsız" sıfatı kullnaılmış.. yalancı olduğuna dair bir idda yok .. reca ederim :)
adam kendini saklamak istiyor olabilir hocam :D
-
YeniHarman bunu yazdı
Bu ikili arama gibi durmuyor:) İkili arama için sıralı değerler olması lazım. Örneğin 10,20,30,40,50,60,70,80....10000 dizisinde 760'ı bulmak gibi. Sorudaki durum şu şekilde x[1000]={0, 0, 0, 0, ... 0, 1] Yani 1'i arıyoruz (mantıken şöyle olmalı aslında, elmas köşeli diyen son eleman hırsız, çünkü hırsız değiştirdikten sonra görenler hep yuvarlak diyecekler).
Yaptığımız iş şu:
1'i arıyoruz.
1000 elemanlık dizinin ortasındaki elemana bakıyoruz (500'üncü eleman). Eğer ortadaki değer istediğimiz değerden büyükse (istediğimiz değer 1, dizide 0 olacak) dizinin sol tarafını [0-499], küçükse sağ tarafını [501-1000] alıyoruz. Yeni dizilerimizin ortasındaki elemanı alıyoruz ve bakıyoruz küçükse-büyükse diye. büyükse yine sol tarafını, küçükse sağ tarafını alıp ortadakine bakma işlemini sürdürüyoruz.
Görseller için http://bilgisayarkavramlari.sadievrenseker.com/2009/12/21/ikili-arama-algoritmasi-binary-search-algorithm/ adresine bakabilirsin.
Eyvallah. Senin dedigini anladim simdi ve mantikli geldi.
Ben hirsizin degistirdikten sonrs digerlerinin degistigi sekilde gorecegini dusunmeyi es gecmisim. Dusunememisim.
Ben 2000 kisi arasinda birini ariyoruz 2000 de bir ihtimal gibi yorumlamistim. Evet verilen cevaba gore sagdan yada soldan ikiye bolmek cozume ulastiriyor. Gayet mantikli :)
-
Bu arada c# ile bir haftafir filan ortalama gunde 2 3 saat hem birseyler izleyip okuyup hemde basit sorulari kagit kalem ile dusunerek birseyler yapmaya calisiyorum.
Cok cok cok keyifli birseymis.
Yazilimci filan olmayan kisiler bile biraz ustune dusup basit problemleri sudoku niyetine cozebilirler. Inanilmaz keyifli.
:)
-
çocuk yaşımdan beri aklından bir sayı tut oyununda tutulan sayıyı bulmak için kullandığım algoritmanın adı ikili arama tekniğiymiş. (programlama ile ilgim bu - temsili)
