2010-08-22 12 views
5

this question'a bakıyorum ve daha sonra Tarjan's least common ancestors algorithm'u okudum. Daha önce hiç LCA algoritması uygulamalarına rastlamadım.En düşük ortak ata algoritmalarının pratik uygulamaları nelerdir?

Bu tür LCA algoritmaları yaygın olarak nerede kullanılır? nerelerde kullanıldığının

+0

mekansal: metagenomiks bağlamında bir sınıflandırma tree rasgele bir uzunluğa sahip düğümler) bir dizi Bilimsel bilgi işlemlerinde veri yapı ağaçları, hesaplamalı biyoloji dizgileri için ağaç eki, vb. Detayları unuttum, özür dilerim, ama kesinlikle yararlıdır. – polygenelubricants

cevap

3

Bilmiyorum, ama alışması belki bir kaç fikir var:

  • bilgisayar grafikleri: genellikle 3D sahnelerine bir ağaç yapısı oluşturmak küpler halinde bölünmüş olsun. Bu tür iki küp içinde bulunan bir nesneye sahipseniz, bir LCA algoritması size en küçük içeren büyük küpü verir. türler ve bunların en düşük ortak atası arasındaki ilişkileri bulmak için gens

  • analiz versiyon kontrol sistemlerinin

  • birleştirme algoritmaları derleyiciler

+0

teşekkürler! sürüm kontrolü -> üç yollu birleştirme: http://en.wikipedia.org/wiki/Merge_(revision_control)#Three-way_merge – Lazer

+0

Ayrıca, farklı sonekler için kök sözcükler ararken belirli türde dizgi işleme için de kullanışlıdır. –

4

, iki temel blok LCA bir Bir hesaplama yerleştirebilirsiniz böylece her ikisine de kullanılabilir. Bu, yaygın alt ifadelerin kaldırılması veya SSA dönüşümü için phi-düğümünün yerleştirilmesi için yararlı olabilir. Bu algoritmalar, örneğin SSA ve PRE

+0

teşekkürler @Doug Currie – Lazer