c code etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
c code etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

24 Mart 2016 Perşembe

Palindrome Kontrol – Palindrome Control Recursive C Code

Palindrom, tersten okunuşu da aynı olan cümle, kelime ve sayılara denilmektedir.


  1. A Toyota! Race fast, safe car! A Toyota!
  2. Kazak
  3. 98778855231222213255887789


Bu yazımda girilen stringin palindrome olup olmadığını kontrol eden C kodu bulunmaktadır. Kontrol recursive bir işlemle yapılmıştır.

KODLAR

Array Hash and Link-List Hash Code Implementation

Bu yazımda sizlere C ile Double hashing uygulama kodlarını vereceğim. Bu kodu inceleyerek Double Hashing ( İki fonksiyonlu hash yapısı ) yöntemini kavrayabilirsiniz.

Hash fonksiyonları veya algoritmaları büyük veri bilgilerine , küçük veriler ile ulaşmaya çalışır. Örneğin her bireyin bir TC kimlik numarası vardır. Kişilere ulaşmak için her seferinde bu 11 haneli numaraları kullandığımızı varsayalım ve bir elin parmaklarını geçmeyecek kadar insanları bir dizide tutalım ( kisi[Tc_No] ).

Bu yöntemle ne kadar çok gereksiz yer tutulacağını hayal edebiliyor musunuz? 1’dan başlayarak en küçük Tc nolu kişiye kadar olan dizideki tüm elemanlar boş durmaktadır. Tüm kişilere hatasız bir şekilde ulaşılmaktadır fakat gereksiz birçok alan tutulmaktadır.

İşte bu sorunu ortadan kaldırmak için kişinin Tc Kimlik Numarasını bir fonksiyona sokuyoruz ve o fonksiyondan 1 ile 10 arasında bir sayı döndürmesini bekliyoruz. ( 10 kişi için ) Örneğin bu fonksiyon tc kimlik numarasının 11 ile bölümünden kalanı döndüren bir fonksiyon olabilir. Bu tabiki bize her kişi için ayrı bir sayı döndürmeyecektir. Çünkü tc kimlik numarasını 11’e böldüğümüzde kalanı aynı olan birçok numara olabilir. Peki o zaman bu 10 kişiyi birbirinden nasıl ayırt ederiz?

Zaten işte hash fonksiyonlarını bulmanın güzelliği de burda ya… Bir hash fonksiyonun doğruluğu yüksek farklılıktaki dataları ne kadar küçük bir alana ve ne kadar farklı şekilde sıkıştırabildiğiyle ölçülür. Mükemmel bir hash fonksiyonu bulmak her zaman o kadar kolay olmayabilir. Seçilen fonksiyon ne kadar güzelse, ne kadar ayırt edici ise o kadar alandan kazanmış olursunuz. Hash mantığının kavranması bakımından array ve link list kodlamalarını da içeren bir C kodu örneğini de yazının sonuna ekliyorum. ( Bundan daha iyi hash fonksiyonları elbette bulunabilir. )

KODLAR