Tüm Algoritma Türleri

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    SinusX
    SinusX's avatar
    Kayıt Tarihi: 14/Aralık/2010
    Erkek

    Ondan önce bi yapısal ingilizce anlatılmalı algoritmalar için 

     

    i=0

    while i to 10

    print "bilmem ne " gibi 

     

    Mesela bubble sort : 

     

    procedure bubbleSort( A : list of sortable items )

       n = length(A)

       repeat

          swapped = false

          for i = 1 to n-1 inclusive do

             if A[i-1] > A[i] then

                swap(A[i-1], A[i])

                swapped = true

             end if

          end for

          n = n - 1

       until not swapped

    end procedure


    Si vis pacem para bellum.
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    wasd
    wasd's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek

    x3uqm4 bunu yazdı:
    -----------------------------

    konudan bişey anlasaydık yazardıkta.. ne istediğini anlayabilmiş değilim. örnek bişey koy bi tane.


    -----------------------------

    Ya mesela sıralama algoritmaları dediğimiz şey sıralama yapmak için geliştirilmiş teorilerdir.

    misal

    http://en.wikipedia.org/wiki/Bubble_sort

    Bu kabarcık sıralama. Bi başka sıralama algoritmasında farklı bi yoldan sıralama yapılır,herbirinin avantajları ve dezavantajları vardır.

    Bunun gibi temel işlemlerde(arama,sıralama bunlar kullanılan şeyler) amerikayı yeniden keşfetmeye çalışmak yerine bu hazır algoritma bilgileri kullanılır. Olay kod değil algoritma olduğu için her dilde kodlamasınıda rahatça yaparsın :)


    :)
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    tutkun
    tutkun's avatar
    Kayıt Tarihi: 20/Mayıs/2010
    Erkek

    SinusX bunu yazdı:
    -----------------------------

    Ondan önce bi yapısal ingilizce anlatılmalı algoritmalar için 

     

    i=0

    while i to 10

    print "bilmem ne " gibi 

     

    Mesela bubble sort : 

     

    procedure bubbleSort( A : list of sortable items )

       n = length(A)

       repeat

          swapped = false

          for i = 1 to n-1 inclusive do

             if A[i-1] > A[i] then

                swap(A[i-1], A[i])

                swapped = true

             end if

          end for

          n = n - 1

       until not swapped

    end procedure


    -----------------------------

     

    Üstad, yapısal ingilizce felan bilmiyoruz. Biz ingilizce de bilmiyoruz zaten. Sen bizim anlayabileceğimiz şekilde anlatabilirsen çok iyi olur. Ya da yapısal ingilizce dediğin şeyi bir açıklayabilir misin?


    Bilen konuşmuyor, konuşan bilmiyor...
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    SinusX
    SinusX's avatar
    Kayıt Tarihi: 14/Aralık/2010
    Erkek

    tutkun bunu yazdı:
    -----------------------------

    Üstad, yapısal ingilizce felan bilmiyoruz. Biz ingilizce de bilmiyoruz zaten. Sen bizim anlayabileceğimiz şekilde anlatabilirsen çok iyi olur. Ya da yapısal ingilizce dediğin şeyi bir açıklayabilir misin?


    -----------------------------

    algoritamalar açıklanırken kullanılıyor bu yapısal ingilizce 

    işin aslı herhangi bi programlama dilini kullanmamak için uydurulan bişey genelleme gibi az çok basic diline benziyor 

    mesela wikipediada bi algoritma arattığında (ben binary search arattırdım)

    http://en.wikipedia.org/wiki/Binary_search_algorithm

     min := 1;
      max := N; {array size: var A : array [1..N] of integer}
      repeat
        mid := (min+max) div 2;
        if x > A[mid] then
          min := mid + 1;
        else
          max := mid - 1;
      until (A[mid] = x) or (min > max);
     
     
    Şöyle bişey görürsün algoritmayı anlaman içinde az çok bu kelimeleri kullanman gerekiyor 
     
    şurdada açıklaması var 
    http://en.wikipedia.org/wiki/Structured_english
    
     
    ama özeti yaklaşık olarak o adım adım burda bunu yap şurda şunu yap yerine bu kullanılıyor 

    Si vis pacem para bellum.
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Media
    Media's avatar
    Kayıt Tarihi: 08/Mayıs/2007
    Erkek

    algoritma mantık yolu değil mi ya ? bu burdan şu şurdan yani ihtiyaçtır algoritma,  paylaşımı nasıl olsun ki anlamadım lan saf yapıyorum =)


    ....
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    All hail to Tux
    sandman
    sandman's avatar
    Kayıt Tarihi: 01/Eylül/2005
    Erkek

    Yapısal ingilizceden kasıt birinin pseudo code anlatması lazım diyor.İşin ucunda biri C ile kod yapıştırsa başkası Pascal olmaz.


    Mühendis kahveyi projeye dönüştüren bir insan evladıdır.
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    SinusX
    SinusX's avatar
    Kayıt Tarihi: 14/Aralık/2010
    Erkek

    sandman bunu yazdı:
    -----------------------------

    Yapısal ingilizceden kasıt birinin pseudo code anlatması lazım diyor.İşin ucunda biri C ile kod yapıştırsa başkası Pascal olmaz.


    -----------------------------

    Evet gidipte birisi şimdi burda pascaldan bi algoritma verirse C ile yazıcak olan adam anlayamaz belki 

    Onun yerine şöyle yapsak yapısal türkçe yazalım algoritmaları :))

    mesela en basitinden ifade 1 se toplama 2 ise çıkarma yaptırsak

     

    Eğer x = 1 ise

    sonuc = sonuc + 1

    Eğer Son

    Eğer x = 2 ise

    sonuc = sonuc - 1

    Eğer Son 

     

    gibi bakarsın tutarda yerli yazılımcılar bunu kullanır artık :)


    Si vis pacem para bellum.
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    musdawdaf
    musdawdaf's avatar
    Kayıt Tarihi: 01/Ağustos/2006
    Erkek

    Bir sürü notum var ama o kadar el yazmasını kim yazacak buraya en fazla taratır koyarım

  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    DuPi
    DuPi's avatar
    Kayıt Tarihi: 21/Ağustos/2005
    Erkek

    Madem anlamayacaksınız gereksiz yazmayın. Bence mükemmel bir konu,

    bir örnek vermek gerekirse, Oyun yazmayı her programcı istemiştir. 2 Boyutlu Mario tarzı oyunlarda karakterin hareket etmesi için sprite denilen

    resimlerden faydalanılır. Bir karakteri yürütmek Delphide çok rahat kod yazabilir burda paylaşabilirim. Ama bunu sadece delphiden anlayanlar anlayacaktır.

    Fakat onun yerine;

    aşağıdaki çizimi kağıt olarak düşünün,

    |----|----|----|----|----|----|

    | A  | B  |  C  | D  |  E |  F  |

    |----|----|----|----|----|----|

    Her harfi hareketin bir kısmı olarak düşünün

    ÖRN : http://www.aniway.com/examples/character/Sprites.gif

     

    resmin Genişliği 60 x Yüksekliği 10 olsun yani 60x10 her hareket için 10x10 luk bir resim birimi göstermek yeterli

    o zaman hareketi yapacak koda;

    ----

    hareket kodu başlasın

    ilk 10*10'luk birimi göster,

    20*10'luk birimi göster

    30*10'luk birimi göster

    ..

    ..

    Son olarak Hareket biteceği için

    10x10luk birimi göster

    ----

    Bunu koda dökebiliriz. ama bu şekilde her programcı kodlayabilecektir.

    Lütfen konunun değerini anlayınız.


    Ne zaman birşey öğrenmek istesem, Birden Vaktim Kalmıyor ?
  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    XCoder
    XCoder's avatar
    Kayıt Tarihi: 15/Haziran/2007
    Erkek

    Merhaba müridler, konu çok güzel. 

    Geçen gün kodladığım asal sayı algoritmamın C++ kodunu paylaşıyorum:

    Öncelikle kodun amacını açıklayayım, verdiğiniz üst limite kadar olan tüm asal sayıları bulur.

    Örneğin ben bu kodu 2000000'a kadar olan bütün asal sayıları bulmak için yazdım.

    Kod gerçekten çok hızlı çalışmakta, standart ve herkesin yazdığı, bir sayının asal sayı olup olmadığını tespit etmek için o sayının kendinden küçük (1 hariç) sayılara bölünebilirliğini kontrol etmiyor. Bölünebilirlik kontrol edildiği takdirde işlem süresi 5-6 dk civarlarına çıkıyor.

    Benim yazdığım kodda ise sadece 1 saniye sürüyor. 

    Herhangi bir programlama dilini orta seviyede bilen bir kişi kodu zaten anlayacaktır ama ben yine de herkes için izah edeyim:

    Öncelikle Eratosthenes Kalburu (Sieve of Eratosthenes) kavramını bilmek gerekiyor, bu kavramda asal sayıları bulmak için sırayla sayıları yazıyoruz. Ardından sırayla seçip, seçilen sayının katlarını listeden çıkartıyoruz.

    Kodda yaptığım işlem aynen bu. Ek olarak yazdığım prog. gereği 2'den üst limite (2 milyon) kadar olan sayıları önce bir vector'e atıyorum. Daha sonra bu sayılara kalbur işlemini uyguluyorum ve elimde kalan sayıları topluyorum. Böylece 2 milyon'a kadar olan asal sayıların toplamını elde etmiş oluyorum.

    vIntegers : 2'den 2 milyon'a kadar tüm tamsayıların bulunduğu vector.

    Anlaşılmayan bir kısım varsa yine anlatabilirim.

    Kolay gelsin..

    void executeSieve()
    {
    
    	for (int i = 0; i < (int)(sqrt((double)vIntegers.size()) + 1); i++)  //maksimum limit'in karekökünden daha ileri sayıları denemeye gerek yok
    	{
    		if (vIntegers[i])
    		{
    			for (int j = i + vIntegers[i]; j < vIntegers.size(); j += vIntegers[i])
    			{
    				vIntegers[j] = 0;
    			}
    		}
    	}
    }

    The ability to destroy a planet is insignificant next to the power of the force.
Toplam Hit: 4790 Toplam Mesaj: 23