The Algorithm Design Manual Second Edition


Edit Distance by Recursion



Download 5,51 Mb.
Pdf ko'rish
bet222/488
Sana31.12.2021
Hajmi5,51 Mb.
#273936
1   ...   218   219   220   221   222   223   224   225   ...   488
Bog'liq
2008 Book TheAlgorithmDesignManual

8.2.1

Edit Distance by Recursion

We can define a recursive algorithm using the observation that the last character in

the string must either be matched, substituted, inserted, or deleted. Chopping off

the characters involved in this last edit operation leaves a pair of smaller strings.

Let and be the last character of the relevant prefix of and , respectively.

There are three pairs of shorter strings after the last operation, corresponding to

the strings after a match/substitution, insertion, or deletion. If we knew the cost

of editing these three pairs of smaller strings, we could decide which option leads

to the best solution and choose that option accordingly. We can learn this cost

through the magic of recursion.

More precisely, let D[i, j] be the minimum number of differences between

P

1

, P

2

, . . . , P

i

and the segment of ending at jD[i, j] is the minimum of the

three possible ways to extend smaller strings:

• If (P

i

T



j

), then D[i



− 1, j − 1], else D[i − 1, j − 1] + 1. This means we either

match or substitute the ith and jth characters, depending upon whether the

tail characters are the same.

• D[i, j − 1] + 1. This means that there is an extra character in the pattern to

account for, so we do not advance the text pointer and pay the cost of an



• D[i − 1, j] + 1. This means that there is an extra character in the text to

remove, so we do not advance the pattern pointer and pay the cost of a

#define MATCH

0

/* enumerated type symbol for match */



#define INSERT

1

/* enumerated type symbol for insert */



#define DELETE

2

/* enumerated type symbol for delete */



deletion.

insertion.





Download 5,51 Mb.

Do'stlaringiz bilan baham:
1   ...   218   219   220   221   222   223   224   225   ...   488




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish