Functional Data Structures in R: Advanced Statistical Programming in R Mailund pdf download
Functional Data Structures in R: Advanced Statistical Programming in R Mailund pdf download
https://textbookfull.com/product/functional-data-structures-in-r-
advanced-statistical-programming-in-r-mailund/
https://textbookfull.com/product/functional-data-structures-in-r-
advanced-statistical-programming-in-r-thomas-mailund/
https://textbookfull.com/product/functional-programming-in-r-
advanced-statistical-programming-for-data-science-analysis-and-
finance-1st-edition-thomas-mailund/
https://textbookfull.com/product/domain-specific-languages-in-r-
advanced-statistical-programming-1st-edition-thomas-mailund/
https://textbookfull.com/product/domain-specific-languages-in-r-
advanced-statistical-programming-1st-edition-thomas-mailund-2/
Metaprogramming in R: Advanced Statistical Programming
for Data Science, Analysis and Finance 1st Edition
Thomas Mailund
https://textbookfull.com/product/metaprogramming-in-r-advanced-
statistical-programming-for-data-science-analysis-and-
finance-1st-edition-thomas-mailund/
https://textbookfull.com/product/advanced-object-oriented-
programming-in-r-statistical-programming-for-data-science-
analysis-and-finance-1st-edition-thomas-mailund/
https://textbookfull.com/product/advanced-r-statistical-
programming-and-data-models-analysis-machine-learning-and-
visualization-1st-edition-matt-wiley/
https://textbookfull.com/product/advanced-linear-modeling-
statistical-learning-and-dependent-data-3rd-edition-
christensen-r/
https://textbookfull.com/product/advanced-r-data-programming-and-
the-cloud-1st-edition-matt-wiley/
Functional Data
Structures in R
Thomas Mailund
Functional Data
Structures in R
Advanced Statistical
Programming in R
Thomas Mailund
Programming in R
Thomas Mailund
Aarhus N, Denmark
https://doi.org/10.1007/978-1-4842-3144-9
While the advice and information in this book are believed to be true
and accurate at the date of publication, neither the authors nor the
editors nor the publisher can accept any legal responsibility for any
errors or omissions that may be made. The publisher makes no
warranty, express or implied, with respect to the material contained
herein.
rights-permissions.
Table of Contents
Introduction xi
Chapter 1: Introduction1
Structure on Data
�������������������������������
�������������������������������
�������������������������������
�����4
List Functions
�������������������������������
�������������������������������
�������������������������������
���������28
Trees
�������������������������������
�������������������������������
�������������������������������
����������������������37
Bags
�������������������������������
�������������������������������
�������������������������������
�����������������������68
Stacks
�������������������������������
�������������������������������
�������������������������������
��������������������73
Queues
�������������������������������
�������������������������������
�������������������������������
�������������������74
iii
Table of Con
en s
Time Comparisons
�������������������������������
�������������������������������
���������������������������84
Double-Ended Queues
�������������������������������
�������������������������������
���������������������87
Lazy Queues
�������������������������������
�������������������������������
�������������������������������
�����������95
Implementing Lazy Evaluation
�������������������������������
�������������������������������
���������96
Lazy Lists
�������������������������������
�������������������������������
�������������������������������
����������98
Leftist Heaps
�������������������������������
�������������������������������
�������������������������������
��������140
Binomial Heaps
�������������������������������
�������������������������������
�������������������������������
����144
Splay Heaps
�������������������������������
�������������������������������
�������������������������������
���������157
Plotting Heaps
�������������������������������
�������������������������������
�������������������������������
������178
Search Trees
�������������������������������
�������������������������������
�������������������������������
��������190
Insertion
�������������������������������
�������������������������������
�������������������������������
���������195
Deletion
�������������������������������
�������������������������������
�������������������������������
����������203
Splay Trees
�������������������������������
�������������������������������
�������������������������������
�����������231
iv
Table of Con
Conclusions 247
Acknowledgements�����������������������
�������������������������������
�������������������������������
������248
Bibliography 249
Index 251
v
For the last decade, his main focus has been on genetics and
evolutionary studies, particularly comparative genomics, speciation,
and gene flow between emerging species. He has published
Beginning Data Science in R, Functional Programming in R, and
Metaprogramming in R with Apress, as well as other books.
vii
ix
Introduction
There are not necessarily drop-in replacements for all the data
structures you are used to, at least not with the same runtime
performance for their operations, but there are likely to be
implementations for most xi
InT
In roduCTIon
CTI
abstract data structures you regularly use. In cases where you might
have to lose a bit of efficiency by using a functional data structures
instead of a traditional one, however, you have to consider whether
the extra speed is worth the extra time you have to spend
implementing a data structure in exotic R or in an entirely different
language.
xii
CHAPTER 1
Introduction
Chapter 1 IntroduCtIon
There are not necessarily drop-in replacements for all the data
structures you are used to, at least not with the same runtime
performance for their operations—but there are likely to be
implementations for most abstract data structures you regularly use.
In cases where you might have to lose a bit of efficiency by using a
functional data structure instead of a traditional one, you have to
consider whether the extra speed is worth the extra time you have to
spend implementing a data structure in exotic R or in an entirely
different language.
You accept this when you choose to work with R. You might have to
make the same choice when it comes to selecting a functional data
structure over a traditional one, or you might conclude that you really
do need the extra speed and choose to spend more time
programming to save time when doing an analysis. Only you can
make the right choice based on your situation. You need to find out
the available choices to enable you to work data structures when you
cannot modify them.
CHAPTER 2
Abstract Data
Structures
Before we get started with the actual data structures, we need to get
some terminologies and notations in place. We need to agree on
what an abstract data structure is—in contrast to a concrete one—
and we need to agree on how to reason with runtime complexity in
an abstract way.
If you are at all familiar with algorithms and data structures, you can
skim quickly through this chapter. There won’t be any theory you are
not already familiar with. Do at least skim through it, though, just to
make sure we agree on the notation I will use in the remainder of the
book.
If you are not familiar with the material in this chapter, I urge you to
find a text book on algorithms and read it. The material I cover in
this chapter should suffice for the theory we will need in this book,
but there is a lot more to data structures and complexity than I can
possibly cover in a single chapter. Most good textbooks on algorithms
will teach you a lot more, so if this book is of interest, you should not
find any difficulties in continuing your studies.
Structure on Data
Let’s say we want a data structure that represents sets, and we need
two operations on it: we want to be able to insert elements into the
set, and we want to be able to check if an element is found in the
set. The generic interface for such a data structure could look like
this:
insert <- function(set, elem) UseMethod("insert") member <-
function(set, elem) UseMethod("member") Using generic
functions, we can replace one implementation with another with little
hassle. We just need one place to specify which concrete
implementation we will use for an object we will otherwise only
access through the abstract interface. Each implementation we write
will have one function for constructing an empty data structure. This
empty structure sets the class for the concrete implementation, and
from here on we can access the data structure through generic
functions. We can write a simple list-based implementation of the set
data structure like this: empty_list_set <- function() {
1 If you are unfamiliar with generic functions and the S3 system, you
can check out my book Advanced Object-Oriented Programming in R
book (Apress, 2017), where I explain all this.
member(s, 1)
## [1] FALSE
s <- insert(s, 1)
member(s, 1)
## [1] TRUE
Another rule of thumb for interfaces that I will stick to in this book,
with one exception, is that I will always have my functions take the
data structure as the first argument. This isn’t something absolutely
necessary, but it fits the convention for generic functions, so it makes
it easier to work with abstract interfaces, and even when a function is
not abstract—when I need some helper functions—remembering that
the first argument is always the data structure is easier. The one
exception to this rule is the construction of linked lists, where
tradition is to have a construction function, cons, that takes an
element as its first argument and a list as its second argument and
construct a new list where the element is put at the head of the list.
This construction is too much of a tradition for me to mess with, and
I won’t write a generic function of it, so it doesn’t come into conflict
with how we handle polymorphism.
8
Chapter 2 abstraCt Data struCtures
We can construct linked lists in R using R’s built-in list data structure.
class = "linked_list_set")
We just construct a list with two elements, head and tail. These will
be references to other objects—head to the element we store in the
list, and tail to the rest of the list—so we are in effect using them as
pointers. We then add a class to the list to make linked lists work as
an implementation of an abstract data structure.
identical(x, linked_list_nil)
The is_empty function is a generic function that we will use for all
data structures.
The identical test isn’t perfect. It will consider any list element
containing NA as the last item in a list as the sentinel. Because we
don’t expect anyone to store NA in a linked list—it makes sense to
have missing data in a lot of analysis, but rarely does it make sense
to store it in data structures—it will have to do.
11
But this depends on many factors that cannot necessarily know about
when we design our algorithms. The computer the code will run on
might not be available to us when we develop our software, and both
its memory and CPU capabilities are likely to affect the running time
significantly. The running time is also likely to depend intimately on
the data we will run the algorithm on. If we want to know exactly
how long it will take to analyze a particular set of data, we have to
run the algorithm on this data. Once we have done this, we know
exactly how long it took to analyze the data, but by then it is too late
to explore different solutions to do the analysis faster.
First, we reduce our data to its size. We might have a set with n
elements, or a string of length n. Although our data structures and
algorithms might use very different actual wall time to work on
different data of the same size, we care only about the number n and
not the details of the data. Of course, data of the same size is not all
equal, so when we reduce all our information about it to a single size,
we have to be a little careful about what we mean when we talk
about the algorithmic complexity of a problem. Here, we usually use
one of two approaches: we speak of the worst-case or the
average/expected complexity. The worst-case 12
Second, we do not consider the actual running time for data of size n
—where we would need to know exactly how many operations of
different kinds would be executed by an algorithm, and how long
each kind of operation takes to execute. We just count the number of
operations and consider them equal. This gives us some function of n
that tells us how many operations an algorithm or operation will
execute, but not how long each operation takes. We don’t care about
the details when comparing most algorithms because we only care
about asymptotic behavior when doing most of our algorithmic
analysis.
runs in any big-O complexity that is an upper bound for the actual
runtime complexity. We want to get this upper bound as exact as we
can, to properly evaluate different choices of algorithms, but if we
have upper and lower bounds for various algorithms, we can still
compare them.
Random documents with unrelated
content Scribd suggests to you:
SECTION X
(TRUNK ROUTE)
Miles.
Gloucester to Cheltenham 8¾
Cheltenham to Andoversford 6
Andoversford to Northleach 7
Northleach to Burford 9
Burford to Witney 7½
Witney to Eynsham 5¾
Eynsham to Oxford 6
NORTHLEACH,
a place of some importance when the woollen industry of these hills
was flourishing. There is a subtle charm in the greyness of the old
houses, relieved by the dark green of yew and the lighter tones of
deciduous trees and grass banks here and there. The quaint little
shops add other touches of colour, and wherever one turns there are
pictures of simple Cotswold life, not much altered by the rapid
changes of recent years. The old fellow standing meditatively by the
churchyard gate may talk of the great changes since his youth, when
the cloth industry had not ebbed away from the hills, but to outward
appearances Northleach is, one suspects, little altered since the days
of our great-grandparents, if, indeed, anything has materially
changed the town since the beautiful Perpendicular church was put
up. The date of its building was about the year 1489, when Cotswold
wool was one of the chief industries of England. One may admire
the embattled spire and the graceful delicacy of the whole building,
but it is by its porch that one remembers Northleach Church. It is
illustrated here; but, good as the drawing is, it does not do justice to
the wonderful beauty of that noble piece of Perpendicular
craftsmanship surmounted by its parvise.
On the floor of the nave are a series of brasses to the memory of
some of the most successful of the wool-merchants of the town.
They belong to the fifteenth century, and are exceptionally fine
examples of brasses of the period, giving the details of costume with
the greatest faithfulness. It is pleasant to find that the wealthy men
of the Cotswold wool industry seem to have devoted their surplus
riches to such public works as schools, almshouses, and churches.
At Northleach the Roman Foss Way is crossed coming from
Cirencester in a north-easterly direction.
A few miles beyond Northleach, S h e r b o r n e P a r k, the residence
of Lord Sherborne, is passed on the left. It is a dignified house,
situated in open country, many portions of which are well wooded.
From this point all the way to Witney the road falls steadily, with the
shallow, but always pleasing, valley of the Windrush just below on
the left. This pretty stream coming out of the heart of the Cotswolds
is one of the chief feeders of the Thames, which it meets a dozen
miles above Oxford. Actually on the road there are no villages except
Little Minster between Northleach and Witney, but just below the
highway, on the banks of the little river, there are several. The first
three—Windrush and Great and Little Barrington—are in
Gloucestershire, and the rest are in Oxfordshire. It is tempting to
describe all these places, but one must be content with pointing out
the particular charm of
BURFORD,
one of the most delightful of the old-world towns of the county.
There is a town hall, probably of the fifteenth century, and adjoining
it are some of the best of the old houses in the town. Close to the
stream stands the splendid cruciform church, with its tower and west
door dating back to the Norman period. In Early English times nearly
the whole building appears to have been changed into the Gothic
style, and another transformation took place in the fifteenth century,
when the Perpendicular phase had set in. Owing to the Sylvester
aisle and several chapels, the church is of curious shape, and this
helps to give that indescribable atmosphere of pre-Reformation days
entirely vanished from so many old churches in this country.
Both the school and the almshouses are old foundations, and the
Priory, now a partial ruin, although preserving no ecclesiastical
remains, is a picturesque Elizabethan building to some extent rebuilt
in 1808.
A mile or two beyond Burford one passes Asthall Barrow on the
right-hand side of the road, and only a few yards away across a
field. It is a prehistoric mound of earth, now kept in position by a
circular retaining wall of stone, thus preventing degradation. The
trees surmounting it form a prominent landmark. About three miles
farther on is the fine old manor-house of M i n s t e r L o v e l l, about
a mile to the left, on the Windrush.
WITNEY
Soon after turning to the right the road enters the main street of
picturesque old Witney at right angles. Extending away some
distance to the right is the pleasant elongated belt of green, giving
much charm and distinction to the place, and at the end of the
grassy perspective, rising in stately dignity from old trees, appears
the tower and spire of the cruciform church. This is one of those
peculiarly fascinating buildings one finds it hard to leave. It is mainly
an Early English church, but there are features of other periods, and
among them a Decorated window on the north side, which is the
finest in the whole county. The spire is an Early English masterpiece.
In the middle of the little town stands the quaint Butter Cross, dated
1683. On the west side of the green is the Grammar School (1663),
with an avenue of elms.
The blanket industry is still in existence, for in spite of modern
competition the little place holds its own on account of some
particular benefit the wool derives from the water of the
neighbourhood.
EYNSHAM
is the last village passed on the way to Oxford. It is a sleepy and
picturesque little place with a small market hall, the shaft of a
fifteenth-century cross, and an inn-sign of the drollest order. This
sign hangs outside the Red Lion, and the King of Beasts is painted
on one side, but the draughtsman had difficulty in accommodating
the tail, and he solved it by the original plan of painting the caudal
appendage on the opposite face of the sign!
Just below Eynsham the road crosses the Thames at Swinford
Bridge, where the beautiful hanging woods of Wytham Hill are on
the left, and a couple of miles farther on the spires and towers of
Oxford are in sight.
THE CHURCH PORCH AT NORTHLEACH.
A rare example of the stateliness of
Perpendicular architecture in a village
church.
LOOP No. 8
OXFORD TO STRATFORD-ON-AVON,
COVENTRY, BANBURY, AND OXFORD, 110
MILES
Miles.
Oxford to Woodstock 8
Woodstock to Enstone 6¾
Enstone to Long Compton 8
Long Compton to Shipstone-on-Stour 5¾
Shipstone-on-Stour to Stratford-on-Avon 10 ½
Stratford-on-Avon to Leamington 10 ½
Leamington to Warwick 2¼
Warwick to Kenilworth 4¾
Kenilworth to Coventry 5¾
Coventry to Princethorpe 7
Princethorpe to Southam 6
Southam to Fenny Compton 5½
Fenny Compton to Banbury 8¼
Banbury to Deddington 6
Deddington to Sturdy's Castle Inn 7¾
Sturdy's Castle Inn to Kidlington 2
Kidlington to Oxford, Carfax 5¼
There are two main roads running to Woodstock from Oxford, lying
parallel to each other; the western one should be selected. It passes
through a well-wooded country, part of the valleys of the Thames
and Evenlode rivers. Upon reaching Woodstock, B l e n h e i m
P a l a c e claims attention, with the entrance to the park lying upon
the left. The house was built at the public expense in 1715 as a
national recognition of the services of the Duke of Marlborough. It
was designed by Vanbrugh, and is of a heavy Renaissance character.
The interior decorations and the treasures preserved in it are of an
exceedingly interesting nature. (It is open to the public every day,
except Saturdays and Sundays, between 11 and 1, and the gardens
from 11 to 2. Tickets 1s. each.) The park contains the site of the old
Manor-house of Woodstock, which is supposed to have stood upon
the foundations of a Roman villa; it was a royal residence of the
Saxon kings. Here Alfred the Great translated Boethius, and King
Ethelred published his code of laws. Woodstock was the scene of the
courtship of Henry II. and Rosamund Clifford, whose birthplace was
Clifford Castle (see p. 175). Queen Elizabeth was a prisoner for a
time in the old manor-house, and it endured a siege from the
Parliamentarians, finally disappearing in 1723.
WOODSTOCK
This little town sprang into existence solely in consequence of the
proximity of the royal seat. T h e C h u r c h o f S t . M a r y
M a g d a l e n e is of Norman date, but much restoration has taken
place. The south aisle is Early English, and contains part of a
Norman doorway. The chancel and north aisle are Decorated, while
the west porch and west tower are Perpendicular. There are many
monuments of interest in the church.
Soon after leaving Woodstock the Column of Victory is prominent on
the left, where the ancient course of the Akeman Street, coming
from Cirencester, is crossed, and shortly afterwards Grim's Dyke
occurs, one of the many Grim's Dykes that are found in England.
Near E n s t o n e is a cromlech, called the 'Hoarstone,' and soon
afterwards a turning to the left leads to
CHIPPING NORTON
This is a quiet little town, devoted to the manufacture of woollen
goods, and especially horse-cloths. The 'Chipping' is derived from
the same root as 'Chepe,' a market. In the church the chief objects
of interest are some fourteenth-century brasses, which, however,
suffered very much in a restoration some forty years since, when
they were wrenched from their matrices and thrown into the parvise.
Of the castle which once stood here nothing remains.
Between Chipping Norton and Long Compton, at Great Rollright, are
the well-known R o l l r i g h t S t o n e s, consisting of a prehistoric
circle of standing stones and a cromlech. They are sixty in number,
and lie about 500 yards to the left of the main road. After passing
the stiff descent into Long Compton, a good surface is found to
Shipstone-on-Stour, although the road is second class; but beyond
that town a first-class road lies up the valley of the Stour to
Stratford-on-Avon. At Alderminster tram-lines commence, which
reach to Stratford, and a short distance beyond, Atherstone-on-Stour
is passed, where formerly stood a monastery of mendicant friars.
The scenery, meanwhile, has been gradually assuming the
characteristics which distinguish the beautiful county of Warwick—
luxurious hedgerows, gently-flowing streams, red loam in the fields
contrasting with the varying shades of green. The half-timbered
houses and cottages introduce another pleasant feature into the
landscape.
STRATFORD-ON-AVON
This far-famed country town on the banks of the Avon presents a
general appearance of prosperity, the well-built houses, wide streets,
and prevailing aspect of cleanliness giving this impression.
Everything in the town, however, lapses into insignificance in face of
the paramount interest attaching to the town as the birthplace of
Shakespeare. Whether the 'Bard of Avon' was nothing more than an
Elizabethan play-actor or the author of the plays now so widely
attributed to the great scholar and statesman, Francis Bacon, is a
question which now cools the spirit of devotion of many a pilgrim;
but however keen a Baconian may be the visitor to Stratford, he
cannot fail to appreciate the charm of the carefully-restored
Elizabethan houses associated with Shakespeare.
S h a k e s p e a r e ' s B i r t h p l a c e is in Henley Street, a half-
timbered, unpretentious house of two rooms and a kitchen on the
ground-floor, with the room overhead in which he was born. The
adjoining cottage has been converted into a museum, in which
documents and relics bearing in a direct or remote manner with the
poet—and some, it must be confessed, are very remote—are
preserved. The birthplace was in possession of the members of the
family for two centuries after the death of Shakespeare in 1616; in
1847 it was purchased by subscription for £3,000 and carefully
restored. (Admission 1s.—6d. for the birthroom and 6d. for the
museum.)
T h e To w n H a l l is in the High Street; on the front is a statue of
Shakespeare, presented by Garrick.
N e w P l a c e stood close by, but of the house occupied by the poet
during the last nineteen years of his life there is nothing left but the
site. In it lived Dr. Hall, who married Shakespeare's daughter
Susannah. The house was pulled down in 1702 by Sir John Clopton,
and the new building on its site, together with the famous mulberry-
tree, were destroyed by the Rev. Francis Gastrell in 1759, 'because
he was pestered by visitors'! In 1861 the site of New Place and its
gardens were purchased by public subscription. A Shakespeare
Library and Museum have been established there, open daily except
Saturday and Sunday; admission 6d. On Saturday the Gardens are
free.
STRATFORD-ON-AVON.
Holy Trinity Church contains the tomb of
Shakespeare.
WARWICK
It has been asserted that the history of Warwick is the history of
England, and certain it is that the ancient town has been involved in
the majority of the great events which have helped to make the
national record. In those stirring events W a r w i c k C a s t l e has
played no mean part, and is still the glory of the town and county. It
is undoubtedly the most magnificent of the ancient feudal mansions
still used as a residence, and its grand position upon a crag
overlooking the Avon has accentuated its imposing grandeur in no
mean degree. Its chief features are Cæsar's Tower and Guy's Tower,
of the fourteenth century, and the Gateway Tower in the centre. The
residential apartments and the Great Hall suffered in the fire of
1871, but have been rebuilt. Both the castle and the contents teem
with interest. (Open to visitors as a rule; no fixed fee. Tickets
obtained at small cottage opposite Castle Lodge, Castle Hill.)
S t . M a r y ' s C h u r c h is one of the most interesting ecclesiastical
buildings in the country. A Saxon church stood upon the site, and a
later building was made collegiate by Earl Roger de Newburgh. It
was granted to the town as a parish church at the Dissolution. The
central object of interest is the famous Beauchamp Chapel, 1443 to
1464, one of the best examples extant of Perpendicular architecture
bordering upon the Tudor, and showing occasionally traces of
incipient Renaissance. Richard Beauchamp, Earl of Warwick, Regent
of France, and guardian of Edward VI., lies buried here, and his
effigy in bronze, the finest in existence of that nature, lies in the
centre of the chapel. Against the north wall is the magnificent
monument of the famous Robert Dudley, Earl of Leicester—splendid
in life and sumptuous in death. Two small ante-chapels are seen—
one is probably a chantry. In the chancel lie Thomas Beauchamp,
Earl of Warwick, and his second Countess, both of whom died in
1370; their effigies of white marble, with many 'weepers' round the
pedestal, are of great interest.
L o r d L e y c e s t e r ' s H o s p i t a l .—There are but few places in
England where such a picturesque and impressive grouping of old
timbered houses may be seen; antique gables and eaves, richly-
carved beams and mysterious recesses; overhanging stories and
twisted chimneys, with an old gateway and a church tower thrown in
—it forms a gem of which any city might be proud. The Hospital was
originally a hall of the Guilds; in 1571 the Earl founded it for the
reception of twelve poor men, who still wear the bear and ragged
staff as a cognizance. Many half-timbered houses and quaint old-
world nooks remain in Warwick to delight the eye of the artist and
the antiquary, especially near the castle.
Town Plan No. 14—Leamington.
LEAMINGTON
A little over a mile separates Warwick from the Royal Leamington
Spa, a beautiful garden city, which has sprung into existence by
reason of the discovery of the efficacy possessed by the mineral
waters in 1784. Until that period it was a small village called
Leamington Priors. The chief springs are saline and sulphuretted
saline.
The J e p h s o n G a r d e n s are beautifully placed on the north bank
of the River Leam, and form one of the chief centres of attraction,
and the Royal Pump Room Gardens face the river on the other side
of the bridge. As might be expected from such a modern town, there
are no objects of antiquity to describe. Returning to Warwick, the
road to Guy's Cliff is taken, running due north, and the entrance-
lodge occurs in about a mile. A fine view of the house is obtained
from this point on looking up the avenue of majestic firs; it was built
in 1822, succeeding a small country mansion, and is in the
possession of Lord Algernon Percy. Situated upon a cliff with a wide
part of the river beneath, it forms a singularly beautiful picture. (It is
only shown to visitors when the family is absent.)
T h e C h a p e l adjoins the mansion on the east, and contains a
figure of Guy, Earl of Warwick, dating from the fourteenth century.
Guy's Lane is near the chapel.
T h e M i l l was built in 1821, and occupies the site of one dating as
far back as Saxon times.
Guy of Warwick is a mythical personage, and the romance
mentioning his deeds dates from the thirteenth century. In the
fifteenth century, when the age of chivalry and romance was at its
zenith, Guy was treated in the same manner as King Arthur, and all
kinds of doughty deeds were attributed to him by the romancers.
B l a c k l o w H i l l stands half a mile farther on to the left of the
road. It is surmounted by a cross, erected in 1821 to commemorate
the execution in 1312 of Piers Gaveston. At Gloucester, the tomb of
Edward II., who, like his favourite, came to a tragic end, has been
mentioned.
KENILWORTH
T h e C a s t l e is the centre of attraction, although there are some
good examples of half-timbered cottages to be seen in the long
street of the little town. The fortress was in ancient times one of the
strongest in England, as it afforded accommodation for a large
garrison, and by reason of the lake and broad moats filled with
water—now disappeared—it was almost impregnable. Numerous
roads converged towards it as the centre of England, and for many
years it was a royal residence. T h e K e e p was built about 1170,
and is a splendid example of military architecture of the late Norman
period. It is square, with a projecting rectangle, and turrets at the
corners. The walls at the base are 14 feet thick. T h e G a r d e n,
celebrated in Scott's novel, lay upon the north side of the keep.
South of the keep occur Leicester's Buildings, with fourteenth-
century kitchens and other offices between. By the side of the Great
Hall was the Strong Tower, called Mervyn's Tower by Scott.
Mortimer's Tower is isolated to the south-east; the cutting through
the great dam which restrained the waters of the lake occurred here.
The tilt-yard lay upon the top of the dam. Beyond the Great Lake
was the C h a s e, and the circuit of the castle, manor, parks and
other lands, was about twenty miles. Many historical names are
associated with Kenilworth—the Clintons, Simon de Montfort, John of
Gaunt, and Robert Dudley, who entertained Queen Elizabeth for
seventeen days, and spent a fortune in doing so. The castle was
dismantled and the lake drained in the time of the Commonwealth.
FORD'S HOSPITAL, COVENTRY.
A late fifteenth century almshouse
enriched with much elaborate carving.
Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.
textbookfull.com