Algoritma Nedir?

Algoritma Nedir? Algoritmaların dünyayı nasıl çalıştırdığını keşfedin Algoritma talimatlar dizisidir. Tanım gerçekten çok basit. Bir algoritma, bu gibi talimatlar vermek kadar kolay olabilir:

  1. Caddeden aşağı git
  2. İlk sağa dön
  3. Soldaki ikinci evi bul
  4. Kapıyı çal ve
  5. Paketi verin.

Ancak algoritmanın tanımı basit olmakla birlikte, gerçek anlam ve hayatımızı nasıl etkilediği oldukça karmaşık olabilir.

Bir Algoritmanın Bir Örneği

Günlük yaşamlarımızda kullandığımız bir algoritma için ortak bir örnek, bir tariftir.

Bu talimat seti bize ihtiyacımız olan tüm maddeleri ve bu malzemelerle ne yapılacağına dair talimatlar verir. Kulağa kolay geliyor değil mi?

Peki ya ölçüm kabının nerede saklandığını bilmiyorsanız? Bulmak için bir algoritmaya ihtiyacın var. Bir ölçüm kabının nasıl kullanılacağı üzerine bir algoritmaya bile ihtiyacınız olabilir.

Dolayısıyla bir algoritma bir dizi talimat varken, bu talimatları kimin veya neyin yorumlayacağı da hesaba katılmalıdır. Örneğin, evinizden en yakın bakkaliye nasıl gireceğinize dair bir arkadaşınıza bilgi verirseniz, arkadaşınız yalnızca evinizin nerede olduğunu bildikleri takdirde o mağazaya nasıl gideceğinizi bilir. Diyelim ki, başka bir arkadaşınızın evi olan o özel bakkal bulma yeteneğine sahip değiller.

Bir algoritma basit ve karmaşık olabilir. Ve bilgisayar algoritmaları açısından konuştuğumuzda, bir bilgisayarın neler yapabileceğini anlamak, algoritmaları formüle etmenin temel bir parçasıdır.

Sıralama Algoritmaları Nasıl Evrilir?

Oluşturulan en eski algoritmalardan bir tanesi kabarcık sıralama yordamdı. Kabarcık sıralama, her veri kümesini yan yana karşılaştırarak ve gerektiğinde değiştirerek sayıları, harfleri veya kelimeleri sıralamak için kullanılan bir yöntemdir.

Bu döngü, algoritma bir şey takas etmek zorunda kalmadan tüm liste boyunca hareket edene kadar tekrarlanır; bu da değerler doğru bir şekilde sıralanmış demektir.

Görev tamamlanıncaya kadar bu tür bir algoritma sıklıkla yinelemeli bir algoritma olarak adlandırılır; çünkü bu algoritma kendiliğinden tekrar tekrar döner.

Algoritma şu kadar basit görünebilir:

  1. İlk değere git.
  2. Bu değeri bir sonraki değere karşı kontrol edin ve gerekirse takas pozisyonlarını kontrol edin
  3. Bir sonraki değere geçin ve karşılaştırmayı tekrarlayın.
  4. Listenin sonunda iseniz, döngü sırasında herhangi bir değer takas edildiğinde üste dönün.

Fakat kabarcık sınıfı, değerleri sınıflandırmanın en etkili yolu olarak ortaya çıkmadı. Zaman geçtikçe ve bilgisayarlar hızlı bir şekilde karmaşık görevleri yapabilecek hale geldiğinde, yeni sıralama algoritmaları ortaya çıktı.

Böyle bir algoritma ilk listeyi tarar ve sıralanmış değerlerin ikinci bir listesini oluşturur. Bu yöntem yalnızca orijinal listeden tek bir geçiş yapar ve her değeri ile değeri koyacak doğru yeri bulana kadar ikinci listede döner. Genellikle kabarcık sıralama yöntemini kullanmaktan daha verimlidir.

İşte bu noktada algoritmalar gerçekten delirir Ya da baktığınıza bağlı olarak gerçekten ilginç.

Kabarcık sıralama yöntemi değerleri birçok yönden en verimli yöntemlerden biri olarak görülse de, orijinal liste doğru şekilde önceden biçimlendirilirse, kabarcık sıralama en etkili yöntemlerden biri olabilir.

Çünkü bu durumda, kabarcık sıralama algoritması listeyi tek bir kez geçirecek ve doğru şekilde sıralanacağını belirleyecektir.

Ne yazık ki, listemizin önceden sıralanmış olup olmadığı her zaman bilinmemektedir, bu nedenle, çok sayıda listede ortalama olarak en verimli olacak bir algoritma seçmek zorundayız.

Kabarcık Sıralamasından Ne Öğrendik

  • Algoritma, zamanla gelişir, çünkü işleri daha verimli şekilde bulacağımız ve / veya bilgisayarların karmaşık görevleri daha yetenekli hale getirdiğini görürüz.
  • Algoritmalar bazen seçilir, çünkü zamanın “daha” verimli “en” iyidir.
  • Çoğu zaman bir algoritmanın daha verimli olması onun her zaman her bir durumda en iyisi olduğu anlamına gelmez.

Facebook Algoritmaları Ve Gündelik Yaşamda Daha Fazlası

Algoritmalar insanlara her gün yardımcı olan iş yerinde. Web’de arama yaptığınızda, işyerinde en iyi arama sonuçlarını bulmaya çalışan bir algoritma var. Akıllı telefonunuzdan yön tarif etmesini ve alacağınız en iyi rotayı bir algoritma belirlemenizi sağlar. Ve Facebook’a göz attığınızda, bir algoritma arkadaşımızın Facebook yayınlarından hangisinin bizim için en önemli olduğunu belirler. (Arkadaşlarımızın hangi Facebook’un en çok sevdiğimizi düşünmediğini umalım!)

Fakat algoritmik olarak düşünmek, bilgisayarımızın ötesinde bize yardımcı olabilir. Hatta daha iyi bir sandviç yapmamıza yardımcı olabilir.

Diyelim ki iki dilim ekmekle başlayıp, bir dilime hardal yayılarak başka bir dilim üzerinde mayonez dağıtıyorum. Mayonezli ekmeğin üzerine bir dilim peynir koydum, bunun üzerine biraz jambon, bazı marul, iki dilim domates ve sonra da hardalla birlikte o dilimle kapattım. İyi sandviç, değil mi?

Ama eğer bir süre masa üstünde bırakırsam, o üst dilim ekmek o domatesin tadına bakmadan hantallaşabilir. Önceden tahmin etmediğim bir sorun ve fark etmeden önce yıllarca sandviç yapabilirim, ancak bir kere yaparsam, daha iyi sandviç yapmak için algoritmamın değiştirilmesi için yollar düşünebilirim.

Örneğin domatesden kurtulabilirim. Ancak domates tadını kaybetmek istemiyorum. Bunun yerine domates ekmeği ve marulu sandviç üzerine koyabilirim. Bu, marulun domates ve ekmek arasında koruyucu bir bariyer oluşturmasını sağlar.

Bir algoritma bu şekilde gelişir. Ve bir algoritmanın bir bilgisayar tarafından bir algoritma olarak çalıştırılması gerekmez. Bir algoritma bir süreçtir ve süreçler hepimizdedir

 

Bu yardımcı oldu mu?

1 / 0

Bir yanıt yazın 0

E-posta adresiniz yayımlanmayacaktır. Required fields are marked *