Anasayfa / Algoritma / Algoritma Nedir? Algoritma Çeşitleri
algoritma nedir

Algoritma Nedir? Algoritma Çeşitleri

Algoritma kelime anlamı olarak, herhangi bir sorunun çözülmesinde takip edilecek yol ve yöntemlere bağlı olarak, çözümü gerçekleştirmek için ortaya konulan adımların bütününe verilen genel bir isimdir. Programlama ile uğraşanlar içinse bu kelime, yazılım geliştirme süreci içerisinde karşılaşılan problemleri basite indirgeyerek, çözümü adım adım ortaya koymak ve bir programlama dili yardımıyla kodlamak anlamına gelmektedir.

Algoritma denildiğinde, tek bir problemi çözecek davranışın yoruma mahal vermeden ortaya konulması akla gelmelidir. Örneğin bir küme içerisindeki verilerin sıralanması bir algoritmadır, aynı küme içerisindeki bir veriyi arama işlemi ise farklı bir algoritmayı oluşturur. Ancak tüm bu algoritmaları içerisinde barındırıp, kullanıcıların gereksinimini karşılayacak bir çözüm üretildiğinde ise buna program veya yazılım adı verilmektedir.

Bir programın tasarlanması ne kadar zor ve zaman alıcı görünse de, karşılaşılacak problemlerin çözümü algoritmik olarak ifade edildiğinde programın kodlama kısmı oldukça basit hale indirgenir. Program tasarlanırken, kullanılacak veri yapısı ve algoritmalar doğrudan doğruya uygulamaya bağlıdır. Programcı çözüme ulaşmak için var olan algoritmaları kullanabileceği gibi, ihtiyaca göre yeni algoritmalarda oluşturabilir. Bazı durumlarda aynı problemin çözümüne yönelik çok farklı çözümler ortaya atılmıştır, bunlar içerisinden en uygun olanı tespit etmek, uygulamanın yapısına ve programcının bilgi birikimine bağlı olarak değişiklik gösterir. Uygun algoritma ve model tespit edilmeden başlanan projelerde, kullanılacak programlama diline ne kadar hakim olunursa olunsun birçok problem yaşanması yazılım dünyasında sıkça görülen bir durumdur.

Yazılım geliştirilirken birçok algoritmaya ihtiyaç duyulur. Örnek verecek olursak;

Algoritma Çeşitleri

Arama Algoritmaları (Searching Algorithms):

Bu algoritmalar bilgi kümesi içerisinde belirli anahtar kelimelere dayanılarak, onunla ilgili diğer bilgilere erişmeyi amaçlar. Büyük miktarda verinin depolandığı alanlarda istenen bilgiye en kısa sürede erişmek için geliştirilen algoritmalardır. Örnek olarak ardışıl arama, ikili arama, çırpı fonksiyonu gösterilebilir.

Sıralama Algoritmaları (Sorting Algorithms):

Verilerin belirli kriterler göz önünde bulundurularak, anlamlı ve sıralı şekilde sunulmasını sağlayan algoritmalardır. Verilerin sıralı olması bilgiye erişimi kolaylaştırılır ve işlemlerin daha hızlı yapılmasını sağlar. Bu algoritmaya hızlı sıralama, kabarcık sıralama, seçmeli sıralama örnek verilebilir.

Graf Boyama Algoritmaları (Graph Algorithms):

Graf bir olay veya ifadenin düğüm ve çizgiler kullanılarak gösterilmesine olanak sağlayan bir veri modelidir. Eğer bir problem graf veri modeli şekline benzetilebiliyorsa, probleme algoritmik bir bakış açısı sağlanır ve bu veri modelinde tanımlanmış olan teoriler, algoritmalar ve fonksiyonlar çözüm de kullanılabilir. Bu algoritma gezgin satıcı ve en kısa yolun bulunması gibi problemlere hızlı çözümler sunmaktadır.

Genetik Algoritmalar (Genetic Algorithms):

Genetik algoritmalar problemlerin çözümü için evrimsel süreci bilgisayar ortamında taklit ederek, tek bir çözüm sunmak yerine farklı çözümlerden oluşan bir çözüm kümesi üretirler. Problemlerin matematiksel bir metotla çözülemediği karmaşık sistemler içerisinde sıklıkla kullanılırlar. Ders dağıtım programları, finansal işlemler ve üretim analizi gibi birçok uygulama alanı mevcuttur.

Sıkıştırma Algoritmaları (Compression Algorithms):

Bilgisayar ortamında saklanan verilerin, orjinalini kaybetmeden bellek üzerinde daha az yer kaplayacak şekilde kodlanması işlemini gerçekleştiren algoritmalardır. Sıkıştırma teknikleri genel olarak kayıplı ve kayıpsız olmak üzere iki sınıfta toplanırlar. Günümüzde resim, ses, video, metin gibi tüm veri kümeleri çeşitli yöntemlerle sıkıştırılabilmektedir.

Şifreleme Algoritmaları (Cryptography Algoritms):

Verileri aritmetiksel, mantıksal, karıştırma gibi yöntemlere tabi tutarak yetkisiz kişilerden saklamaya yarayan algoritmalara verilen isimdir. Şifreleme günümüzde veri güvenliğinin öneminin artmasıyla kriptoloji adında başlı başına bir alan haline dönüşmüştür. Şifreleme algoritmalarına örnek olarak Des, Md5, Rsa, Aes, 3Des örnek olarak gösterilebilir.

Algoritma çeşitleri yukarıdakiler ile sınırlı olmamakla birlikte, en çok kullanılan algoritmaları başlıklar halinde sıralamaya çalıştım.

İlginizi Çekebilir!

c# kabarcık sıralama

C# ile Kabarcık Sıralama (Bubble Sort) Algoritması

Dizi elemanlarını sıralamak için birçok algoritma bulunmaktadır. Bu algoritmalar arasında kolay olması nedeniyle en çok ...

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir