R10.NET Uygulamaları
Kullanıcılar
Yükleniyor, lütfen bekleyiniz..

    Algoritma

    Algoritma; bir işin gerçekleşmesi ya da bir problemin çözülmesi için planlanan yöntemler ve basamakların birleşimine verilen isimdir. Genelde programlama alanında ya da matematiksel problemlerin çözümünde kullanılan, başlangıcı ve bitişi açıkça belli olan işlemler bütünü olarak tanımlanır. Yapılması planlanan işin yapılabilmesi için ihtiyaç olan hareketlerin, işlemlerin ya da çalışmaların adımlar halinde düzenli olarak belirlenmesidir.

    Problem çözümünde kullanılan iki yaklaşımdan birisidir ve sezgisel çözüm yaklaşımına göre daha çok tercih edilir. Bir bilgisayar programcısı için bir programlama dilinden önce öğrenilmesi gereken konular arasında gösterilir ve programlamanın en önemli başlığı olarak tanımlanabilir.

    Tarihçe

    Bu kavram, ilk olarak 9. yüzyılda ortaya çıkmıştır ve ilk ortaya koyan Harezmi’dir. Tam adı, Ebu Abdullah Muhammed İbn Musa el Harezmi olan alim, cebir alanındaki çalışmalarını yazılı hale getirerek matematik alanına büyük katkılar verdi. Harezmi’nin dünyaca en çok bilinen ve Latince çevirileri olan kitabı; ​​Hisab el-cebir ve el-mukabala (حساب الجبر و المقابلة) ‘dır. Bu kitap aynı zamanda bilinen ilk algoritma koleksiyonu olarak tanımlanır.

    Algoritma kelimesi köken olarak ‘Algorizm’ kelimesinden gelir. Bunun sebebi, Harezmi’nin kitabının Latinceye çevirildikten sonra Avrupa’da zor telaffuz edilmesi ve Harezmi'nin ismini söyleyemeyen Avrupalıların ‘Algorizm’ olarak adlandırmasıdır. 

    Sonuç olarak Algorizm kavramı, Arap sayıları ile problem çözme anlamında kullanılmaya başlanmış olsa da zamanla bugünkü haline dönüşerek genel kapsamda kullanılmaya başlandı. Son olarak 1950’ler sonrasında özellikle bilgisayar teknolojilerinde yaşanan gelişmelerle birlikte programlama alanında hemen hemen yapılacak her işin yapılma biçimini ve yapımı için uygulanacak basamakları temsil eden bir kavram geldi.

    Algoritma oluşturma

    Algoritma, düz yazı ve anlatım biçiminde ya da akış diyagramı şeklinde olabilir. Genel olarak tercih edilen akış diyagramı şeklinde olandır. Bir süreç oluşturulabilmesi için yapılacak işi tanımlayan bazı semboller kullanılır. Özellikle bir programın geliştirilmesi ve sürecin anlaşılabilmesi açısından bu semboller büyük önem taşır.

    Bir algoritma oluşturulabilmesi için öncelikle yapılacak iş ya da problem net olarak belirlenmeli ve çözüm yöntemleri tespit edilmelidir. İşin yapılması ya da çözümün uygulanması için başlangıç hareketinden itibaren sonuca ulaştıracak tüm basamaklar uygulama sırası ile belirtilmelidir. Bu konudaki en önemli kavramlardan birisi akış şemasıdır; bir algoritmanın çözümünün, şematik olarak gösterilmesine akış şeması denilir. 

    Bazı akış şeması komutları şu şekildedir;

    • Başla-Bitir (sonlandırıcı)  
    • Input (girişler)  
    • İşlem  
    • Görüntüleme 
    • Karar  
    • Tekrarlı işlem  
    • Elle girilen değer

    Örnekler

    Örnek 1 (Gündelik kavramlar ile açıklama)

    Hedeflenen İş: Evden okula gitmek

    Başlangıç: Ev

    Bitiş: Okul

    Algoritma:

    Adım 1: Kapıyı aç
    Adım 2: Ayakkabıyı giy
    Adım 3: Kapıyı kapat
    Adım 4: Binadan çık
    Adım 5: Yoldan yürü
    Adım 6: 2. Yol ayrıma kadar yürü
    Adım 7: Sola dön
    Adım 8: Yolu bitir
    Adım 9: Okula gir.

    Örnek 2 (Programatik kavramlar ile açıklama)

    Hedeflenen İş: Kullanıcı tarafından girilen bir sayının faktöriyel değerini bulmak

    Başlangıç: Programın başlaması

    Bitiş: Sonucun gösterilmesi

    Algoritma:

    Adım 1: Programı çalıştır
    Adım 2: factorial,i ve n değişkenlerini tanımla
    Adım 3: Değişkenlerin başlangıç değerlerini tanımla
    factorial = 1
    i = 
    Adım 4: Ekrandan girilen n değerini oku
    Adım 5: (i=n) eşitliği sağlanana kadar tekrarla
    factorial = factorial*i
    i = i+1
    Adım 6: Factorial değişkeninin değerini göster

    Bazı Önemli Algoritma Çeşitleri

    • Arama algoritmaları
    • Bellek yönetimi algoritmaları
    • Bilgisayar grafiği algoritmaları
    • Birleşimsel algoritmalar
    • Çizge algoritmaları
    • Evrimsel algoritmalar
    • Genetik algoritmalar
    • Kripto algoritmaları veya kriptografik algoritmalar
    • Kök bulma algoritmaları
    • Optimizasyon algoritmaları
    • Sıralama algoritmaları
    • Veri sıkıştırma algoritmaları

    Algoritmaların Kullanım Alanları Nelerdir?

    Algoritmalar, bir veri setinde belirli bir hedefe ulaşmak için kullanılan yöntemlerdir. Örneğin, veri madenciliği algoritmaları veri setlerinde anlamlı bilgi veya gizli desenler bulmak için kullanılır. Makine öğrenimi algoritmaları, veri setlerini kullanarak modeller öğrenir ve bu modelleri sonraki veri setlerine uygulamak için kullanılır. Örneğin, bir makine öğrenimi algoritması veri setini kullanarak bir sınıflandırma modeli öğrenebilir, bu modeli sonraki veri setlerine uygulayarak yeni veri noktalarının hangi sınıfa ait olduğunu tahmin edebilir. Bunun yanı sıra, algoritmalar aşağıdaki gibi çeşitli alanlarda da kullanılabilir:

    • İmge işleme: Algoritmalar, görüntüleri işlemek ve özelliklerini belirlemek için kullanılır. Örneğin, bir imge işleme algoritması bir fotoğraftaki yüzleri tanımlayabilir ve bu yüzlerin saç rengini belirleyebilir.
    • Sosyal ağ analizi: Algoritmalar, sosyal ağ verilerini analiz etmek ve çeşitli trendleri belirlemek için kullanılır. Örneğin, bir sosyal ağ analizi algoritması bir kullanıcının arkadaş çevresini inceleyerek bu kullanıcının popülerliğini ölçebilir.
    • Veri sıkıştırma: Algoritmalar, veriyi daha küçük bir şekilde saklamak için kullanılır. Örneğin, bir veri sıkıştırma algoritması bir resmi daha küçük bir dosya boyutuna indirgemek için kullanılabilir.
    • Sıralama ve arama: Algoritmalar, veri setlerinde belirli veri noktalarını bulmak için kullanılır. Örneğin, bir arama algoritması bir veri setinde bir kelimeyi arayabilir ve bu kelimeyi içeren veri noktalarını listeleyebilir.

    Sonuç

    Bu kavram, genel anlamda yaşamın her alanında insanların karşısına çıkabilir. Çünkü algoritma kavramı, çözümden çok çözüme giden yolu temsil eder. Yapmak istenilen bir yolculuk için hazırlanan bir plan ve bir işin tamamlanması için belirlenen basamaklar temel olarak algoritmayı temsil eder. 

    Yalnız uygulanmamış ve sonuçları gözlemlenmemiş bir algoritma, patent için yasalar tarafından uygun görülmemiştir. Ancak yazılımdaki algoritmalar, bu noktada çok fazla tartışma konusu olmuştur. 

    Yazıyı Paylaş
    İçeriği Faydalı Buldunuz mu?
    Algoritma
    Algoritmaları daha kolay anlatabilmek için akış şemaları kullanılır. Algoritmaları daha kolay anlatabilmek için akış şemaları kullanılır.
    Algoritma sözcüğü Ebu Abdullah Muhammed bin Musa el Harezmi'nin Latince isminden kaynaklanır. Algoritma sözcüğü Ebu Abdullah Muhammed bin Musa el Harezmi'nin Latince isminden kaynaklanır.

    Size daha iyi hizmet sunabilmek
    için çerezleri kullanıyoruz.

    Çerez Politikası Kabul Et