- algoritmalar, algoritma teknikleri, veri yapıları, tipik problemler ve ilgili tanımları bir araya getirip düzenleyen çevrimiçi bir sözlük
- Ackermann's function gibi yaygın fonksiyonları içeren algoritma maddeleri yer alır
- traveling salesman, Byzantine generals gibi tipik problem maddeleri içerir
- bazı maddelerde uygulama (implementation) ve ek bilgi bağlantıları sunulur; maddeler alan (area) ve tür (type) dizinlerine göre düzenlenmiştir
- business data processing, AI, graphics gibi belirli alanları hariç tutarak "genel (general)" algoritmalar ve veri yapılarına odaklanır
Site özeti ve işletici kurum
- NIST bünyesindeki Information Technology Laboratory altında yer alan Software and Systems Division tarafından barındırılır
- sözlüğün geliştirilmesi 1998'de Paul E. Black editörlüğünde başladı
- algoritmalar, algoritma teknikleri, veri yapıları, tipik problemler ve ilgili tanımları ele alan sözlük biçimindedir
İçerik yapısı
- algoritma maddeleri Ackermann's function gibi yaygın fonksiyonları içerir
- problem maddeleri arasında traveling salesman ve Byzantine generals bulunur
- bazı maddeler uygulama (implementation) ve ek bilgilere yönlendiren bağlantılar sunar
- dizin sayfaları maddeleri alan (area) ve tür (type) bazında listeler
- two-level index, bu sayfanın toplam indirme boyutunun 1/20'si kadardır
Kullanım bilgisi
- kopya çekme amacıyla kullanım yasaktır; öğretmenlerin yardıma ihtiyaç duyması hâlinde iletişime geçmeleri istenir
- öneri, düzeltme ve görüşler için Paul Black ile iletişime geçilmesi belirtilir
Kapsam dışı alanlar
- şu anda aşağıdaki alanlara özgü algoritmalar dahil değildir
- business data processing, communications, operating systems veya distributed algorithms
- programming languages, AI, graphics, numerical analysis
- kapsam, yalnızca "genel (general)" algoritmalar ve veri yapılarıyla bile ele almanın yeterince zor olması nedeniyle sınırlandırılmıştır
Dizin ve notlar
- n-way, m-dimensional, p-branching gibi başında değişken bulunan terimler k- maddesi altında sınıflandırılır
- A Glossary of Computer Oriented Abbreviations and Acronyms içinde yararlı maddeler bulunabilir
1 yorum
Hacker News yorumları
İlgili eski yazılar:
Dictionary of Algorithms and Data Structures (1998) - https://news.ycombinator.com/item?id=12758176 - Ekim 2016 (18 yorum)
Dictionary of Algorithms and Data Structures - https://news.ycombinator.com/item?id=8905348 - Ocak 2015 (4 yorum)
Dictionary of Algorithms and Data Structures - https://news.ycombinator.com/item?id=5525893 - Nisan 2013 (15 yorum)
Dictionary of Algorithms and Data Structures - https://news.ycombinator.com/item?id=2496539 - Nisan 2011 (16 yorum)
Dictionary of Algorithms and Data Structures - https://news.ycombinator.com/item?id=2351074 - Mart 2011 (1 yorum)
Bu kaynağı sevmek istiyorum ama bildiklerim arasında Fenwick tree ve union-find algoritması/veri yapısı eksik
Fenwick tree'yi ilk gördüğüm yer burasıydı: https://www.youtube.com/watch?v=uSFzHCZ4E-8&t=479s
union-find'i de muhtemelen burada görmüştüm: https://www.youtube.com/watch?v=PGZ64ob440I
Ama hatırladığım kadarıyla sabit boyutlu bir dizi değil, dictionary/hashmap uygulamasıydı
Hemen aklıma gelip bulamadıklarım karekök ayrıştırma, heavy-light decomposition ve genel olarak aralık minimum sorgusu (Range Minimum Query). Kişisel olarak aralık minimum sorgusu, genel bir problem olarak en sevdiklerim arasında; zaman ayırıp odaklanılacak teknikler kümesi olarak da sıralamadan çok daha ilginç buluyorum
union-find veri yapısı genelde sabit diziyle gösterilir; algoritma analizini biraz daha ilginç kılan da bu. Arama maliyeti O(1)'in üzerine çıkarsa analizdeki ilginç kısmın gölgede kaldığını düşünüyorum. Elbette veri yapısının kendisi her iki şekilde de iyi çalışır
Harika bir kaynak ama veri yapıları ve algoritmalar derslerinin uygulamaya daha fazla odaklanmasını isterdim
Bunun ne olduğunu bilmekten çok, neden yararlı olduğunu ve hangi bağlamda çıkarıp kullanmak gerektiğini bilmekle daha çok ilgileniyorum
Henüz uzman olmadığım için otorite sayılacak bir kaynak değil ama ilginç olabilir: https://sebinsua.com/algorithmic-bathwater#what-kind-of-prob...
Göze çarpan bir madde: Marlena
https://xlinux.nist.gov/dads/HTML/marlena.html
Bunun ne anlama geldiğini bilen var mı?
Bu madde de o ada referans veriyor: https://xlinux.nist.gov/dads/HTML/antisymmetric.html
Algoritmaların alfabetik sırayla dizildiği bir listenin öğrenenler için iyi bir başlangıç noktası olup olmadığından emin değilim
Yeni başlayan ya da bu konuyu sağlam şekilde öğrenmek isteyen biri için bu klasik kitabın standart kaynak olduğunu düşünüyorum.[1]
Geliştirici olarak büyümek ve FAANG kodlama mülakatlarını geçmek hedefse, bu belki de en güçlü kaldıraç olabilir
[1] https://books.google.com/books/about/Introduction_To_Algorit...
Bu listede tersine arama yapmanın nasıl mümkün olacağını merak ediyorum
Örneğin bir algoritmanın nasıl çalıştığını kabaca anlatabiliyorum ama adını bilmiyorum ve bu listede olup olmadığını öğrenmek istiyorum. Günümüzde sözde kod olarak yazıp ChatGPT'ye vererek adını sorabilirsiniz belki, ama onun dışında pek bilmiyorum
Pull request kabul etseler iyi olurdu. acceleration structure gibi temel maddeler eksik
Gerçekten harika bir kaynak. Bütçe kesintileri gibi şeylere dayanıp yaşamaya devam etmesini umuyorum; ayrıca arşivlenmeli