Algoritma ve Programlama Dünyası — Uygulama 8 (Palindrome Kelimeler)
Herkese merhabalar! Önceki yazılarımızda bir dizi sıralama algoritmasını Python ve C++ gibi dillerle uygulamayı gördük. Son yazımızda ise basit bir tahmin oyunu yapmıştık. Bu sefer, çeşitli alanlarda kullanılan bir başka önemli algoritma türüne odaklanacağız: Palindrom kontrolü. Bu uygulamayı Java dilinde gerçekleştireceğiz.
Palindrome Nedir?
Palindrom bir kelime, cümle veya sayı dizisinin ileriye veya geriye doğru aynı şekilde okunabilmesidir. Örneğin ‘madam’, ‘racecar’ veya ‘121’ gibi. Palindromlar, algoritma ve veri yapıları derslerinde sıkça kullanılan bir konsepttir. Bunun yanında, genetik dizilerin incelenmesi ve bazı arama algoritmaları gibi birçok gerçek dünya uygulaması da bulunmaktadır.
Palindrome Kontrol Algoritması
Palindrome kontrol algoritması, bir kelimenin veya cümlenin palindrom olup olmadığını kontrol eder. Bu, genellikle bir kelimenin ilk ve son karakterlerini karşılaştırarak ve daha sonra kelimenin içine doğru ilerleyerek yapılır.
Pseudocode (Sözde Kod)
ALGORITMA IsPalindrome
GİRDİ: String str
ÇIKTI: Boolean
BAŞLA
SET start TO 0
SET end TO length of str - 1
WHILE start < end DO
IF str[start] != str[end] THEN
RETURN false
END IF
INCREMENT start
DECREMENT end
END WHILE
RETURN true
BİTİR
Java’da Palindrome Kontrol Uygulaması
public class Main {
public static boolean isPalindrome(String str) {
int start = 0, end = str.length() - 1;
while (start < end) {
if (str.charAt(start) != str.charAt(end))
return false;
start++;
end--;
}
return true;
}
public static void main(String[] args) {
String str1 = "madam";
String str2 = "hello";
System.out.println("Is '" + str1 + "' a palindrome? " + isPalindrome(str1));
System.out.println("Is '" + str2 + "' a palindrome? " + isPalindrome(str2));
}
}
Bu kod, belirtilen stringin palindrom olup olmadığını kontrol eder ve sonucu ekrana basar.
Çıktılar:
Is 'madam' a palindrome? true
Is 'hello' a palindrome? false
Bu çıktılar, “madam” kelimesinin bir palindrom olduğunu (ilk ve son harfler aynı ve bu durum kelimenin tümünde geçerli) ve “hello” kelimesinin bir palindrom olmadığını (ilk ve son harfler farklı) gösterir.
Algoritmanın Zaman Karmaşıklığı
Palindrome kontrol algoritmasının zaman karmaşıklığı genellikle O(n) olarak kabul edilir, çünkü stringin her karakteri en fazla bir kez kontrol edilir.
Sonuç
Java’da palindrome kontrol algoritması, genel amaçlı ve genellikle string işleme problemlerini çözmek için kullanılır. Hem pratikte hem de kodlama mülakatlarında sıkça karşılaşılan bir konudur. Palindrom kontrol algoritması, bir algoritmanın basitliği ile onun etkinliği arasındaki dengeyi güzel bir şekilde gösterir.
Eğer bu yazıyı beğendiyseniz aşağıdaki alkışa istediğiniz kadar tıklayarak yazılarıma destek olabilirsiniz :)
Herhangi bir sorunuz olursa veya benimle iletişim kurmak isterseniz, tüm sosyal medya hesaplarım aşağıdaki linkte yer alıyor.
Ayrıca diğer blog yazılarımı aşağıda yer alan websitem üzerinden takip edebilirsiniz.
Bir sonraki yazıda görüşmek üzere!