algoritma diff efisien untuk pohon dan jarak Levenshtein

20

Saya baru-baru ini membaca ringkasan masalah yang terlibat dengan melakukan perbedaan di antara pohon-pohon dan itu membuat saya tertarik untuk belajar apa yang paling canggih untuk masalah ini.

Juga, anggaplah bahwa di antara operasi edit yang diizinkan adalah simpul tambah / hapus tradisional, edit konten yang Anda tambahkan operasi perluasan salin / geser subtree, apakah ini membuat masalah (menemukan diff optimal) lebih mudah atau lebih sulit?

lurscher
sumber

Jawaban:

16

Makalah berikut ini menjelaskan algoritma yang sedikit lebih efisien daripada Zhang-Shasha untuk menghitung jarak sunting pohon, bersama dengan bukti bahwa algoritma mereka optimal (dalam kelas algoritma tertentu):

Jeffε
sumber
7

Survei bermanfaat tentang topik ini, sedikit kedaluwarsa:

Philip Bille. Sebuah survei pada jarak edit pohon dan masalah terkait . Ilmu Komputer Teoritis, Volume 337, Masalah 1–3, Halaman 217–239, 2005.

Makalah terbaru tentang salah satu versi masalah:

Tatsuya Akutsu et al. Algoritma yang tepat untuk menghitung jarak edit pohon antara pohon yang tidak berurutan . Ilmu Komputer Teoritis, Volume 412, Masalah 4–5, Halaman 352–364, 2011.

Alexander Tiskin
sumber