The Algorithm Design Manual Second Edition


Specialized Data Structures



Download 5,51 Mb.
Pdf ko'rish
bet92/488
Sana31.12.2021
Hajmi5,51 Mb.
#273936
1   ...   88   89   90   91   92   93   94   95   ...   488
Bog'liq
2008 Book TheAlgorithmDesignManual

3.8

Specialized Data Structures

The basic data structures described thus far all represent an unstructured set of

items so as to facilitate retrieval operations. These data structures are well known

to most programmers. Not as well known are data structures for representing more




94

3 .


D A T A S T R U C T U R E S

structured or specialized kinds of objects, such as points in space, strings, and

graphs.

The design principles of these data structures are the same as for basic objects.

There exists a set of basic operations we need to perform repeatedly. We seek a data

structure that supports these operations very efficiently. These efficient, specialized

data structures are important for efficient graph and geometric algorithms so one

should be aware of their existence. Details appear throughout the catalog.



• String data structures – Character strings are typically represented by arrays

of characters, perhaps with a special character to mark the end of the string.

Suffix trees/arrays are special data structures that preprocess strings to make

pattern matching operations faster. See Section

12.3

(page


377

) for details.



• Geometric data structures – Geometric data typically consists of collections of

data points and regions. Regions in the plane can be described by polygons,

where the boundary of the polygon is given by a chain of line segments.

Polygons can be represented using an array of points (v

1

, . . . , v

n

, v

1

), such



that (v

i

, v

i+1

) is a segment of the boundary. Spatial data structures such as



kd-trees organize points and regions by geometric location to support fast

search. For more details, see Section

12.6

(page


389

).

• Graph data structures – Graphs are typically represented using either adja-

cency matrices or adjacency lists. The choice of representation can have a

substantial impact on the design of the resulting graph algorithms, as dis-

cussed in Chapter

6

and in the catalog in Section



12.4

.

• Set data structures – Subsets of items are typically represented using a dictio-

nary to support fast membership queries. Alternately, bit vectors are boolean

arrays such that the ith bit represents true if is in the subset. Data struc-

tures for manipulating sets is presented in the catalog in Section

12.5


. The

union-find data structure for maintaining set partitions will be covered in

Section

6.1.3


(page

198


).


Download 5,51 Mb.

Do'stlaringiz bilan baham:
1   ...   88   89   90   91   92   93   94   95   ...   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