Bu veri yapıları hem çözülebilir en sık karşılaşılan sorunlar nelerdir?
beni bu kitaplarda da öneriler sahip olması iyi olurdu:
- yapıları uygulamak
- Uygulama ve bunları kullanmak algoritmaların mantık açıklamak
Bu veri yapıları hem çözülebilir en sık karşılaşılan sorunlar nelerdir?
beni bu kitaplarda da öneriler sahip olması iyi olurdu:
Ben bu soru okurken düşünmek ilk şey: şeylerin ne tür grafikleri / ağaçları kullanıyor? ve sonra ben bunları kullanmak nasıl geriye doğru düşünüyorum.
Örneğin, bir ağacın iki yaygın kullanımları atın:
DOM ve bu konuda XML, ağaç yapılarını andırmaktadır.
Çok da mantıklı. Çünkü bu veriler ayarlanması gerektiğini nasıl mantıklı . Çok bir dosya sistemi. UNIX sisteminde orada bir kök düğüm, ve aşağıda aşağı dallanma. Yeni bir cihaz monte zaman, ağacın üzerine takılarak ediyoruz.
Ayrıca kendinize sormanız gereken: veri yapısı bu tip içine düşüyor? soruna mantıklı ve gerisi takip eder veri yapılarını oluşturun.
Bildiğim kadarıyla daha kolay olarak, Thats akrabası düşünüyorum. Eğer bir ağaç / grafik travers çağıran işlevlerle iyi misiniz? Ağaca dengelemek için ne gerekirse?
Bir kelime arama bulmaca çözen bir program hakkında düşünün. Bir grafiğin içine kelime aramanın tüm harfleri harita ve o dize kelimelerden herhangi birini eşleşen olup olmadığını görmek için düğümleri çevreleyen kontrol edebilir. Ama sadece tek bir dizi ile aynı yapamadı? Eğer gerçekten yapmanız gereken yukarıda ve harfler aşağıda kontrol etmek solunda ve sağında harfleri kontrol etmek için bir indeks taşımak ve genişliği gereğidir. Eğer öğrenmeye, özellikle de bunu yapmaktan vazgeçirmek gerektiğini tabii ki - bir grafikle birlikte bu sorunu çözmek zor değil, ancak bunları kullanarak rahat değilseniz o ekstra iş ve zorluk oldukça zorlaşır onlar.
Bunu bu yapıların düşünmek yardımcı olur. Bir kitap önerisi gelince, ben gitmek olurdu Algoritmalara giriş .
Devre diyagramları.
Derleme (Yönlendirilmiş Düz grafikler)
Haritalar. grafik olarak çok kompakt.
Ağ akışı.
Karar ağaçları uzman sistemler için (sic)
Teşhis, süreç improvment, güvenlik analizi için Balık Kılçığı diyagramları. Bonus puan için, nesneler gibi hata kurtarma kodu uygulayacak olan kılçık diyagramı.
Hemen hemen her sorunun grafik teorisi açısından yeniden yazılabilir. Ben NP tam sorunlar üzerinde herhangi bir kitabın bakmak, şaka yapmıyorum, biz grafikler ile çalışmak için iyi araçlara sahip çünkü grafik teorisi dönüştü bazı oldukça tuhaf sorunlar var ...
Algoritma Tasarım Kılavuzu grafikler yaratıcı kullanımı ile bazı ilginç örnek olayları içerir. Adına rağmen, kitap çok okunabilir ve hatta bazen eğlenceli.
Oyun genellikle oyunun dünya çapında yolları bulma kolaylaştırmak için grafik kullanabilirsiniz. dünyanın grafiği gösterimi böyle Genişlik öncelikli arama ya da karşısında bir rota bulmak için A * olarak algoritmaları olabilir.
Onlar da sık sık dünya unsurların temsil etmek ağaçları kullanıyoruz. Eğer varlıklar binlerce var ve belli bir pozisyonda bir bulmalıyız o zaman ilerlerken doğrusal bir listeyi sık sık bunu yapmak gerekir, özellikle verimsiz olabilir. Bu nedenle bölge daha hızlı aranacak izin vermek için bir ağaca bölünebilir. Doğrusal bir uzay verimli bir ikili arama ile aranan (ve dolayısıyla ikili bir ağacın ayrılabilir) olabilir gibi, 2B alanı ayrılabilir Dörtlüağaç bir içine ve 3 boyutlu uzayda octree .
Ağaçlar nedeniyle özyinelemeli doğanın daha işlevsel programlama dillerinde çok kullanılmaktadır.
Ayrıca, grafikler ve ağaçlar AI sorunların çoğunu modellemek için iyi bir yoldur.
@DavidJoiner / all:
FWIW: yeni bir sürümü Algoritma Tasarım Kılavuzu her an dışarı kaynaklanmaktadır.
O Prof Skiena için bu kitabı geliştirilen tüm kurs da internet üzerinde mevcuttur:
oyun ve multimedya uygulamalarında çizim grafikler için Sahne grafikleri ağır ağaçlar ve grafikler kullanın. Düğümler nesneler, işlenecek temsil dönüşümleri, kontroller, gruplar, ...
Sahne grafikleri genellikle çok sayıda tabakaya sahip ve belirli bir sırayla (katmanlar) ve grafik (özellikler) yalnızca bazı düğümü çekmek anlamına tespitedilir. bildirimleri ve örnekleme: sahne grafiğinin türüne bağlı olarak bunu iki Paraleli yapılara sahip olabilir var. th
Java için Algoritmalar: Bölüm 5 Robert Sedgewick'e bütün grafik algoritmaları ve veriyapılarıdır hakkındadır. Bu, bazı grafik algoritmaları uygulamak istiyorsanız aracılığıyla çalışmak için iyi bir ilk kitap olurdu.
: Benim üniversitede böyle şeyler için bir kurs var CSE 326 . Kitabın çok yararlı olduğunu düşünüyorum yoktu, ama projeler eğlenceli ve size daha basit yapılardan bazılarının uygulanması hakkında epey öğretirler.
ağaçları ile çözüldü (onu kullanan insanların sayısına göre) örneklerle, en yaygın sorunlardan biri gelince cep telefonu kısa girişinin olmasıdır. Bunu bir kullanıcı yumruklar çok çabuk sayıların herhangi bir listenin dışarı gelebilir muhtemel kelimelerin boşluk temsil etmek, mutlaka ikili ağaçlar, kullanabilirsiniz.