ATM’ den Para Çekmek – Greedy Algoritması

Kartınızı bankanın ATM cihazına taktınız ve belirli bir miktarda para çekmek istiyorsunuz. O an belki kolay harcama yapmak için daha küçük miktardaki banknota ihtiyacınız var, belki de cüzdanınızda kalabalık olmaması için büyük miktarlı banknotlardan almayı umuyorsunuz. Peki bankanın hangi banknotlardan kaç adet vereceğine nasıl karar verdiğini hiç düşündünüz mü?

Bir banka ATM’ si kart sahibine vereceği parayı hesaplarken temel olarak aşağıdaki 4 algoritmayı kullanır;

  • Greedy Algoritması

Greedy Algoritması ATM’den para çekmek istediğinizde size en az sayıda banknot verilmesi için tasarlanmıştır. ATM’ nin işlem ve para saklama kapasitesi göz önünde bulundurulmuştur.

  • Maximum Çeşitlilik Algoritması

Para çekme işlemi sırasında kişiye tüm banknotlardan verilmesini amaçlar. Örneğin 500 TL çekmek istediğinizde;

  • 4 adet 100 TL,
  • 1 adet 50 TL,
  • 2 adet 20 TL,
  • 1 adet 10 TL verebilir
  • Eşit Dağılım Algoritması

Bu algoritma ise para çekme işleminiz sırasında ATM’ de bulunan tüm banknot çeşitlerinden mümkün olduğunca eşit sayıda vermeyi amaçlar. Örneğin, ATM’ den 1000 TL çekmek isterseniz

  • 6 adet 100 TL
  • 5 adet 50 TL
  • 5 adet 20 TL
  • 5 adet 10 TL verebilir

Bir Cevap Yazın