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:
Ancak algoritmanın tanımı basit olmakla birlikte, gerçek anlam ve hayatımızı nasıl etkilediği oldukça karmaşık olabilir.
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.
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:
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.
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
Uygulamalar Hücresel Veri Üzerinden İndirilmiyor Hücresel veri üzerinden App Store'dan uygulama indiremiyor musunuz? Wi-Fi’ye bağlı…
Tesla Wi-Fi’a Nasıl Bağlanır? araçları, yazılım güncellemelerini almak, internet üzerinden hizmetleri kullanmak ve araç içinde…
Excel dosyalarının bozulması, hem bireyler hem de iş dünyası için ciddi bir sorun olabilir. Özellikle…