diff --git a/README.tr-TR.md b/README.tr-TR.md index 0dd0ee3b..8e18f38b 100644 --- a/README.tr-TR.md +++ b/README.tr-TR.md @@ -3,8 +3,7 @@ [![CI](https://github.com/trekhleb/javascript-algorithms/workflows/CI/badge.svg)](https://github.com/trekhleb/javascript-algorithms/actions?query=workflow%3ACI+branch%3Amaster) [![codecov](https://codecov.io/gh/trekhleb/javascript-algorithms/branch/master/graph/badge.svg)](https://codecov.io/gh/trekhleb/javascript-algorithms) -Bu repository JavaScript'e ait popüler -algoritma ve veri yapılarını içermektedir. +Bu repository popüler algoritmaların ve veri yapılarının birçoğunun Javascript tabanlı örneklerini bulundurur. Her bir algoritma ve veri yapısı kendine ait açıklama ve videoya sahip README dosyası içerir. @@ -31,7 +30,7 @@ olup üretim için **yaplılmamıştır**.* ## Veri Yapıları Bir veri yapısı, verileri bir bilgisayarda organize etmenin ve depolamanın belirli bir yoludur, böylece -verimli bir şekilde erişilebilir ve değiştirilebilir. Daha doğrusu, bir veri yapısı bir veri koleksiyonudur, +verimli bir şekilde erişilebilir ve değiştirilebilir. Daha iyi ifadeyle, bir veri yapısı bir veri koleksiyonudur, aralarındaki ilişkiler, ve işlevler veya işlemler veriye uygulanabilir. @@ -57,8 +56,8 @@ veriye uygulanabilir. ## Algoritmalar -Bir algoritma, bir problem sınıfının nasıl çözüleceğine dair kesin bir tanımlamadır. Bu -bir işlem dizisini kesin olarak tanımlayan bir dizi kural. +Bir algoritma, bir problem sınıfının nasıl çözüleceğine dair kesin bir tanımlamadır. +Bir işlem dizisini açık olarak tanımlayan kurallar dizisidir. `B` - Başlangıç, `A` - İleri Seviye @@ -67,45 +66,49 @@ bir işlem dizisini kesin olarak tanımlayan bir dizi kural. * **Matematik** * `B` [Bit Manipülasyonu](src/algorithms/math/bits) - set/get/update/clear bits, multiplication/division by two, make negative etc. + * `B` [İkili Kayan Nokta](src/algorithms/math/binary-floating-point) - kayan noktalı sayıların ikilik sistemde gösterimi. * `B` [Faktöriyel](src/algorithms/math/factorial) * `B` [Fibonacci Sayısı](src/algorithms/math/fibonacci) - klasik ve kapalı-form versiyonları - * `B` [Asallık Testi](src/algorithms/math/primality-test) (trial division method) + * `B` [Asallık Testi](src/algorithms/math/primality-test) (deneyerek bölüm metodu) * `B` [Öklid Algoritması](src/algorithms/math/euclidean-algorithm) - En büyük ortak bölen hesaplama (EBOB) * `B` [En küçük Ortak Kat](src/algorithms/math/least-common-multiple) (EKOK) - * `B` [Sieve of Eratosthenes](src/algorithms/math/sieve-of-eratosthenes) - belirli bir sayıya kadarki asal sayıları bulma + * `B` [Eratosten Kalburu](src/algorithms/math/sieve-of-eratosthenes) - belirli bir sayıya kadarki asal sayıları bulma * `B` [Is Power of Two](src/algorithms/math/is-power-of-two) - sayı ikinin katı mı sorgusu (naive ve bitwise algoritmaları) * `B` [Paskal Üçgeni](src/algorithms/math/pascal-triangle) - * `B` [Karmaşık Sayılar](src/algorithms/math/complex-number) - karmaşık sayılar ve bunlarla temel işlemler - * `B` [Radyan & Derece](src/algorithms/math/radian) - radyandan dereceye çeviri ve tersi + * `B` [Karmaşık Sayılar](src/algorithms/math/complex-number) - karmaşık sayılar ve karmaşık sayılar ile temel işlemler + * `B` [Radyan & Derece](src/algorithms/math/radian) - radyandan dereceye çeviri ve tersine çeviri * `B` [Fast Powering](src/algorithms/math/fast-powering) + * `B` [Horner's method](src/algorithms/math/horner-method) - polinomal ifadelerin değerlendirilmesi + * `B` [Matrices](src/algorithms/math/matrix) - matrisler ve basit matris operasyonları (çarpım, tersçapraz, vb.) + * `B` [Euclidean Distance](src/algorithms/math/euclidean-distance) - iki nokta/vektör/matris arasındaki mesafe * `A` [Tamsayı Bölümü](src/algorithms/math/integer-partition) * `A` [Karekök](src/algorithms/math/square-root) - Newton yöntemi * `A` [Liu Hui π Algoritması](src/algorithms/math/liu-hui) - N-gons'a göre yaklaşık π hesabı - * `A` [Ayrık Fourier Dönüşümü](src/algorithms/math/fourier-transform) - bir zaman fonksiyonunu (bir sinyal) onu oluşturan frekanslara ayırır + * `A` [Ayrık Fourier Dönüşümü](src/algorithms/math/fourier-transform) - bir zaman fonksiyonunu (sinyal) içerdiği frekanslara ayırın * **Setler** - * `B` [Kartezyen Ürün](src/algorithms/sets/cartesian-product) - product of multiple sets + * `B` [Kartezyen Ürün](src/algorithms/sets/cartesian-product) - birden fazla kümenin çarpımı * `B` [Fisher–Yates Shuffle](src/algorithms/sets/fisher-yates) - sonlu bir dizinin rastgele permütasyonu - * `A` [Power Set](src/algorithms/sets/power-set) - all subsets of a set (bitwise and backtracking solutions) + * `A` [Power Set](src/algorithms/sets/power-set) - all subsets of a set (bit düzeyinde ve geri izleme yöntemleri) * `A` [Permütasyonlar](src/algorithms/sets/permutations)(tekrarlı ve tekrarsız) * `A` [Kombinasyonlar](src/algorithms/sets/combinations) (tekrarlı ve tekrarsız) * `A` [En Uzun Ortak Altdizi](src/algorithms/sets/longest-common-subsequence) (LCS) * `A` [En Uzun Artan Altdizi](src/algorithms/sets/longest-increasing-subsequence) * `A` [En Kısa Ortak Üst Sıra](src/algorithms/sets/shortest-common-supersequence) (SCS) - * `A` [Knapsack Problem](src/algorithms/sets/knapsack-problem) - "0/1" and "Unbound" ones - * `A` [Maksimum Altdizi](src/algorithms/sets/maximum-subarray) - "Brute Force" ve "Dinamik Programlara" (Kadane'nin) versiyonu + * `A` [Knapsack Problem](src/algorithms/sets/knapsack-problem) - "0-1 sırt çantası problemi" ve "Sınırsız sırt çantası problemi" + * `A` [Maksimum Altdizi](src/algorithms/sets/maximum-subarray) - "Kaba Kuvvet" ve "Dinamik Programlara" (Kadane'nin) versiyonu * `A` [Kombinasyon Toplamı](src/algorithms/sets/combination-sum) - belirli toplamı oluşturan tüm kombinasyonları bulun * **Metin** * `B` [Hamming Mesafesi](src/algorithms/string/hamming-distance) - sembollerin farklı olduğu konumların sayısı * `A` [Levenshtein Mesafesi](src/algorithms/string/levenshtein-distance) - iki sekans arasındaki minimum düzenleme mesafesi - * `A` [Knuth–Morris–Pratt Algoritması](src/algorithms/string/knuth-morris-pratt) (KMP Algorithm) - substring search (pattern matching) + * `A` [Knuth–Morris–Pratt Algoritması](src/algorithms/string/knuth-morris-pratt) (KMP Algorithm) - altmetin araması (örüntü eşleme) * `A` [Z Algoritması](src/algorithms/string/z-algorithm) - altmetin araması (desen eşleştirme) * `A` [Rabin Karp Algoritması](src/algorithms/string/rabin-karp) - altmetin araması * `A` [En Uzun Ortak Alt Metin](src/algorithms/string/longest-common-substring) * `A` [Regular Expression Eşleme](src/algorithms/string/regular-expression-matching) * **Aramalar** * `B` [Doğrusal Arama](src/algorithms/search/linear-search) - * `B` [Jump Search](src/algorithms/search/jump-search) (ya da Block Search) - sıralı dizide ara - * `B` [İkili Arama](src/algorithms/search/binary-search) - sıralı dizide ara + * `B` [Jump Search](src/algorithms/search/jump-search) (ya da Block Search) - sıralı dizide arama + * `B` [İkili Arama](src/algorithms/search/binary-search) - sıralı dizide arama * `B` [Interpolation Search](src/algorithms/search/interpolation-search) - tekdüze dağıtılmış sıralı dizide arama * **Sıralama** * `B` [Bubble Sort](src/algorithms/sorting/bubble-sort) @@ -264,7 +267,7 @@ npm test -- 'playground' ### Big O Notation -* Big O notation *, algoritmaları, giriş boyutu büyüdükçe çalışma süresi veya alan gereksinimlerinin nasıl arttığına göre sınıflandırmak için kullanılır. +* Big O notation *, algoritmaları, girdi boyutu büyüdükçe çalışma süresi veya alan gereksinimlerinin nasıl arttığına göre sınıflandırmak için kullanılır. Aşağıdaki grafikte, Big O gösteriminde belirtilen algoritmaların en yaygın büyüme sıralarını bulabilirsiniz. ![Big O graphs](./assets/big-o-graph.png)