Algoritma

Belirlenmiş bir sorunu çözmek veya bir amaca ulaşmak için iyi tanımlanmış eylemler dizisidir. 

Bir bilgisayar programını ayrıntılı bir algoritma olarak düşünebiliriz. Matematik ve bilgisayar biliminde algoritma genel olarak tekrarlayan bir sorunu çözen küçük prosedür anlamına gelir. 

Bilgi Teknolojisi alanında algoritmalar yaygın olarak kullanılmaktadır. Örneğin,  bir arama motoru algoritması girdi olarak anahtar sözcükleri ve operatörlerin dizilerini alır sonrasında ilgili web sayfaları için ilişkili veritabanı arar ve sonuçlarını döndürür. 

Algoritmaların Özellikleri

İyi tanımlanmış algoritmaların sahip olması gereken bazı özellikler vardır. Algoritmanın algoritma olması için aşağıdaki 5 özellik sağlanmalıdır.

 

  1. Girdi ve çıktı olmalı.
  2. Kesinlik
  3. Verimlilik
  4. Sonluluk
  5. Başarım ve Performans

 

Bazı Önemli Algoritma Türleri

 

Arama Algoritmaları (Searching Algorithms):

Arama algoritmaları, bir veri kümesinde istenilen özelliklere göre istenilen verileri bulmak için kullanılan algoritmadır. 

Bilgisayar biliminde bir veriyi ararken hızlı bir uygulama ile daha yavaş bir uygulama arasındaki temel fark genellikle uygun arama algoritmasının kullanılıp kullanılmamasına bağlıdır.

 

Sıralama Algoritmaları (Sorting Algorithms):

Sıralama algoritmaları, bir listenin öğelerini alfabetik veya en yüksekten en düşüğe gibi belli bir sıraya göre yeniden düzenlemek ve sıralamak için kullanılan algoritmalardır.

 

Şifreleme Algoritmaları (Encryption Algorithms):

Şifreleme algoritmaları, bir veriyi şifreli bir metne dönüştürmek için kullanılır. Algoritma, verileri öngörülebilir bir şekilde değiştirmek için şifreleme anahtarını kullanır böylece şifrelenmiş veriler rastgele görünse bile şifre çözme anahtarı kullanılarak düz bir metne dönüştürülebilir. 

 

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

Sıkıştırma algoritmaları, verileri temsil eden bayt sayısını depolamak için gereken bellek miktarını azaltmak için kullanılır. Dosyaları sıkıştırmadaki temel amaç boyutlarını küçülterek daha taşınabilir hale getirmektir. Ayrıca verileri önceki haline geri getirmek için de kullanılmaktadır.