Data Structures and Algorithm Analysis in C++ 4th Edition Weiss Solutions Manualinstant Download
Data Structures and Algorithm Analysis in C++ 4th Edition Weiss Solutions Manualinstant Download
https://testbankfan.com/product/data-structures-and-algorithm-
analysis-in-c-4th-edition-weiss-solutions-manual/
We believe these products will be a great fit for you. Click
the link to download now, or visit testbankfan.com
to discover even more!
https://testbankfan.com/product/data-structures-and-algorithm-
analysis-in-java-3rd-edition-weiss-solutions-manual/
https://testbankfan.com/product/data-structures-and-algorithms-
in-c-2nd-edition-goodrich-solutions-manual/
https://testbankfan.com/product/introduction-to-c-programming-
and-data-structures-4th-edition-liang-solutions-manual/
https://testbankfan.com/product/consumer-behavior-6th-edition-
hoyer-test-bank/
Microeconomics 12th Edition Michael Parkin Solutions
Manual
https://testbankfan.com/product/microeconomics-12th-edition-
michael-parkin-solutions-manual/
https://testbankfan.com/product/evolution-and-prehistory-the-
human-challenge-10th-edition-haviland-test-bank/
https://testbankfan.com/product/m-finance-4th-edition-cornett-
test-bank/
https://testbankfan.com/product/international-relations-11th-
edition-pevehouse-test-bank/
https://testbankfan.com/product/developmental-psychology-from-
infancy-to-adulthood-4th-edition-white-solutions-manual/
Global Economics 13th Edition Robert Carbaugh Solutions
Manual
https://testbankfan.com/product/global-economics-13th-edition-
robert-carbaugh-solutions-manual/
CHAPTER 6
6.2
6.3 The result of three deleteMins, starting with both of the heaps in Exercise 6.2, is as follows:
6.4 (a) 4N
(b) O(N2)
(c) O(N4.1)
(d) O(2N)
6.5
/**
* Insert item x, allowing duplicates.
*/
void insert( const Comparable & x )
{
if( currentSize == array.size( ) - 1 )
array.resize( array.size( ) * 2 );
// Percolate up
int hole = ++currentSize;
for( ; hole > 1 && x < array[ hole / 2 ]; hole /= 2 )
array[ hole ] = array[ hole / 2 ];
array[0] = array[ hole ] = x;
}
6.6 225. To see this, start with i = 1 and position at the root. Follow the path toward the last node, doubling i
when taking a left child, and doubling i and adding one when taking a right child.
6.7 (a) We show that H(N), which is the sum of the heights of nodes in a complete binary tree of N nodes, is
N − b(N), where b(N) is the number of ones in the binary representation of N. Observe that for N = 0 and
N = 1, the claim is true. Assume that it is true for values of k up to and including N − 1. Suppose the left and
right subtrees have L and R nodes, respectively. Since the root has height log N , we have
H (N ) = log N + H (L) + H (R )
= log N + L − b(L) + R − b(R)
= N − 1 + ( Log N − b(L) − b(R) )
The second line follows from the inductive hypothesis, and the third follows because L + R = N − 1. Now the
last node in the tree is in either the left subtree or the right subtree. If it is in the left subtree, then the right
subtree is a perfect tree, and b(R) = log N − 1 . Further, the binary representation of N and L are identical,
with the exception that the leading 10 in N becomes 1 in L. (For instance, if N = 37 = 100101, L = 10101.) It
is clear that the second digit of N must be zero if the last node is in the left subtree. Thus in this case,
H(N) = N − b(N)
If the last node is in the right subtree, then b(L) = log N . The binary representation of R is identical to
N, except that the leading 1 is not present. (For instance, if N = 27 = 101011, L = 01011.) Thus
H(N) = N − b(N)
(b) Run a single-elimination tournament among eight elements. This requires seven comparisons and
The eighth comparison is between b and c. If c is less than b, then b is made a child of c. Otherwise, both
(c) A recursive strategy is used. Assume that N = 2k. A binomial tree is built for the N elements as in part (b).
The largest subtree of the root is then recursively converted into a binary heap of 2 k − 1 elements. The last
element in the heap (which is the only one on an extra level) is then inserted into the binomial queue
consisting of the remaining binomial trees, thus forming another binomial tree of 2 k − 1 elements. At that
point, the root has a subtree that is a heap of 2 k − 1 − 1 elements and another subtree that is a binomial tree of
2k−1 elements. Recursively convert that subtree into a heap; now the whole structure is a binary heap. The
running time for N = 2k satisfies T(N) = 2T(N/2) + log N. The base case is T(8) = 8.
6.8 a) Since each element in a min heap has children whose elements are greater than the value in the
element itself, the maximum element has no children and is a leaf.
c) Since the maximum element can be any leaf (the position of a node is determined entirely by the
value of its parent and children), all leaves must be examined to find the maximum value in a min
heap.
6.9 Let D1, D2, . . . ,Dk be random variables representing the depth of the smallest, second smallest, and kth
smallest elements, respectively. We are interested in calculating E(Dk). In what follows, we assume that the
heap size N is one less than a power of two (that is, the bottom level is completely filled) but sufficiently
large so that terms bounded by O(1/N) are negligible. Without loss of generality, we may assume that the kth
smallest element is in the left subheap of the root. Let pj, k be the probability that this element is the jth
Lemma.
k −1
For k > 1, E (Dk ) = p j ,k (E (D j ) + 1) .
j =1
Proof.
An element that is at depth d in the left subheap is at depth d + 1 in the entire subheap. Since
Since by assumption, the bottom level of the heap is full, each of second, third, . . . , k − 1th smallest
elements are in the left subheap with probability of 0.5. (Technically, the probability should be half − 1/(N −
1) of being in the right subheap and half + 1/(N − 1) of being in the left, since we have already placed the kth
smallest in the right. Recall that we have assumed that terms of size O(1/N) can be ignored.) Thus
1 k − 2
p j ,k = pk − j ,k = k −2
2 j −1
Theorem.
E(Dk) log k.
Proof.
The proof is by induction. The theorem clearly holds for k = 1 and k = 2. We then show that it holds for
arbitrary k > 2 on the assumption that it holds for all smaller k. Now, by the inductive hypothesis, for any
1 j k − 1,
Thus
Thus
k −1
E ( Dk ) 1 + p j , k log ( k 2)
j =1
k −1
1 + log ( k 2) p j , k
j =1
1 + log ( k 2)
log k
(b) Works for leftist and skew heaps. The running time is O(Kd) for d-heaps.
6.12 Simulations show that the linear time algorithm is the faster, not only on worst-case inputs, but also on
random data.
6.13 (a) If the heap is organized as a (min) heap, then starting at the hole at the root, find a path down to a leaf by
taking the minimum child. The requires roughly log N comparisons. To find the correct place where to move
the hole, perform a binary search on the log N elements. This takes O(log log N) comparisons.
(b) Find a path of minimum children, stopping after log N − log log N levels. At this point, it is easy to
determine if the hole should be placed above or below the stopping point. If it goes below, then continue
finding the path, but perform the binary search on only the last log log N elements on the path, for a total of
log N + log log log N comparisons. Otherwise, perform a binary search on the first log N − log log N
elements. The binary search takes at most log log N comparisons, and the path finding took only log N − log
log N, so the total in this case is log N. So the worst case is the first case.
(c) The bound can be improved to log N + log*N + O(1), where log*N is the inverse Ackerman function (see
6.14 The parent is at position (i + d − 2) d . The children are in positions (i − 1)d + 2, . . . , id + 1.
(d) d = max(2, M/N). (See the related discussion at the end of Section 11.4.)
6.16 Starting from the second most signficant digit in i, and going toward the least significant digit, branch left for
6.17 (a) Place negative infinity as a root with the two heaps as subtrees. Then do a deleteMin.
(b) Place negative infinity as a root with the larger heap as the left subheap, and the smaller heap as the right
(c) SKETCH: Split the larger subheap into smaller heaps as follows: on the left-most path, remove two
subheaps of height r − 1, then one of height r, r + 1, and so one, until l − 2. Then merge the trees, going
smaller to higher, using the results of parts (a) and (b), with the extra nodes on the left path substituting for
6.18 a. The minimum element will be the root. The maximum element will be one of the two children of the root.
b. Place the new element in the last open position (as in a regular heap). Now compare it to its parent. Now if
the new element was inserted into a max(min) row and was less (greater) than its parent. Then swap it with
its parent and now it need only be compared to other min elements and bubbled up min elements. If it is
greater (less) than its parent it need only be compared to other max elements bubbled up using the max
elements.
c) For a min deletion, remove the root . Let the last element in the heap be x . If the root has no children, then
x becomes the root. If find m the minimum child or grandchild of the root. If k Y m, then x becomes the
root. Other wise if m is the child of the root the m becomes the root and x is inserted in place of m. Finally if
m is the grandchild of the root, then m is moved to the root and if p is the parent of m, then if x > is p, then p
and x are interchanged.
d) yes. (see Atkinson et al., Min-Max Heaps and Generalized Priority Queues, Programming Techniques
and Data Structures, Vol 29, No. 10, pp. 996 - 1000, 1986.)
6.20
6.21 This theorem is true, and the proof is very much along the same lines as Exercise 4.20.
6.22 If elements are inserted in decreasing order, a leftist heap consisting of a chain of left children is formed. This
6.23 (a) If a decreaseKey is performed on a node that is very deep (very left), the time to percolate up would be
prohibitive. Thus the obvious solution doesn’t work. However, we can still do the operation efficiently by a
combination of remove and insert. To remove an arbitrary node x in the heap, replace x by the merge of its
left and right subheaps. This might create an imbalance for nodes on the path from x’s parent to the root that
would need to be fixed by a child swap. However, it is easy to show that at most logN nodes can be affected,
6.24 Lazy deletion in leftist heaps is discussed in the paper by Cheriton and Tarjan [10]. The general idea is that if
the root is marked deleted, then a preorder traversal of the heap is formed, and the frontier of marked nodes is
removed, leaving a collection of heaps. These can be merged two at a time by placing all the heaps on a
queue, removing two, merging them, and placing the result at the end of the queue, terminating when only
6.25 (a) The standard way to do this is to divide the work into passes. A new pass begins when the first element
reappears in a heap that is dequeued. The first pass takes roughly 2*1*(N/2) time units because there are N/2
merges of trees with one node each on the right path. The next pass takes 2*2*(N/4) time units because of the
roughly N/4 merges of trees with no more than two nodes on the right path. The third pass takes 2*3*(N/8)
6.27
6.28 This claim is also true, and the proof is similar in spirit to Exercise 4.20 or 6.21.
6.29 Yes. All the single operation estimates in Exercise 6.25 become amortized instead of worst-case, but by the
definition of amortized analysis, the sum of these estimates is a worst-case bound for the sequence.
6.30 Clearly the claim is true for k = 1. Suppose it is true for all values i = 1, 2, . . . , k. A Bk + 1 tree is formed by
attaching a Bk tree to the root of a Bk tree. Thus by induction, it contains a B0 through Bk − 1 tree, as well as the
6.31 Proof is by induction. Clearly the claim is true for k = 1. Assume true for all values i = 1, 2, . . . ,k. A Bk + 1
k
tree is formed by attaching a Bk tree to the original Bk tree. The original thus had nodes at depth d. The
d
k
attached tree had nodes at depth d−1, which are now at depth d. Adding these two terms and using a
d − 1
6.34
template<typename Comparable>
struct BiQueNode
{
Comparable item;
vector<BiQueNode *> pointers;
BiQueNode<Comparable> (Comparable e) : item(e) {}
};
template <typename Comparable>
class BinomalQue
{
private:
vector<BiQueNode<Comparable>> biQue;
};
6.37
/*
Bin packing
*/
#include <vector>
#include <queue>
using namespace std;
const double Cap = 1.0;
class Bins
{
private:
vector<double> bins;
priority_queue<double> heapBins;
public:
Bins(int size = 0)
{bins.resize(size);
for (int i = 0; i < size; i++)
bins[i] = 0;
}
void clear() {bins.clear();}
int size(){ return bins.size();}
void insertFirstFit(double item) // a.
{
for (int i = 0; i < bins.size(); i++)
if (bins[i] + item < Cap)
{
bins[i] += item;
return;
}
bins.push_back(item);
}
int insertWorstFit(double item) // b
{
static int size = 0;
double maxRoom;
if (heapBins.empty())
heapBins.push(Cap - item);
else
{
maxRoom = heapBins.top();
if (maxRoom > item) // there is room
{
heapBins.pop();
heapBins.push(maxRoom - item);
}
else
{heapBins.push(Cap - item);
size++;
}
}
return size;
}
void insertBestFit(double item) // c
{
double gap =Cap;
int gapIndex = -1;
if (bins.size() == 0)
bins.push_back(item);
else
{
for (int i = 0; i < bins.size(); i++)
if (bins[i]+item < Cap && bins[i]+item < gap)
{
gap = Cap - bins[i] - item;
gapIndex = i;
}
if (gapIndex < 0)
bins.push_back(item);
else
bins[gapIndex] += item;
}
}
};
d. yes
6.38 Don’t keep the key values in the heap, but keep only the difference between the value of the key in a node
6.39 O(N + k log N) is a better bound than O(N log k). The first bound is O(N) if k = O(N/log N). The second
bound is more than this as soon as k grows faster than a constant. For the other values (N/log N) = k = (N),
the first bound is better. When k = (N), the bounds are identical.
Random documents with unrelated
content Scribd suggests to you:
objected to her presence in the sick-room with the unreasoning
vehemence of the delirious. It was impossible to dismiss Miss Graves
without some valid excuse, and equally impossible to secure another
nurse in Auburn. So most of the care devolved upon Barbara, much
to David’s satisfaction, for he called constantly for his sister, and
seemed most contented when her hands smoothed the hot pillow or
gave the sleeping-draught.
To the management of the housework, Barbara gave little
thought. Meals were scarcely an incident in those days of waiting.
Little by little, as conditions grew graver in the invalid’s room,
Barbara gave up more and more of her household duties, yet she
was vaguely aware that things went on like clockwork downstairs.
The meals that appeared upon the table were delicious, and yet
Susan’s part in them was not obvious. She slipped in and out of the
house at all hours, always bringing comfort with her, and yet
bestowing it so quietly that it seemed the gift of a beneficent fairy.
Every critical thing that Barbara had ever said of the provincialism
and officiousness of Auburn folk came back to her during these days
of trouble. When Mrs. Willowby came with advice or encouragement,
when the Enderby children brought home David’s school-books,
when Miss Pettibone came running “across lots” with beef tea or a
plate of doughnuts, when Mr. Ritter pressed his telephone into
service, and agreed to carry all messages, that the sick child might
not be disturbed, when even Miss Bates stopped at the door to
inquire affectionately about the invalid, and when all the town
combined to keep the news from Mrs. Grafton, Barbara’s conscience
was stricken. Her heart warmed with gratitude, and the meaning of
the word neighborliness was, for the first time, made clear to her.
And yet, with all the kindliness and helpfulness that Auburn could
bestow, there was plenty left for the girl to do. It was Barbara who
answered the door, who took the messages, who encouraged the
children, who cheered Jack, who comforted her father, who assisted
the nurse, who was brave when conditions were most discouraging,
and sunny when the clouds hung lowest. And it was Barbara, too,
who sat beside the bed, ready to rub the aching side or smooth the
feverish brow, and who met, with a sinking heart, the
discouragement that each day brought.
It was the middle of October before the crisis came. An early frost
had stripped the flower beds, withered the vines, and left the yard
bare. Barbara, looking out of the window through a blur of rain, on
the day when David’s fever was highest, was vaguely relieved by the
desolation outside. Sunshine out of doors would have been a
mockery. She stood with her back toward the bed and her face
toward the street, but her eyes saw nothing but the wasted little
form that tossed restlessly to and fro, and her ears heard only the
heavy breathing, broken, now and then, by a moan. Miss Graves had
gone to get a few hours’ sleep to fortify herself for the vigil of the
night, and Dr. Grafton, in the next room, was consulting with Dr.
Curtis. The house was so still that their low voices were plainly
audible. The words were not distinct, but the discouraged note in
her father’s speech fell heavily upon the girl’s heart. “They are
afraid,” she said to herself.
She turned from the desolate window to the bed, and with pale
lips and dry eyes gazed down at the little brother. David tossed
restlessly upon his pillow, and called aloud for Barbara.
“I’m here, dear,” said the girl, taking the small, hot hand in hers;
but the boy flung it away with a strange strength.
“I want Barbara,” he cried.
At the sound of the hoarse voice, Dr. Grafton hurried back into
the room, followed by Dr. Curtis. And then began a fight with death
that Barbara never forgot. Pushed aside as merely an onlooker, the
girl watched, with a sort of curiosity, the man that she saw for the
first time in her life. The father she had always known had vanished;
in his place was the skilled physician, who seemed to have thought
for the patient rather than the son. The two doctors worked like one
machine,—fighting the fever back step by step, beating it, choking it,
quenching it; pitting against it strength and science and skill. And
when it finally succumbed, and David was snatched from the
burning, a poor little wasted wraith of life, Barbara understood the
worship that Dr. Grafton’s patients gave him.
“We’ve won out,” he said. “The fever’s left the boy. Now if we can
only keep him alive to-night—”
The doctor’s eyes filled. “Thank God,” he said, “she won’t have to
be, this time!”
CHAPTER XII
THE END OF THE INTERREGNUM
Are you disappointed to find that your talents do not lie along
the psychological paths of lofty, intellectual labor? Does this story
of your experiences of one summer seem too trivial for your
effort? I think not, my dear, if the change in the tone of your
letters can be depended upon for inference. We shall talk this
over when I am once more at home, and can relieve my brave,
strong girl of the burdens which she has borne for four long
months.
There was more in the letter, but Barbara did not read it. She
danced about the hall with such abandon that her father opened his
office door, and regarded her with amazement.
“Has my housekeeper taken leave of her senses?” he asked
affectionately.
“On the contrary,” returned Barbara, saucily, “she has just
regained them. Father dear, I realize that we must not all aspire to
high tragedy or classic sublimity. High comedy seems to be more in
my line.”
Her father looked at her with his eyes softening more and more.
“Come in here,” he said, and closed the door behind them.
“Barbara, my dear,” he began, looking at her over his spectacles,
“I have a kind of confession to make to you.”
“Another one!” thought Barbara.
“When you came home last June, things were a little hard for
you, and seemed still harder, didn’t they?”
“Well, rather!” said Barbara, slangily.
“Your point of view was young and uncompromising, and—yes—
rather toploftical.”
“I know it.”
Her father smiled. “You surveyed the world from a collegiate
summit, and found it woefully lacking. Well, so it is lacking, but all
the advice from all the lofty heights in the world will never make it
better. We must come down into the plain, and struggle with the
common herd, and help to raise it by our individual effort; glad to be
a living, toiling part of great humanity, like every one else; never the
isolated, censorious onlooker who does not share the common lot.
This is one of the hardest lessons for youth to learn, and I have
watched you learn it, during all these long, hard months.”
“If I only have really learned it!” put in Barbara.
“I have stood aside,” her father continued. “Sometimes I did not
help you, even when I might, and you thought me undiscerning or
abstracted. Barbara, my dear, you have done it all yourself, and I am
very, very proud of my firstborn.”
Barbara crimsoned with pleasure. “I’ve made awfully silly
mistakes,” she said, “and you have been so dear and patient.”
She kissed her father gratefully. As she went upstairs, her mind
was filled with wonder that she should ever have misunderstood him
so completely, and have complacently ascribed to herself intellect
and culture and knowledge superior to his. She found herself feeling
actually grateful for the events of her life since June.
“What if I had never known his darlingness!” she said.
It was not many hours before Auburn knew of the expected
arrival of Mrs. Grafton. Miss Bates had constituted herself an
information bureau, and had flitted hither and thither with an alacrity
not at all hindered by her rage against the younger Graftons.
About four o’clock in the afternoon, as Barbara was giving
capable directions in the kitchen, a knock sounded on the door.
“I just ran in this way,” said Susan, “because I wanted to
congratulate you, and to see if you don’t want this chocolate cake
for supper. Barbara, what are you laughing at?”
“This is the third cake I have received to-day for mother,” giggled
Barbara, “and four chickens are waiting to be consumed. But put it
down, Sue dear, and Jack will make a hole in it very soon.”
“Well, anyway,” Susan declared, “it’s because every one loves your
mother so much! And it is also because every one recognizes your
pluck.”
“Everybody in this whole town is lovely!” answered Barbara.
Susan smiled. But there was no triumph in her face, only joy that
her friend had come into her own.
“It is half-past five!” announced Barbara from the window-seat of
the living-room. “Father has gone to the train almost an hour ahead
of time. Everything in the house is in perfect order; supper is nearly
ready; David isn’t tired; and we are all ‘neatly and tastefully attired’
for the occasion. Won’t mother be impressed!”
“Not by Gassy,” answered Jack. “Gassy has a hole in her stocking
above her shoe, and I don’t know how many below. Her waist has
two buttons missing in the back; still, her hair is somewhat
improved, and that’s one comfort.”
“I look as well as you,” retorted Gassy, carrying the work-basket
over to her sister. “You have some soot on your face, and I won’t tell
you where, and nobody else shall, either.”
“Am I clean?” asked David, plaintively.
“Clean!” exclaimed Jack. “Why, David, you’re as clean as a piece
of blank paper, and just as thin. Turn your face to mother when she
comes in, for she won’t be able to see you if she catches a glimpse
of you sideways.”
“How tiresome you are, Jack!” observed Gassy, condescendingly.
“I—”
She was interrupted by a series of bumps and scrapings in the
cellar below, followed by a strange wailing moan.
“Hark from the tombs a doleful sound!” cried Jack, rising. “I’ll bet
a quarter it’s the Kid.”
It was the Kid. Clad in a clean white sailor suit, and finding time
pressing heavily on his hands, he had bethought himself of a gift
with which to meet his mother,—none other than one of the new
kittens which had been born two weeks before and were now
passing their infancy on an old rug at the bottom of a barrel in the
cellar. Having made an expedition to the barrel, the Kid had
endeavored to gain one of the feline offspring by reaching over into
the dark depths, with a logical result of falling headlong into the
barrel. The muffled shrieks which the family heard, and the sounds
of scraping, were such as would naturally proceed from the attempts
of a small boy to rescue himself from an uncomfortable posture.
When Jack arrived upon the scene, the Kid had just succeeded in
freeing himself by tipping over the barrel and crawling out. Being
blinded and confused by the length of time in which he had been
standing on his head, he had made a wild dive for the door, and
found himself prone on the piles of coal on the cellar floor.
“Well, here’s a mess!” cried Jack, with disgust, picking him up and
dragging him along to the upper regions. “Look at this, Barbara; and
there are only ten minutes to change his clothes.”
Barbara hurried the little boy upstairs without a word of reproach.
She washed him quickly, and was struggling with a stiff new linen
suit, when the sound of a carriage came to her ears.
“I love you, Barbara, for changing me,” the Kid said humbly.
She kissed him affectionately. “Now your tie,—there!”
The carriage had stopped. She heard Jack’s excited voice
downstairs. The Kid made a desperate wriggle from her and fled
down the steps, shouting for his mother. Barbara felt a sudden pang
as he left her,—a pang of loneliness and desertion. She stood still a
moment, and then, almost before she had time to move, a quick
step sounded on the stairs, a new, fresh mother came swiftly into
the room, and two strong, firm arms held her close.
“Barbara, my brave, splendid daughter!” said the most motherly
voice in the world.
Barbara’s reign was over.
1.D. The copyright laws of the place where you are located also
govern what you can do with this work. Copyright laws in most
countries are in a constant state of change. If you are outside
the United States, check the laws of your country in addition to
the terms of this agreement before downloading, copying,
displaying, performing, distributing or creating derivative works
based on this work or any other Project Gutenberg™ work. The
Foundation makes no representations concerning the copyright
status of any work in any country other than the United States.
1.E.6. You may convert to and distribute this work in any binary,
compressed, marked up, nonproprietary or proprietary form,
including any word processing or hypertext form. However, if
you provide access to or distribute copies of a Project
Gutenberg™ work in a format other than “Plain Vanilla ASCII” or
other format used in the official version posted on the official
Project Gutenberg™ website (www.gutenberg.org), you must,
at no additional cost, fee or expense to the user, provide a copy,
a means of exporting a copy, or a means of obtaining a copy
upon request, of the work in its original “Plain Vanilla ASCII” or
other form. Any alternate format must include the full Project
Gutenberg™ License as specified in paragraph 1.E.1.
• You pay a royalty fee of 20% of the gross profits you derive
from the use of Project Gutenberg™ works calculated using the
method you already use to calculate your applicable taxes. The
fee is owed to the owner of the Project Gutenberg™ trademark,
but he has agreed to donate royalties under this paragraph to
the Project Gutenberg Literary Archive Foundation. Royalty
payments must be paid within 60 days following each date on
which you prepare (or are legally required to prepare) your
periodic tax returns. Royalty payments should be clearly marked
as such and sent to the Project Gutenberg Literary Archive
Foundation at the address specified in Section 4, “Information
about donations to the Project Gutenberg Literary Archive
Foundation.”
• You comply with all other terms of this agreement for free
distribution of Project Gutenberg™ works.
1.F.
Most people start at our website which has the main PG search
facility: www.gutenberg.org.