Ana içeriğe atla

Kayıtlar

Graphs

Graphlar verilerin sıralanma şekilleri olarak da ifade edilebilir.Network ağlarının yapısında , arama ve sıralama algoritmalarında başvurulan şekillendirmelerdendir.Bir çok çeşit Graph bulunmaktadır.Öncelikle yapısına bakacak olursak.G=(V,E) şeklinde gösterilir.Burda V : Vertex yani tepe,doruk noktası yada en yaygın biçimiyle düğüm(node) denilebilir.:E : edge ise kenar , bağlantı anlamındadır.Vertex hiçbir zaman boş küme olamaz.Vertexin boş küme olması zaten bir graph olmadığı anlamına gelir. Graph çeşitlerine bakalım: Directed Graph : Yönü olmayan graphlardır. Simple Graph : Simple graphda döngü(loop) bulunmaz. Ağırlıklandıma yoktur. Multi Graph : Döngü bulunur veya çoklu kenar vardır . Pseudo Graph : Döngü ve çoklu kenarın ikiside bulunur.    Soldaki fotoğrafta graphların özellikleri liste şeklinde verilmiştir. Not : Yararlı olacak bir kaynak bulduğumda buraya bağlantısını ekleyeceğim.

Temel Veri Yapıları

Veri yapısı ,  bilginin saklanmış biçimidir.Programın daha verimli çalışmasının sağlanması açısından programcının veri yapılarını bilmesi gerekir.Programların hızı dikkate alındığında farklı tipte veri yapıları kullanılırsa daha verimli kodlar yazılabilir.Temel veri yapılarımız: dizi , yığın , kuyruk ve listedir. Diziler  Aynı türden verilerin tutulduğu gruplardır.Bir indis yardımıyla bulundukları konum ifade edilir.İndis her zaman 0 dan başlar ve n'e kadar devam eder.Dizilerde kullanılabilecek veri türleri Char , İnt , Float , Double sırasıyla 1,2 ,4 ve 8 bytelık alan tutarlar. Yığınlar Günümüzde en çok kullanılan veri yapısı yığınlardır.Son giren ilk çıkar veya LIFO(last in ,first out) kuralıyla çalışırlar.Bu veri yapısını üst üste koyulan bozuk paralar gibi düşünebiliriz.En üstte olan (en son koyduğumuz) parayi ilk olarak almak zorundayız.Ayrıca yığınlar derine arama yapan özyinelemeli algoritmalarda kullanılmaktadır. Kuyruk Bu veri yapısı ilk giren ilk çıkar veya FIF...

Polindrom Sayılar

Birbirini takip eden sağdan sola yada soldan sağa okunuşları değişmeyen sayılar yada karakterlere polindrom sayılar(karakterler) denir. C'de bir polindrom sayı üretme programı yazarsak eğer kodlarımız şu şekilde olacaktır. #include<stdio.h> #include<conio.h> void pol_al(int n) { if (n == 1) printf("1"); else { pol_al(n - 1); printf("%d", n); pol_al(n - 1); } } int main() { int n = 0; printf("Sayi:"); scanf_s("%d", &n); pol_al(n); getchar(); getchar (); return 0; }

Özyineleme

Maurits Cornelis Escher    Hollandalı ressam ve grafik sanatçısının özyinelemeye güzel bir örneği...

Phone Gap nedir ? Neden PhoneGap kullanmalıyız ?

Öncelikle söylemem gereken bazı şeyler var daha doğrusu tanımlamam gereken.Gelişen teknolojiyle birlikte artık herkesin evinde bilgisayar olmasını bırakın herkesin cebinde bile var.Üstelik internet bağlantısıda yeterince iyi.Ve cebimizdeki bu bilgisayarların (telefon demek çok basit kaçar) kendine ait işletim sistemleri bulunmakta.Şuanda en çok bildiğimiz işletim sistemleri; Android , İos , Windows Phone ...Bunlar gibi toplam 8 adet telefon işletim sistemi bulunmaktadır.Biz bu işletim sistemlerinde yazılım yada uygulama geliştirmek istesek örnek veriyorum İos için objective-C , Android için Java bilmemiz gerekiyor.Yani ikisinde de uygulama geliştirmek istiyorsak hem Objective-C hemde Java bilmemiz gerekli.Ancak Phone Gap kullanarak sadece Css , HTML ve JavaScript kullanarak 8 işletim sistemi içinde yazabiliyoruz.Ancak bu sınırlı bir ayrıcalık.Büyük projeler için kullanılamayabilir.

Merge-Sort için güzel bir video

Sieve of Eratosthenes (Asal Sayı Bulma)

#include <stdio.h> int main() { int a, b, c = 0; printf (" Bir sayi giriniz: "); scanf ("%d", &a); printf ("\n"); for (b = 2; b < a; b ++) { // Kullanıcıdan alınan sayı 2'den başlanarak, kendisine kadar // olan tüm tamsayılara sırayla bölünüyor. Eğer tam olarak // bölünüyorsa c'nin değeri bir artırılıyor. if (a % b == 0) c ++; } // c'nin başlangıç değeri 0 idi.Program çalıştıktan sonra c'nin  // değeri 1 olarak kalması , // kullanıcının girdiği sayının 2'den itibaren sadece // kendisine tam olarak bölünebildiği anlamını taşır. Yani girilen // sayı asaldır. printf (" %s\n", (c == 1) ? "Sayi asaldir." : "Sayi asal degildir."); return 0;