İyi, iyi veri yapıları
Miscellanea / / December 05, 2023
Bu kurs - programlama alanında yetkin bir BT uzmanı olarak gelişiminizde bir başka önemli adım. Dilin temel yeteneklerini, nesne yönelimli bileşenini öğrendikten sonra, bir sonraki mantıksal adım şudur: Tipik, sık kullanılan veri yapılarının incelenmesi ve bunların etkin kullanımı için güçlü ve zayıf yönlerinin bilinmesi projeler.
Az ya da çok güvenilir herhangi bir program, örneğin diziler gibi en az bir basit veri yapısını kullanır. Ve daha karmaşık projelerde her zaman bağlantılı listeler, karma tablolar, kümeler, ilişkisel diziler vb. gibi daha karmaşık projeler bulunur. Programlarınızın olabildiğince hızlı çalışması ve aynı zamanda cihaz hafızasını tasarruflu kullanması için tüm bunları bilmeniz gerekir. Üstelik iş görüşmelerinde neredeyse her zaman programcı pozisyonu soruluyor Algoritmaların karmaşıklığını genellikle "büyük O" perspektifinden değerlendirmeye yönelik veri yapıları ve yöntemleri hakkında sorular (Büyük O). Tüm bu önemli konular bu derste yer almaktadır. Bunu tamamlamak, yalnızca algoritmaları daha güvenli bir şekilde yazmanıza değil, aynı zamanda gelecekteki istihdam için yapılan görüşmelerde daha başarılı olmanıza da olanak sağlayacaktır.
Algoritmaların hesaplama karmaşıklığını tahmin etmeyi öğrenmek
1. Big O'ya Giriş
2. Logaritmik ve faktöriyel karmaşıklığa sahip Büyük O
En basit veri yapıları
1. Statik dizi
2. C++'da statik dizi
3. Dinamik dizi
4. Python'da dinamik dizi
5. C++'da dinamik dizi
Bağlantılı listeler
1. Tek bağlantılı liste
2. C++'ta tek bağlantılı liste
3. Çift bağlantılı liste
4. C++'ta sıfırdan çift bağlantılı liste
5. C++ STL kütüphanesinin çift bağlantılı listesinin liste sınıfı
Kuyruklar ve yığın
1. FIFO ve LIFO kuyrukları
2. Python'da koleksiyonlar.deque kuyruğu
3. C++ STL kütüphanesinin kuyruk deque sınıfı
4. Yığın
5. Python ve C++'da bir yığının uygulanması
Ağaçlar ve setler
1. İkili ağaçlar
2. İkili ağacın köşelerini geçme ve kaldırma yöntemleri
3. Python'da ikili ağaç
4. Setler. İşlemleri Ayarla
5. C++'da kümeler ve çoklu kümeler
6. C++'da STL kitaplığı harita kapsayıcısı
7. Önek (yüklü, Trie) ağacı. İlişkisel Diziler
Hash tabloları
1. Hash tabloları
2. Evrensel Karma
3. Açık adresleme yöntemi. Çift karma
4. Python ve C++'daki karma tabloları