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.
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ı, 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.
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
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.
Palindrome kontrol algoritmasının zaman karmaşıklığı genellikle O(n) olarak kabul edilir, çünkü stringin her karakteri en fazla bir kez kontrol edilir.
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!
<hr><p>Algoritma ve Programlama Dünyası — Uygulama 8 (Palindrome Kelimeler) was originally published in Kodcular on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>