The Algorithm Design Manual Second Edition


Stop and Think: Finding the Intersection



Download 5,51 Mb.
Pdf ko'rish
bet99/488
Sana31.12.2021
Hajmi5,51 Mb.
#273936
1   ...   95   96   97   98   99   100   101   102   ...   488
Bog'liq
2008 Book TheAlgorithmDesignManual

Stop and Think: Finding the Intersection

Problem: Give an efficient algorithm to determine whether two sets (of size and

n, respectively) are disjoint. Analyze the worst-case complexity in terms of and

n, considering the case where is substantially smaller than n.

Solution:

At least three algorithms come to mind, all of which are variants of

sorting and searching:

• First sort the big set – The big set can be sorted in O(log n) time. We can

now do a binary search with each of the elements in the second, looking

to see if it exists in the big set. The total time will be O((m) log n).

• First sort the small set – The small set can be sorted in O(log m) time. We

can now do a binary search with each of the elements in the big set, looking

to see if it exists in the small one. The total time will be O((m) log m).

• Sort both sets – Observe that once the two sets are sorted, we no longer

have to do binary search to detect a common element. We can compare the

smallest elements of the two sorted sets, and discard the smaller one if they

are not identical. By repeating this idea recursively on the now smaller sets,

we can test for duplication in linear time after sorting. The total cost is

O(log log m).

So, which of these is the fastest method? Clearly small-set sorting trumps big-

set sorting, since log m < log when m < n. Similarly, (m) log must be

asymptotically less than log n, since m < 2when m < n. Thus, sorting the

small set is the best of these options. Note that this is linear when is constant

in size.


Note that expected linear time can be achieved by hashing. Build a hash table

containing the elements of both sets, and verify that collisions in the same bucket

are in fact identical elements. In practice, this may be the best solution.



4 . 2

P R A G M A T I C S O F S O R T I N G




Download 5,51 Mb.

Do'stlaringiz bilan baham:
1   ...   95   96   97   98   99   100   101   102   ...   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