Elhamdülillahi rabbil-alemin. Vessalatü vessamu alaresulina Muhammedin ve ala alihi ve eshabihi ecmain.
Ey kalpleri çeviren Allahım, beni ve kalbimi dinin üzerinde sabit kıl. Senin rızana uygun şekilde yaşamayı nasib et. Bizleri biran bile nefsimizle baş başa bırakma.Nefsimizin emrinde gezenlerden eyleme.Ya rabbel-alemin, hakkımızda hayırlı olanı nasib et. İşlerimizi kolaylaştır.Önümüzdeki engelleri kaldır. Bizleri senin rızana uygun işlerde istihdam et. İslam dininin yücelmesinde, insanlığın maddeten ve manen bizleri istihdam eyle. Bütün bunlara bizleri muvaffak kıl.Allahım.
Ya rabbi bilmediklerimizi bize bildir. Bildiklerimizle yaşamayı nasib et. Faydasız ilimden, ürpermeyen kalpten, yaşarmayan gözden sana sığınırız. Sen bizleri koru Allahım. İlahi;beni,ana babamı, ailemi,evlatlarımı ve iman edenleri cehennem azabından ve dünyadaki kötülüklerden koru.Allahım , bizi Müslüman olarak vefat ettir ve cennette Salihlerde beraber eyle.İmanımızı yok etmeye çalışan şeytana fırsat verme. Şeytana karşı mağlup eyleme. Allahım, günahlara karşı,musibetlere karşı bizlere sabır ver, direnme gücü ver.İbadetleri terk etmeyen,ibadetlere sabırla devam eden kullarından eyle. Bizlere ibadetleri ihsan sırrıyla yapmayı nasib et. İbadetleri bize sevdir Allahım.Ya rabbi . Bizleri iman ve kur’an hizmetlerinden ayırma. Bizleri her zaman senin övdüğün cemaatinle eyle. Kur’an hizmetindeki büyüklerimizi başımızdan eksik etme. Onlara uzun ömür ver. Kur’an hizmetinde bulunan insanlar arasındaki muhabbeti artır. Onların arasına fitne sokma. Onları her türlü fitne ve kötülüklere karşı koru. Onlara hizmet etme aşkı ver. Onlara hizmetle dolu uzun ömür ver. Ecelleri geldiğinde onları şehit olarak yanına al Allahım.Dini için, vatanı ve millet için samimi olarak hizmet edenler üzerinde kurulan tuzakları boz Allahım. Ya rabbi onların önündeki engelleri kaldır, işlerini kolaylaştır.
Allahım geçmiş ümmetlere merhamet ettiğin gibi bizlerede merhamet et, günahlarımızı bağışla,helak ettiğin milletler gibi bizleride helak etme.
Ya rabbi bizlere kaldıramayacağımız yük yükleme. Kaldıramayacağımız yüklerle imtihan etme. İmtihanı kazananlardan eyle. Bizleri başıboş bırakma. Bizlere adaletinle değil rahmetinle muamele et.
Bizleri insi ve cinni şeylerin şerrinden koru. Günahlarımızı bağışla. Bizlere ibadet neşesi ver. İçimizi dışımız gibi, dışımızı içimiz gibi eyle. Bizleri söz ve fiil bütünlüğüne muvaffak kıl. Bilerek veya bilmeyerek hata ettiysek bizleri hesaba çekme. Yaptıklarımızdan ötürü yüzümüzü ak et. Bizim Efendimiz(sav) utandırma. Onu ümmetinin yaptıklarıyla sevindir. Dünyada çok çekti ahirette güldür Allahım. Onun şefaatinden bizleri mahrum etme.
Ya Rabbi, idarecilerimize basiret ver. Onları adaletten ayırma. Onlara senin rızan istikametinden ayırma.
Allahım acizliklten, tembellikten, korkaklıktan, cimrilikten akli bedeni gücünü kaybedecek kadar çok yaşlanmaktan, katı kalplilikten, gaflete düşmekten, yoksulluktan, zelil ve miskin olmaktan, sana sığınırız. Fakirlikten, kafir olmaktan yalancılıktan, sapıklıktan, hakikate karşı gelmekten, münafıklıktan, sağırlıktan, dilsizlikten, hastalıklardan, deccalin fitnelerinden, kötü ölümden sana sığınırız. Sen bizleri koru ya Rabbi.
Ya Rabbi, kendisiyle dua edildiği zaman kabul ettiğin, kendisiyle istendiği zaman verdiğin, kendisiyle merhamet dilendiği zaman merhamet ettiğin, senin indinde kıymetli olanlar hürmetine dualarımızı geri çevirme. Ahrette bizleri Peygamberimizle beraber haşret. Bütün insanlara hidayet et. AMİN
NOT:Word dosyası aşağıdadır.İndirebilirsiniz.
Hash (Hesaba dayalı adresleme) ve Hashing nedir ?(java)
Hashing (Hesaba Dayalı Adresleme)?
Bilgiye
tekrardan erişmek için iki genel teknik vardır: Sıralı erişim ve Doğrudan
erişim.Sıralı erişime örnek teyp kasetleri verilebilirken doğrudan erişime
müzik Cd leri verilebilir.Örneğin 100 tane ismi tutan bir listemiz olduğunu
düşünelim. Bu liste içinde bir isim arayacak olursak listenin başından sonuna
kadar bu ismi aramamız gerekecek. Eğer aradığımız elemanı bulursak arama
sonlandırılacak aksi halde arama başarısız olacaktır. Bu işlem sıralı erişim
olarak adlandırılmaktadır. Bu tür bir aramada en kötü durum liste boyutunun n olduğu
bir durum için O(n) arama zamanı olacaktır. Eğer liste sıralı bir
liste olsaydı, ikili arama kullanacaktık ve arama zamanı O(log n) olacaktı.
Anahtar karşılaştırmalı bir
aramada,
n
elemanlı bir liste için aramanın ”log n” den daha az karşılaştırma
sonucu tamamlanması mümkün değildir. Sıralı ve ikili arama metotları anahtar
karşılaştırma tekniğini kullanırlar. Verilen elamanı doğrudan ve daha hızlı
konumlayabilmek için verileri düzenleyebileceğimiz başka teknikler
geliştirebiliriz.
Elimizde 1000 öğrencinin
kayıtları var diyelim, her birine 0 ile 999 arasında indis numaraları verilmiş
olsun bu durumda herhangi bir kaydı bulmak için sıralı veya ikili arama
tekniklerini kullanmayı düşünmeyiz. Kayıtlarımızı basitçe 1000 boyutlu bir
diziye kaydedeceğiz. Şekil 15.1 de gösterildiği gibi k elemanı için k.
indis numarasının atanması ile oluşan dizi basit bir başvuru çizelgesidir (Table lookup). Tabloyu kayit[1000]
olarak isimlendirdik. Bu bir kayıt dizisidir. Her bir kayıt öğrenci kayıt
numarası, isim v.b. şeklinde alanlar içermektedir. Öğrenci numarası anahtar
olarak seçilmiştir ve aynı zamanda kayit dizisi için indis görevi de görmektedir.
Örneğin kayit[659]
ile Ahmet ERCAN kaydına doğrudan erişebiliriz.
Kayıt Numarası
|
Öğrenci İsmi
|
Diğer Detaylar…
|
||
000
|
Zeynep UĞUR
|
|||
001
|
Ali TÜRK
|
|||
002
|
Hakan MERT
|
|||
![]() |
Deniz KELEK
|
|||
…
|
…
|
|||
659
|
Ahmet ERCAN
|
|||
660
|
Ramazan DURAN
|
|||
…
|
…
|
|||
998
|
Gülcan TEMİZGİL
|
|||
999
|
Alparslan Bilge DÜRÜST
|
Şekil 15.1:Başvuru Çizelgesi (Table
Lookup)
Başvuru çizelgesi ve arama
işleminin temel amacı verilere yeniden erişimi sağlamaktır. Hem başvuru
çizelgeleri hem de arama algoritmaları bir grup anahtardan liste veya dizinin
belli bir yerini bulan işlevler (fonksiyonlar) sunar. Fonksiyonlar bir grup anahtardan
hesaplanan belli yerlere birebir ilişki kurar. Her bir kayıt için bir anahtar
olduğunu düşünürsek, bu anahtar için sadece bir kayıt bulunabilir. Bu tür
başvuru çizelgelerinde herhangi bir kayda ulaşmak için gereken süre O(1) dir ve
sabittir. Yani erişim süresi tablo boyutundan bağımsızdır. Bu yüzden başvuru
çizelgesi herhangi bir arama algoritmasından daha verimlidir.
Veri ekleme ve yer belirleme
işlemlerini sabit bir zaman dilimi içinde yapabilmek için bu işlemlerin
herhangi bir arama işlemi yapmadan gerçekleşmesi gerekir. Yani verilen bir x
elemanı için, x in kaydedileceği dizi veya liste yerini doğrudan x
in kendisini kullanarak belirlememiz gerekmektedir.
Eğer kayıt anahtarları sayısal
bir değer ise bunlar dizinin indisleri olarak kullanılabilir. Öğrenci örneğini düşünürsek
birbirinden farklı olan kayıt numaraları buna örnek olabilir. Burada eğer 5
haneli bir sayı kullanacak olsaydık, 100000 elemanlı bir dizimizin olması gerekirdi.
Böylece çok büyük bir alan israfı yapmış olurduk.
Öğrenci kayıt tablosunu göz önüne
alırsak;
Her bir öğrenci için sadece bir kayıt
bulunmaktadır. Dolaysıyla 1000 elemanlı bir dizi bize yeterli olacaktır. Bu
dizi 0-999 arasında sayısal değerlerle indislenmiştir. Öğrenci kayıt
numarasının son 3 hanesi öğrenci kaydının dizideki yerini bulmak için indis
olarak kullanılmıştır.74361 ve 75961 birbirlerine çok benziyor gibi gözükse de
kayıt tablosunda çok farklıdırlar (361-961). Çünkü kayıt numaralarının son 3
hanesi kullanılmıştır.
Hash tablosu ;herhangi bir
elemanın indis bilgisine gereksinim duymadan elamana doğrudan ulaşmayı sağlayan
kayıtlar dizisidir. Bu elemanın anahtarından indis bilgisini hesaplayan bir
hash fonksiyonu tarafından gerçekleştirilir.
“hash”
kelimesi elemanların herhangi bir sıralama olmadan karıştırılmış olduğunu
gösterir. Bir kayıt bir veya birden fazla alanı barındıran birleşik bir veri
yapısıdır. Her bir alan kendi tipi ve adı vardır.COBOL gibi bazı programlama dillerinde
kayıtlar standart tiplerdedir. JAVA da ise kayıtlar bir nesne olabilir.
Bu bölümde java.util paketinde
bulunanlar gibi , farklı tipte hash
tablolarını açıklamaktadır.
Hash tabloları?
Anahtarları değiştirerek yada
eşleştirme yaparak tablo indislerine dönüştüren fonksiyona hash fonksiyonları
denir. Eğer h bir hash fonksiyonu , k bir anahtar ise h(k)
ye k
nin hashi denir ve
anahtarı k olan kadın tablo indisidir.Yani k anahtarlı kayıt h(k)
ye kaydedilir. Öğrenci örneğimizde h(k)=key%1000 dir. h
fonksiyonunun ürettiği tüm değerler tablodaki tüm indisleri kapsar. Örneğin x%1000
fonksiyonu x
in değerine göre 0 ile 999 arasında tamsayılar üretir. Hash tablosunun
üretilmesi işlemine hashing denir.
Genelde hash fonksiyonu
tarafından tanımlanan değişiklikler çoktan-teke eşleşmiş
olabilmektedir.Yani fonksiyon çıktısı
birbirine eşit olan birden fazla x , y, z anahtarları olabilir h(x)=h(y)=h(z). Başka bir ifadeyle iki yada daha fazla kayıt
anahtarı aynı dizi indisi ile eşleşebilir. Bu
durum çakışma (collision) olarak adlandırılır. Bu tür çakışmalarla başa çıkmak için
geliştirilmiş birkaç yaklaşım sonraki bölümlerde incelenecektir.
İyi bir hash fonksiyonunun karakteristikleri:
§ İyi bir hash fonksiyonu çakışmalardan
uzak olmalıdır. Gerçek hayatta eğer seçilen anahtarlar hakkında bir bilgimiz
yok ise çakışmaların olmayacağı garantisini veremeyiz. Ancak bazı uygulamalarda
anahtarlar hakkında bazı önbilgilere sahip oluruz ve bu anahtarları çakışmaları
engellemek için kullanırız.
§ İyi bir hash fonksiyonu dizi indislerini eşit bir şekilde
dağıtmalıdır. Yani hash fonksiyonunun ürettiği değerler eşit oranda dağıtık
olmalıdır. Eşit anahtar numaraları aynı
dizi posizyonuna eşleştirilmelidir.
§ İyi bir hash fonksiyonu kolaylıkla
hesaplanmalıdır. Bu hash fonksiyonunun gerçekleştirme zamanının O(1)
olması gerektiğini göstermektedir.
Kaydol:
Kayıtlar (Atom)
Popüler Yayınlar
-
(Yeni) Online Link Üretecini kullanabilirsiniz. Herhangi bir yazıya link vermek için html dilinin < a > tag elementi kullanılır. ...
-
Ö ncelikle şunu belirtelim ki HTML'de bir yazı dediğimiz şey ya bir paragraf (P) , header (H) , bir link (a) v.b. olabilir , bunların ...
-
E ğer Ethernet Teknolojisini kullanarak bir LAN (Local Area Network-Yerel Alan Ağı) kuracaksak;bilgisayar , yazıcı , server (sunucu) gibi ci...
-
Halihazırda kurulmuş olan Windows XP nizin şifresini (Serial veya CD-KEY) kaybettiyseniz bu program size yardımcı olacaktır. Ayrıca bu progr...
-
P ing basit manada bir network programıdır.Yani aslında ping bir komut değil bir yazılımdır. Peki ping ne işe yarar ne zaman kulla...
-
OSI: Open Systems Interconnection = Birbiriyle bağlantılı açık sistemler standardı. Günümüzde kullanılan hemen hemen tüm ağlar çeşitli ...
-
"Disk dolu veya yazmaya karşı korumalı" hatası USB Bellek veya Bellek Kartlarımızda sıklıkla karşılaştığımız sorular arasındadır. ...
-
Çoğumuzun başına gelmiştir.Bir karakter yazmak istemişiz fakat bir türlü klavyede yerini bulamamışızdır.İnternet aleminde çok sayıda ascii k...
-
O rta düzey bir bilgisayar kullanıcısının en çok kullandığı programlarından bir tanesi Çalıştır (RUN) programıdır. Bu windows programı say...
-
Özellikle css ile yeni tanışan arkadaşların sıkıntısı padding ve margin özellikleridir. Aslında bu iki özellikte sayfa elementin...