diff --git a/veri-yapilari-algoritmalar/algoritma-analiz/README.md b/veri-yapilari-algoritmalar/algoritma-analiz/README.md new file mode 100644 index 000000000..5cc73676e --- /dev/null +++ b/veri-yapilari-algoritmalar/algoritma-analiz/README.md @@ -0,0 +1,10 @@ +Algoritma Analizi +====== + +Bir problemi çözen birden fazla algoritma olabilir. Hangi algoritmayı seçeceğim o an elimdeki kaynaklara bağlıdır. Bu kaynaklar ne olabilir? + +* Programcının harcadığı süre, +* Kullanılan hafıza, +* Programın çalışma zamanı. + +Peki bunlara göre algoritma analizini nasıl yapabiliriz? Hadi öğrenelim! diff --git a/veri-yapilari-algoritmalar/algoritma-analiz/readme.md b/veri-yapilari-algoritmalar/algoritma-analiz/readme.md deleted file mode 100644 index 16e385321..000000000 --- a/veri-yapilari-algoritmalar/algoritma-analiz/readme.md +++ /dev/null @@ -1 +0,0 @@ -# diff --git a/veri-yapilari-algoritmalar/algoritma-nedir/README.md b/veri-yapilari-algoritmalar/algoritma-nedir/README.md new file mode 100644 index 000000000..81c4cf654 --- /dev/null +++ b/veri-yapilari-algoritmalar/algoritma-nedir/README.md @@ -0,0 +1,10 @@ +Algoritma Nedir? +====== + +Herkese merhaba, + +Veri yapıları ve algoritmalar kursunun ilk dersindeyiz. Bir sorunu çözmek veya sonuca ulaşmak için tasarladığımız adımlara algoritma diyoruz. + +Bu algoritmalar için çözmek istediğimiz problemler, veriyi farklı şekillerde ihtiyaç duyduğu düzenlemeyi gerektirir. + +Daha hazlası için hadi kursa başlayalım! diff --git a/veri-yapilari-algoritmalar/algoritma-nedir/readme.md b/veri-yapilari-algoritmalar/algoritma-nedir/readme.md deleted file mode 100644 index 0f6876e76..000000000 --- a/veri-yapilari-algoritmalar/algoritma-nedir/readme.md +++ /dev/null @@ -1 +0,0 @@ -# diff --git a/veri-yapilari-algoritmalar/array/README.md b/veri-yapilari-algoritmalar/array/README.md new file mode 100644 index 000000000..83563aa4e --- /dev/null +++ b/veri-yapilari-algoritmalar/array/README.md @@ -0,0 +1,8 @@ +Arrray +====== + +Birden çok bilgiyi bir arada tutmak gerekiyor olabilir. Bu gibi durumları iki başlık aktında işleyeceğiz: +* Array +* Linked List + +Bu derste arraylerden bahsediyor olacağız! diff --git a/veri-yapilari-algoritmalar/array/readme.md b/veri-yapilari-algoritmalar/array/readme.md deleted file mode 100644 index 16e385321..000000000 --- a/veri-yapilari-algoritmalar/array/readme.md +++ /dev/null @@ -1 +0,0 @@ -# diff --git a/veri-yapilari-algoritmalar/big-o/README.md b/veri-yapilari-algoritmalar/big-o/README.md new file mode 100644 index 000000000..98dc5a8fa --- /dev/null +++ b/veri-yapilari-algoritmalar/big-o/README.md @@ -0,0 +1,6 @@ +Big O Notatiton +====== + +Algoritmaların sadece 1 input boyutuna göre karşılaştırmalarına bakıp karar veremiyoruz. Genel yapısını bize verecek bir analize ihtiyacımız var. Bu aşamada da Big O Notation kullanıyoruz. + +Big O Notation nedir? Örneklerle öğrenelim! diff --git a/veri-yapilari-algoritmalar/big-o/readme.md b/veri-yapilari-algoritmalar/big-o/readme.md deleted file mode 100644 index 16e385321..000000000 --- a/veri-yapilari-algoritmalar/big-o/readme.md +++ /dev/null @@ -1 +0,0 @@ -# diff --git a/veri-yapilari-algoritmalar/bilgi-ifade/readme.md b/veri-yapilari-algoritmalar/bilgi-ifade/readme.md index 16e385321..3e12f3549 100644 --- a/veri-yapilari-algoritmalar/bilgi-ifade/readme.md +++ b/veri-yapilari-algoritmalar/bilgi-ifade/readme.md @@ -1 +1,6 @@ -# +Bilginin Bilgisayarda İfadesi +====== + +Bilgisayar bilgiyi "0" ve "1" kullanarak ifade eder. Peki "0" ve "1" kullanarak sadece iki şey mi ifade edilir? Nasıl ki bir nesneyi harfleri yan yana getirip ifade ediyorsak bilgisayar da "0" ve "1" i yan yana getirerek ifade eder. + +O halde "0" ve "1" lerin kullanıldığı bu sisteme Binary Sistem denir. diff --git a/veri-yapilari-algoritmalar/binary-search-tree/README.md b/veri-yapilari-algoritmalar/binary-search-tree/README.md new file mode 100644 index 000000000..9bd5ac0b6 --- /dev/null +++ b/veri-yapilari-algoritmalar/binary-search-tree/README.md @@ -0,0 +1,6 @@ +Binary Search Tree +====== + +Elimizde sıralı bir array (dizi) olduğu zaman istediğimiz bir elemanı aramak belirli bir zaman alıyordu. Binary search tree bir veri yapısıdır. Linked list'lerde bir sonraki elemana referans vermek varken Binary search tree'de sağ ve sola referans vermek vardır. Sağ tarafta kendinden büyük elemanlar, sol tarafta kendinden küçük elemanlar olması gerekir. Buradaki mantık random eleman bulmak değil sırayla sağındaki ve solundaki değerlere bakarak ilerlemektedir. + +Videoya geçelim! diff --git a/veri-yapilari-algoritmalar/binary-search-tree/readme.md b/veri-yapilari-algoritmalar/binary-search-tree/readme.md deleted file mode 100644 index 16e385321..000000000 --- a/veri-yapilari-algoritmalar/binary-search-tree/readme.md +++ /dev/null @@ -1 +0,0 @@ -# diff --git a/veri-yapilari-algoritmalar/binary-search/README.md b/veri-yapilari-algoritmalar/binary-search/README.md new file mode 100644 index 000000000..81b365a59 --- /dev/null +++ b/veri-yapilari-algoritmalar/binary-search/README.md @@ -0,0 +1,6 @@ +Binary Serach +====== + +Elimizde bir elemanı belirlediğimiz alanda ararken Linear Search kullanıyorduk. Binary Search belirlediğimiz alanın sıralı olduğunu var sayıyor. Bu sırayı kullanarak daha hızlı bir şekilde bize sonucu verecek bir yere götürmeye çalışıyor. Nasıl? + +Videoya göz atalım! diff --git a/veri-yapilari-algoritmalar/binary-search/readme.md b/veri-yapilari-algoritmalar/binary-search/readme.md deleted file mode 100644 index 16e385321..000000000 --- a/veri-yapilari-algoritmalar/binary-search/readme.md +++ /dev/null @@ -1 +0,0 @@ -# diff --git a/veri-yapilari-algoritmalar/hash-collision/readme.md b/veri-yapilari-algoritmalar/hash-collision/readme.md index 16e385321..7be56726b 100644 --- a/veri-yapilari-algoritmalar/hash-collision/readme.md +++ b/veri-yapilari-algoritmalar/hash-collision/readme.md @@ -1 +1,10 @@ -# +Hash Collision +====== + +Hush Function'da her zaman farklı çıktıların farklı sonuçları veremeyeceğini konuşmuştuk. Bizim hızlı bir hash table oluşturabilmemiz için tasarladığımız hash function kaliteli olmalı. Yani collision'ı en az şekilde tutması lazım. İyi bir hash table istiyorsak iyi bir hush function olması lazım, hush function'ın iyisini de şu şekilde açıklayabiliriz: + +* Collision'ın olmaması. +* Her seferinde aynı imput'u aynı output'a vermesi. +* Array'ın aınırları içerisinde elemanlar üretmesi. + +Öyleyse video'ya geçelim! diff --git a/veri-yapilari-algoritmalar/hash-function/README.md b/veri-yapilari-algoritmalar/hash-function/README.md new file mode 100644 index 000000000..5017616d7 --- /dev/null +++ b/veri-yapilari-algoritmalar/hash-function/README.md @@ -0,0 +1,8 @@ +Hash Function +====== + +Hash Function her seferinde aynı girdiye aynı sonucu vermesini istiyoruz. Aynı zamanda da farklı girdilere farklı çıktılar vermeli. Hash Fonction'ın çıkatıları array'ın kaç elemanının olduğuyla alakalıdır. Bunun dışında eleman vermemeli. + +Bazı durumlarda farklı çıktılar aynı sonuçları verebiliyor. Buna "collision" denir. + +Hadi video'ya geçelim! diff --git a/veri-yapilari-algoritmalar/hash-function/readme.md b/veri-yapilari-algoritmalar/hash-function/readme.md deleted file mode 100644 index 16e385321..000000000 --- a/veri-yapilari-algoritmalar/hash-function/readme.md +++ /dev/null @@ -1 +0,0 @@ -# diff --git a/veri-yapilari-algoritmalar/hash-table/README.md b/veri-yapilari-algoritmalar/hash-table/README.md new file mode 100644 index 000000000..153c1a5de --- /dev/null +++ b/veri-yapilari-algoritmalar/hash-table/README.md @@ -0,0 +1,6 @@ +Hash Table +====== + +Array'leri yan yana tuttuğumuz kutucuklar olarak düşünmüştük. Array'lerde hangi elemana ulaşacak olursak olalım aynı sürede ulaşıyorduk. Bizim istediğimiz ise elemanlara lokasyon bazlı değil isim bazlı ulaşmak olacak. Bu yapı için de Hash Table kullanacağız. + +Detaylar için video'yu izleyelim! diff --git a/veri-yapilari-algoritmalar/hash-table/readme.md b/veri-yapilari-algoritmalar/hash-table/readme.md deleted file mode 100644 index 16e385321..000000000 --- a/veri-yapilari-algoritmalar/hash-table/readme.md +++ /dev/null @@ -1 +0,0 @@ -# diff --git a/veri-yapilari-algoritmalar/insertion-sort/README.md b/veri-yapilari-algoritmalar/insertion-sort/README.md new file mode 100644 index 000000000..039ebbb0d --- /dev/null +++ b/veri-yapilari-algoritmalar/insertion-sort/README.md @@ -0,0 +1,6 @@ +Insertion Sort +====== + +Insertion Sort, en basit sorting algoritmalarından biridir. Bu algoritma çalışırken ekstra alan kaplamıyor. + +Gelin örneklerle biraz derinlere inelim! diff --git a/veri-yapilari-algoritmalar/insertion-sort/readme.md b/veri-yapilari-algoritmalar/insertion-sort/readme.md deleted file mode 100644 index 16e385321..000000000 --- a/veri-yapilari-algoritmalar/insertion-sort/readme.md +++ /dev/null @@ -1 +0,0 @@ -# diff --git a/veri-yapilari-algoritmalar/linear-search/README.md b/veri-yapilari-algoritmalar/linear-search/README.md new file mode 100644 index 000000000..d7f87e9e9 --- /dev/null +++ b/veri-yapilari-algoritmalar/linear-search/README.md @@ -0,0 +1,5 @@ +Linear Search +====== + +Linear Search, aslında tek tek elemanlar arasında dolanıp istediğimiz elemanın olup olmadığına bakmak diyebiliriz. +En basit seraching algoritması olan Linear Search algoritmasına bakalım! diff --git a/veri-yapilari-algoritmalar/linear-search/readme.md b/veri-yapilari-algoritmalar/linear-search/readme.md deleted file mode 100644 index 16e385321..000000000 --- a/veri-yapilari-algoritmalar/linear-search/readme.md +++ /dev/null @@ -1 +0,0 @@ -# diff --git a/veri-yapilari-algoritmalar/linked-list-add-delete/README.md b/veri-yapilari-algoritmalar/linked-list-add-delete/README.md new file mode 100644 index 000000000..e55862112 --- /dev/null +++ b/veri-yapilari-algoritmalar/linked-list-add-delete/README.md @@ -0,0 +1,4 @@ +Linked List Eleman Ekleme/Silme +====== + +Linked List'te eleman ekleme ve silmenin Array'lere göre daha kolay olduğunu konuştuk. Linked List'te eleman ekleme silmenin nasıl olduğunu öğrenmek için videoyu izleyelim! diff --git a/veri-yapilari-algoritmalar/linked-list-add-delete/readme.md b/veri-yapilari-algoritmalar/linked-list-add-delete/readme.md deleted file mode 100644 index 16e385321..000000000 --- a/veri-yapilari-algoritmalar/linked-list-add-delete/readme.md +++ /dev/null @@ -1 +0,0 @@ -# diff --git a/veri-yapilari-algoritmalar/linked-list-array/README.md b/veri-yapilari-algoritmalar/linked-list-array/README.md new file mode 100644 index 000000000..4166f2fad --- /dev/null +++ b/veri-yapilari-algoritmalar/linked-list-array/README.md @@ -0,0 +1,8 @@ +Linked List vs Array +====== + +Önceki videolarda Array ve Linked List'den bahsettik. Madem Linked List diye bir şey var, peki biz neden Array kullanalım? + +Array'lerde elemanlar hafızada yan yana tutulurken Linked List'te arattığımız elemana Array'lerden daha kolay ulaşırız. + +Bu derste Array ve Linked karşılaştırması yapacağız, iyi seyirler! diff --git a/veri-yapilari-algoritmalar/linked-list-array/readme.md b/veri-yapilari-algoritmalar/linked-list-array/readme.md deleted file mode 100644 index 16e385321..000000000 --- a/veri-yapilari-algoritmalar/linked-list-array/readme.md +++ /dev/null @@ -1 +0,0 @@ -# diff --git a/veri-yapilari-algoritmalar/linked-list/README.md b/veri-yapilari-algoritmalar/linked-list/README.md new file mode 100644 index 000000000..611b60690 --- /dev/null +++ b/veri-yapilari-algoritmalar/linked-list/README.md @@ -0,0 +1,4 @@ +Linked List +====== + +Bizim bir arada tutmak istediğimiz bilgiler vardı. Bunları yan yana Arrayler şeklinde tutabiliyorduk. Aslında bilgileri bir arada tutmak için her zaman Array kullanmak zorunda değiliz. Dağınık tutarak yeni eleman eklerken kolayca ekleyebiliriz. Bu mantığa göre bir arada tutmak için Linked List kullanırız. diff --git a/veri-yapilari-algoritmalar/linked-list/readme.md b/veri-yapilari-algoritmalar/linked-list/readme.md deleted file mode 100644 index 16e385321..000000000 --- a/veri-yapilari-algoritmalar/linked-list/readme.md +++ /dev/null @@ -1 +0,0 @@ -# diff --git a/veri-yapilari-algoritmalar/merge-sort/README.md b/veri-yapilari-algoritmalar/merge-sort/README.md new file mode 100644 index 000000000..d8d4ec6ac --- /dev/null +++ b/veri-yapilari-algoritmalar/merge-sort/README.md @@ -0,0 +1,4 @@ +Merge Sort +====== + +Insertion Sort'un Big O Notation'ı O(n^2) idi. Yani bizim imputumuz arttığında zaman imputumuzun karesi şeklinde çalışma zamanı artıyor. Bu da büyük inputlar için çok büyük bir zaman kaybına sebep olabiliyor. Sorting'de daha hızlı nasıl sıralama yaparız? Bunun için Merge Sort'a bakalım! diff --git a/veri-yapilari-algoritmalar/merge-sort/readme.md b/veri-yapilari-algoritmalar/merge-sort/readme.md deleted file mode 100644 index 16e385321..000000000 --- a/veri-yapilari-algoritmalar/merge-sort/readme.md +++ /dev/null @@ -1 +0,0 @@ -# diff --git a/veri-yapilari-algoritmalar/odev-1/README.md b/veri-yapilari-algoritmalar/odev-1/README.md new file mode 100644 index 000000000..9df66ed39 --- /dev/null +++ b/veri-yapilari-algoritmalar/odev-1/README.md @@ -0,0 +1,13 @@ +Ödev +====== + +Bir kütüphanede çalışıyorsunuz. Bu kütüphaneye öğlen saatinde 1280 yeni farklı kitap geliyor. Kitaplar, uzun düz bir sıra halinde indirilioyr ancak sıraları bozuk halde. Üstelik otomatik sıralama sistemi de arızalı. Daha önemlisi yarın okullar açılıyor yani öğrenciler bu kitaplar için sıraya girmeye başlayacak. Hepsini vaktinde nasıl sıralayabilirsiniz? + +Cevap: +====== + +İlk olarak probleme sıranın bir ucundan ilk iki kitapla başlayın. Eğer ilk iki kitap sıralı ise oldukları gibi bırakın, değilse değiştirin. Sonra ikinci ve üçüncü kitaplara bakın. İşlemi sıranın sonu gelene kadar tekrar edin. Bir noktada, en sonda olması gereken kitaba denk geliceksiniz ve onu sonrasında doğru yere kitap gelene kadar aşağıya kaydırarak devam edin. Sonra en başa dönün ve işlemi sondan ikinci kitabın yerini bulana kadar tekrarlayın. Ve bütün kitaplar sıralanana kadar devam edin. Bu yönteme "Kabarcık Sıralama" denir. Basit ama yavaştır. İlk Seferde 1279 karşılaştırma yapmış olursunuz, sonra 1278 olur ve toplamda 818.560 karşılaştırmaya ulaşır. Her karşılaştırma bir saniye alsa işlem dokuz günden fazla sürer. + +İkinci yol olarak sadece ilk iki kitabı sıralayarak başlamak olur. Sonra üçüncü kitabı alıp ikinci sıradaki kitapla karşılaştırın. İkinci kitaptan önce ise yerlerini değiştirin sonra onu ilk sıradaki kitapla karşılaştırın, gerekirse yerini değiştirin. Şimdilik ilk üç kitabı sıraladınız. Her seferinde sıralanan tarafa yeni litap eklemeye devam edin, yeni kitabı bir önceki kitapla karşılaştırıp değiştirerek o zamana kadar sıralananların srasına doğru şekilde yerleşene kadar devam edin. Birinci yolun aksine, her çifti karşılaştırmayı gerektirmez. Ortalama olarak her kitabı sadece kendinden önceki gelen kitapların yarısıyla karşılaştırmamız gerekir. Bu durumda toplam karşılaştırma sayısı 409.280 olup yaklaşık beş gün sürer. + +Hala çok fazla karşılaştırma yapıyorsunuz. İşte size daha iyi bir fikir: Önce rast gele bir kitap seçin. Buna "parça" deyin ve diğer bütün kitaplarla karşılaştırın. Sonra sırayı ikiye bölün, parçadan önce gelen bütün kitapları sol tarafa, sonra gelen parçaları sağ tarafa ayırınız. Soldaki bütün ktapları sağdaki kitaplarla tekrar tekrar karşılaştırma zorunda kalmayıp hayli zaman kazandınız. Şimdi de sadece soldaki kitaplara bakın, yine rast gele bir parça kitap seçin. Ve öncesinde kalan kitapları sonra gelenlerden ayırabilirsiniz. Küçük bir alt grup elde edene kadar devam edin. Her parçalama işlemi 1280 karşılaştırma gerektirir. Eğer parçalar eşit dağılmışsa kitapları on kitaplık 128 alt gruba bölmek yedi sefer ya da 8960 saniye gerektiri. Alt grupları tasnşf etmek her birine yaklaşık 22 saniye ekler. Bu yöntem ile kitapları üç buçuk saatin altında sıralayabilirsiniz. Ancak tek sorunu var, parçalar orantısız olursa hiç zaman kazanamazsınız. Neyseki bu nadiren olur. diff --git a/veri-yapilari-algoritmalar/queue/README.md b/veri-yapilari-algoritmalar/queue/README.md new file mode 100644 index 000000000..0de80d59b --- /dev/null +++ b/veri-yapilari-algoritmalar/queue/README.md @@ -0,0 +1,9 @@ +Queue - FİFO (First İn First Out) +====== + +Stack veri yapısında ilk başta giren eleman en sonda çıkıyordu. Queue veri yapısında ilk giren eleman ilk başta çıkıyor. + +* Enqueue: Queue veri yapısına eleman ekleme. +* Dequeue: Queue veri yapısından eleman çıkarma. + +Video'yu izleyerek daha fazla ayrıntıya ulaşalım! diff --git a/veri-yapilari-algoritmalar/queue/readme.md b/veri-yapilari-algoritmalar/queue/readme.md deleted file mode 100644 index 16e385321..000000000 --- a/veri-yapilari-algoritmalar/queue/readme.md +++ /dev/null @@ -1 +0,0 @@ -# diff --git a/veri-yapilari-algoritmalar/quick-sort/readme.md b/veri-yapilari-algoritmalar/quick-sort/readme.md index 16e385321..fcf5ed980 100644 --- a/veri-yapilari-algoritmalar/quick-sort/readme.md +++ b/veri-yapilari-algoritmalar/quick-sort/readme.md @@ -1 +1,6 @@ -# +Quick Sort +====== + +Quick sort, worst sort'ta olduğu gibi problemimizi küçük parçalara ayırıp çalışma yapacağız. Bu mantığı pivot ile sağlıyoruz. Seçeceğimiz pivot öyle değer olsun ki pivotun solunda bundan küçük değerler, pivotun sağında bundan büyük büyük değerler olsun. + +Örneklerle detaya inelim! diff --git a/veri-yapilari-algoritmalar/ram-model/README.md b/veri-yapilari-algoritmalar/ram-model/README.md new file mode 100644 index 000000000..088a3aac7 --- /dev/null +++ b/veri-yapilari-algoritmalar/ram-model/README.md @@ -0,0 +1,4 @@ +RAM Modeli +====== + +Farklı bilgisayarlarda belli algoritmaları denemek olmuyordu. Bizim genellenebilir analize ihtiyacımız var. Genellenebilir analiz yapmak için her algoritmayı aynı bilgisayar ile test ediyor gibi yapacağız. Buna da RAM diyoruz. Hadi RAM'in özellikleri için video'ya geçelim! diff --git a/veri-yapilari-algoritmalar/ram-model/readme.md b/veri-yapilari-algoritmalar/ram-model/readme.md deleted file mode 100644 index 16e385321..000000000 --- a/veri-yapilari-algoritmalar/ram-model/readme.md +++ /dev/null @@ -1 +0,0 @@ -# diff --git a/veri-yapilari-algoritmalar/recursion/README.md b/veri-yapilari-algoritmalar/recursion/README.md new file mode 100644 index 000000000..c5beb6331 --- /dev/null +++ b/veri-yapilari-algoritmalar/recursion/README.md @@ -0,0 +1,8 @@ +Recursion +====== + +Problemleri bütün olarak değil de parçalayarak çözmek istiyorsak daha küçük ifade etmemiz gerekiyor. Ne demek istiyoruz? + +Problemi, aynı problemin daha küçüğü olarak ifade edip bu problemi adım adım küçültüp nerede durduğumuzu belirttiğimiz bir yapıya dönüşüyor. Buna Recursion denir. + +Daha iyi anlamak için videoya göz atın! diff --git a/veri-yapilari-algoritmalar/recursion/readme.md b/veri-yapilari-algoritmalar/recursion/readme.md deleted file mode 100644 index 16e385321..000000000 --- a/veri-yapilari-algoritmalar/recursion/readme.md +++ /dev/null @@ -1 +0,0 @@ -# diff --git a/veri-yapilari-algoritmalar/sayi-sistem/README.md b/veri-yapilari-algoritmalar/sayi-sistem/README.md new file mode 100644 index 000000000..d04decc0a --- /dev/null +++ b/veri-yapilari-algoritmalar/sayi-sistem/README.md @@ -0,0 +1,8 @@ +Sayı Sistemleri +====== + +Sayıları ifade ederken Onlu Sayı Sistemi kullanılır. + +Bu derste onlu sayı sistemi ve binary sistem arasındaki dönüşümleri öğrenceğiz. Peki biz sayıları binary sistem ile ifade ediyoruz ama sayı haricindeki şeyleri nasıl ifade edebiliriz? + +Bir sonraki derste de buna bakalım! diff --git a/veri-yapilari-algoritmalar/sayi-sistem/readme.md b/veri-yapilari-algoritmalar/sayi-sistem/readme.md deleted file mode 100644 index 16e385321..000000000 --- a/veri-yapilari-algoritmalar/sayi-sistem/readme.md +++ /dev/null @@ -1 +0,0 @@ -# diff --git a/veri-yapilari-algoritmalar/sayisal-olmayan/README.md b/veri-yapilari-algoritmalar/sayisal-olmayan/README.md new file mode 100644 index 000000000..d8d7687a2 --- /dev/null +++ b/veri-yapilari-algoritmalar/sayisal-olmayan/README.md @@ -0,0 +1,6 @@ +Sayısal Olmayan Verilerin Tutulması +====== + +Bilgisayarda veriler "1" ve "0" olarak tutuluyor. Onlu sayı sistemi ve binasry sistem arasındaki dönüşümü öğrendik. + +Hadi sayı harici verilerin nasıl ifade edildiğine bakalım! diff --git a/veri-yapilari-algoritmalar/sayisal-olmayan/readme.md b/veri-yapilari-algoritmalar/sayisal-olmayan/readme.md deleted file mode 100644 index 16e385321..000000000 --- a/veri-yapilari-algoritmalar/sayisal-olmayan/readme.md +++ /dev/null @@ -1 +0,0 @@ -# diff --git a/veri-yapilari-algoritmalar/searching/README.md b/veri-yapilari-algoritmalar/searching/README.md new file mode 100644 index 000000000..facee3157 --- /dev/null +++ b/veri-yapilari-algoritmalar/searching/README.md @@ -0,0 +1,6 @@ +Searching +====== + +Arama algoritmaları belirttiğimiz özelliklerde verilerin elimizdeki veri topluluğundan bulunup getirilmesi demek. Bunun olabildiğince hızlı olması önemlidir. Günümüzde bilgisayarlar çokça veri barındırmaya başladı. Bizim bu verilerin içerisinde işlem yapacağımız verileri bulmamızın hızlı olması lazım. + +Searching videolarını izleyerek searching'in detaylarına inip neler olduğunu öğrenelim! diff --git a/veri-yapilari-algoritmalar/searching/readme.md b/veri-yapilari-algoritmalar/searching/readme.md deleted file mode 100644 index 16e385321..000000000 --- a/veri-yapilari-algoritmalar/searching/readme.md +++ /dev/null @@ -1 +0,0 @@ -# diff --git a/veri-yapilari-algoritmalar/sorting/readme.md b/veri-yapilari-algoritmalar/sorting/readme.md index 16e385321..3a69bb757 100644 --- a/veri-yapilari-algoritmalar/sorting/readme.md +++ b/veri-yapilari-algoritmalar/sorting/readme.md @@ -1 +1,6 @@ -# +Sorting Nedir ? +====== + +Elimizdeki eleman dizisini (array) nasıl sıralamak istiyorsak belirlediğimiz ölçüye göre sıralamak istiyoruz. Sorting, elimizdeki elaman dizisini (array) belirlediğimiz sıralama ölçütüne göre sıralamaya denir. (Algoritma, artan, azalan vs.) + +Sorting'in yararları? Nerelerde kullanılır? Hadi öğrenelim! diff --git a/veri-yapilari-algoritmalar/soru-1/README.md b/veri-yapilari-algoritmalar/soru-1/README.md new file mode 100644 index 000000000..9183a1739 --- /dev/null +++ b/veri-yapilari-algoritmalar/soru-1/README.md @@ -0,0 +1,13 @@ +Soru1 +====== + +Bir sorunu çözmek veya sonuca ulaşmak için tasarlanan adımlara ne denir? +* a) Array +* b) Algoritma (doğru) +* c) Linked List +* d) Recursion + +Soru2 +====== + +Problemi, aynı problemin daha küçüğü olarak ifade edip bu problemi adım adım küçültüp nerede durduğunu belirtilen yapıya ne denir? diff --git a/veri-yapilari-algoritmalar/stack/readme.md b/veri-yapilari-algoritmalar/stack/readme.md index 16e385321..db2177e3b 100644 --- a/veri-yapilari-algoritmalar/stack/readme.md +++ b/veri-yapilari-algoritmalar/stack/readme.md @@ -1 +1,8 @@ -# +Stack - LİFO (Last İn First Out) +====== + +Elimizdeki verileri tutmak için Array ve Linked List mantığına baktık. Stack ve Queue'yü Array ve Linked List kullanarak oluşturabiliriz. +* Push: Stack'e eleman eklemek. +* Pop: Stack'den eleman almak. + +Stack'den bahsedeceğimiz videoya göz atalım! diff --git a/veri-yapilari-algoritmalar/time-complexity/README.md b/veri-yapilari-algoritmalar/time-complexity/README.md new file mode 100644 index 000000000..7ec1cd093 --- /dev/null +++ b/veri-yapilari-algoritmalar/time-complexity/README.md @@ -0,0 +1,7 @@ +Time Complexity +====== +Kullanacağımız alogirtmayı analiz etmek istiyoruz. Ama bu algoritma farklı inputlara göre farklı zaman senaryoları üretebiliyor bize. Analizimizi yapabileceğimiz: + +* Worst Case, +* Average Case, +* Best Case, 3 ana başlık olarak video'da açıklanmıştır. İzleyelim! diff --git a/veri-yapilari-algoritmalar/time-complexity/readme.md b/veri-yapilari-algoritmalar/time-complexity/readme.md deleted file mode 100644 index 16e385321..000000000 --- a/veri-yapilari-algoritmalar/time-complexity/readme.md +++ /dev/null @@ -1 +0,0 @@ -# diff --git a/veri-yapilari-algoritmalar/veri-tutulma/README.md b/veri-yapilari-algoritmalar/veri-tutulma/README.md new file mode 100644 index 000000000..6a32429b7 --- /dev/null +++ b/veri-yapilari-algoritmalar/veri-tutulma/README.md @@ -0,0 +1,15 @@ +Verilerin Tutulması +====== + +Bilgisayar, içerisinde sınırlı bilgi barındırabilir. Fazla bilgi olduğunda hafızası doluyor diyebiliriz. Bilgisayar hafızasındaki bir kutucuğa biz 1 bit diyoruz. Her kutucuk 2 sembolü veya karakteri ifade eder. Bu kutucukları yan yana getirerek daha fazla ifadede bulunabiliyoruz. Her kutucuk 2x2'den 4 farklı sembolü ifade eder; + +2 bit + 0 0 , 0 1 , 1 0 , 1 1 + +Bu işlemleri sayısal olarak değil de bir sembol olarak görmeliyiz. + +Bit sayısı arttıkça daha fazla sembol ifade edebiliyorsak her kutucuk 1 bit eder, her bit 2 sembol ifade eder, 3 kutucuk var ise 2^"kutucuk sayısı" işlemini yaparak 8 sembol ifade edebilmiş oluyoruz. + +8 kutucuk yan yana getirdiğimizde ise buna 1 byte diyoruz. 2^8=256 sembol ifade eder. Bazı durumlarda sembol ifade ederken 1 byte yeterli olmayabilir. Bu durunlarda yan yana bytre ekleme işlemi yapıyoruz. Aslında yan yana kutucuk ekliyoruz, buna da integer diyoruz. + +Bu tüm sembolleri, karakterleri de bir arada tutmak istiyoruz. Peki nasıl? Önümüzdeki derslerde görüşmek üzere! diff --git a/veri-yapilari-algoritmalar/veri-tutulma/readme.md b/veri-yapilari-algoritmalar/veri-tutulma/readme.md deleted file mode 100644 index 16e385321..000000000 --- a/veri-yapilari-algoritmalar/veri-tutulma/readme.md +++ /dev/null @@ -1 +0,0 @@ -#