Solution Manual for Data Structures and Algorithm Analysis in C++, 4/E 4th Edition : 013284737Xpdf download
Solution Manual for Data Structures and Algorithm Analysis in C++, 4/E 4th Edition : 013284737Xpdf download
http://testbankbell.com/product/solution-manual-for-data-
structures-and-algorithm-analysis-in-c-4-e-4th-
edition-013284737x/
TestBankBell.com: Your Ultimate Source for Test Banks and Academic Resources
Keywords:
test bank, academic resources, study guides, test preparation, testbankbell, download test
bank, textbook solutions
Contact Information:
Visit us at: https://testbankbell.com - For inquiries, email us:
[email protected]
Important Links:
Download Test Banks: https://testbankbell.com/
https://testbankbell.com/product/solution-manual-for-data-structures-
and-algorithm-analysis-in-c-2-e-2nd-edition-0201498405/
testbankbell.com
https://testbankbell.com/product/solution-manual-for-data-structures-
and-other-objects-using-c-4-e-michael-main-walter-savitch/
testbankbell.com
https://testbankbell.com/product/solution-manual-for-data-structures-
and-problem-solving-using-java-4-e-4th-edition-0321541405/
testbankbell.com
https://testbankbell.com/product/test-bank-for-data-structures-and-
algorithms-in-c-2nd-edition-by-goodrich/
testbankbell.com
Solution Manual for Data Structures and Algorithms in Java
1st Edition, Peter Drake
https://testbankbell.com/product/solution-manual-for-data-structures-
and-algorithms-in-java-1st-edition-peter-drake/
testbankbell.com
https://testbankbell.com/product/solution-manual-for-dynamics-of-
structures-4-e-4th-edition-0132858037/
testbankbell.com
https://testbankbell.com/product/solution-manual-for-data-structures-
and-problem-solving-using-c-2-e-mark-a-weiss/
testbankbell.com
https://testbankbell.com/product/solution-manual-for-c-programming-
program-design-including-data-structures-6th-edition-d-s-malik/
testbankbell.com
https://testbankbell.com/product/test-bank-for-general-organic-and-
biological-chemistry-structures-of-life-4-e-4th-edition-karen-c-
timberlake/
testbankbell.com
Solution Manual for Data Structures and Algorithm Analysis in
structures-and-algorithm-analysis-in-c-4-e-4th-edition-013284737x/
CHAPTER 1
Introduction
1.1
/*
Exercise 1.1
Selection of integers with k = N/2
select1 => sorting and selecting
select2 => keeping top k
*/
#include <iostream>
#include <ctime>
#include <cmath>
#include <vector>
#include <algorithm>
using namespace std;
sortDec(topK);
for (auto i = k; i < nums.size(); i++)
{
if (nums[i] > topK[k-1])
{
for (auto j = k-2; j >=0 ; j--)
if (nums[i] < topK[j])
{topK[j+1] = nums[i]; break;}
else
topK[j+1] = topK[j];
if (topK[0] < nums[i])
topK[0] = nums[i];
}
}
return topK[k-1];
}
int main()
{
vector<int> nums;
int selected;
time_t start, end;
srand(time(NULL));
for (auto numInts = 1000; numInts<=10000; numInts+=1000)
// sizes 1,000, 2,000, 3,000, ...10,000
{
nums.resize(numInts);
start = time(NULL);
for (auto i = 0; i < 10; i++) // run 10 times
{
for (auto j = 0; j < numInts; j++)
nums[j] = rand()%(2*numInts);
selected = select1(nums); // or selected = select2(nums);
}
end = time(NULL);
cout<<numInts<<"\t"<<difftime(end,start)<<endl;
}
return 0;
}
180
160
140
120
100
Time of Select1
80
Time of Select2
60
40
20
0
0 2000 4000 6000 8000 10000 12000
2. /*
Word Puzzle problem
from the example in figure 1.1
*/
#include<iostream>
#include<fstream>
#include<string>
#include<vector>
#include "matrix.h"
#include<algorithm>
struct Orientation
{
Orientation() : delRow(0), delCol(0) {}
Orientation operator() (int direction)
{
switch (direction)
{
case 0 : delRow = -1; delCol = -1; break;
case 1 : delRow = -1; delCol = 0; break;
case 2 : delRow = -1; delCol = 1; break;
case 3 : delRow = 0; delCol = -1; break;
case 4 : delRow = 0; delCol = 1; break;
case 5 : delRow = 1; delCol = -1; break;
case 6 : delRow = 1; delCol = 0; break;
case 7 : delRow = 1; delCol = 1; break;
}
return *this;
}
int delRow;
int delCol;
};
class Puzzle
{
public:
Puzzle(int numRows, int numCols )
{
matrix<char> temp(numRows,numCols);
puzzle= temp;
initPuzzle();
}
Puzzle(int numRows , int numCols , vector<string> wordList) : dictionary(wordList)
{
matrix<char> temp(numRows,numCols);
puzzle= temp;
initPuzzle();
}
void solvePuzzle();
void findWords(int startRow, int startCol, Orientation orient);
private:
void initPuzzle();
matrix<char> puzzle;
vector<string> dictionary;
};
void Puzzle::initPuzzle()
{
puzzle[0][0] = 't';
puzzle[0][1] = 'h';
puzzle[0][2] = 'i';
puzzle[0][3] = 's';
puzzle[1][0] = 'w';
puzzle[1][1] = 'a';
puzzle[1][2] = 't';
puzzle[1][3] = 's';
puzzle[2][0] = 'o';
puzzle[2][1] = 'a';
puzzle[2][2] = 'h';
puzzle[2][3] = 'g';
puzzle[3][0] = 'f';
puzzle[3][1] = 'g';
puzzle[3][2] = 'd';
puzzle[3][3] = 't';
}
void Puzzle::solvePuzzle()
{
Orientation orient;
for ( auto startRow = 0; startRow < puzzle.numrows(); startRow++)
for ( auto startCol=0; startCol < puzzle.numcols(); startCol++)
for (auto i = 0; i < 8 ; i++)
findWords(startRow,startCol,orient(i));
}
int main()
{
string diction[] = {"this", "two", "fat", "fats", "at", "wad", "ad", "hat", "that",
"his","is","it","ah"} ;
vector<string> dictionary(diction,diction+ 12);
Puzzle puzzle(MAXROWS, MAXCOLS, dictionary);
puzzle.solvePuzzle();
return 0;
}
1.3
void printDouble(double x)
{
if (x < 0)
{
cout<<"-";
x = -x;
}
int intPart = floor(x);
double fract = x - intPart;
printOut(intPart);
cout<<".";
while (fract<1 && fract > 0.0000000001)// 0.0000000001 is machine accuracy.
{
fract *= 10;
printDigit(floor(fract));
fract = fract - floor(fract);
}
}
1.4
which opens f il eNa me, does whatever processing is needed, and then closes it. If a line of the form
#include SomeFile
processFile( SomeFile );
is made recursively. Self-referential includes can be detected by keeping a list of files for which a call to
p ro ce s sF ile has not yet terminated, and checking this list before making a new call to p ro ce s sF ile .
1.5
1.6
void permute(const string & str, int low, int high)
{
char letter;
string tmp = str;
if (low >= high)
cout<<str<<endl;
else
{
for (auto i= low; i < str.size(); i++)
{
swap(tmp[0], tmp[i]);
permute(tmp, low+1, high);
}
}
}
1.7 (a) The proof is by induction. The theorem is clearly true for 0 < X 1, since it is true for X = 1, and for X
< 1, log X is negative. It is also easy to see that the theorem holds for 1 < X 2, since it is true for X = 2,
and for X < 2, log X is at most 1. Suppose the theorem is true for p < X 2 p (where p is a positive integer),
and consider any 2p < Y 4p (p 1). Then log Y = 1 + log( Y /2 ) < 1 + Y/2 < Y/2 + Y/2 Y, where the
(b) Let 2X = A. Then A B = ( 2 X ) B = 2 X B . Thus log A B = XB. Since X = log A, the theorem is proved.
1.8 (a) The sum is 4/3 and follows directly from the formula.
S 14 2
3
L . 4S 1 2
3
L .
(b) 42 43 4 42 Subtracting the first equation from the second gives
3S 1 1
2
L .
4 42 By part (a), 3S = 4/3 so S = 4/9.
S 14 4
9
L . 4S 1 4
9
163 L .
(c) 42 43 4 42 4 Subtracting the first equation from the second gives
3S 2 i
1i .
3S 1 3
5
7
L . 4i 4
4 42 43 Rewriting, we get i 0 i 0 Thus 3S = 2(4/9) + 4/3 = 20/9. Thus S =
20/27.
i4 .
N
i
(d) Let S N = i 0 Follow the same method as in parts (a) – (c) to obtain a formula for S N in terms of SN–1,
SN–2,..., S0 and solve the recurrence. Solving the recurrence is very difficult.
N N N / 2 1
1
i
1i 1
i
ln N ln N /2 ln 2.
i N / 2 i 1 i 1
1.9
1.10 24 = 16 1 (mod 5). (24)25 125 (mod 5). Thus 2100 1 (mod 5).
1.11 (a) Proof is by induction. The statement is clearly true for N = 1 and N = 2. Assume true for N = 1, 2, ... , k.
k 1 k
Fi Fi Fk 1.
Then i 1 i 1 By the induction hypothesis, the value of the sum on the right is Fk+2 – 2 + Fk+1 =
Fk+3 – 2, where the latter equality follows from the definition of the Fibonacci numbers. This proves the claim
and N = 2, the statement is true. Assume the claim is true for N = 1, 2, ... , k.
Fk 1 Fk Fk 1
by the definition, and we can use the inductive hypothesis on the right-hand side, obtaining
Fk 1 k k 1
1 k 1 2 k 1
Fk 1 ( 1 2 ) k 1 k 1
(c) See any of the advanced math references at the end of the chapter. The derivation involves the use of
generating functions.
N N N
(2i 1) 2 i 1
1.12 (a) i 1 i 1 i 1 = N( N + 1) – N = N2.
(b) The easiest way to prove this is by induction. The case N = 1 is trivial. Otherwise,
N 1 N
i3 ( N 1)3 i3
i 1 i 1
N 2 ( N 1) 2
( N 1)3
4
N2
( N 1) 2 ( N 1)
4
N 4N 4
2
( N 1) 2
4
( N 1) 2 ( N 2) 2
22
2
( N 1) ( N 2)
2
2
N 1
i
i 1
1.15
class EmployeeLastNameCompare
{
public:
bool operator () (const Employee & lhs, const Employee & rhs) const
{ return getLast(lhs.getName())< getLast(rhs.getName());}
};
1.16
matrix() : array(10)
{for( auto & thisRow : array )
thisRow.resize( 10 );
}
È
È vero che quando chiese di poter esercitare la professione
guadagnata a furia di studio e di operosità, la sua domanda venne
respinta col pretesto che non c'era una legge che permettesse alla
donna l'esercizio dell'avvocatura.
Ma poi questa legge fu presentata al Parlamento, e dopo esser stata
per parecchi mesi ad aspettare il suo turno venne accolta, ed ora la
carriera del foro, se non ancora quella della magistratura, è aperta
alla donna francese.
Nel Belgio invece, Maria Popelin, e da noi la signorina Poël, laureate
in legge, invano chiesero di venir ammesse ad esercitare la
professione alla quale avevano diritto per gli studi fatti.
È un ostracismo ingiusto che non potrà continuare a lungo se le
nuove avvocatesse non cesseranno di patrocinare la loro causa, visto
che vien loro negato di perorare quella degli altri; se la donna
fermamente vuole, riesce finalmente a vincere, come ce ne ha dato
l'esempio la donna francese.
Non serviranno certo a scoraggiare dall'impresa tutte le caricature
dei giornali umoristici che si scagliano contro le nuove avvocate, nè
tutto lo spirito di cui fanno pompa per seppellirle col ridicolo. Vedere
una donna in toga non credo che sia cosa più buffa del vederla
vestita da ciclista, e forse un bel volto giovanile darà grazia anche a
quella veste severa; del resto voglio sperare che le donne avvocate
siano tali da imporsi al pubblico, il quale si dimenticherà di deriderle
per ammirarle; poi il mondo si abituerà alle donne avvocate come si
è già abituato alle operaie, alle scrittrici ed alle maestre.
In America sono già circa trent'anni che le donne vennero ammesse
a patrocinare dinanzi ai tribunali ed ora si contano a centinaia le
donne che esercitano l'avvocatura.
Troppe sono le opposizioni che incontra questa carriera in Italia per
poter sperare che l'esempio dell'America venga presto seguito, troppi
uomini fanno ressa alle professioni libere, e quantunque stimino la
donna meno forte intellettualmente, pure, — e ciò è una
contraddizione, — ne temono la concorrenza.
Chi si sente forte non dovrebbe temere; perchè chi resterà indietro
sarà il più debole, a vantaggio del più intelligente, di quello che avrà
più seriamente studiato e che sarà spinto dall'amore alla sua carriera
e non da una stupida vanità di acquistarsi un titolo accademico.
Succederà una specie di selezione e la professione ne ricaverà
vantaggio e dignità.
Che la donna non sia adatta alle battaglie del foro, non si può
pensarlo, non è certo la parola o gli argomenti che le mancano:
trattandosi poi di difendere il debole e l'oppresso, troverà parole
eloquenti a favore d'una causa che per tanto tempo è stata la sua, e
colla voce insinuante, il cuore infiammato per una causa santa
troverà accenti tali da ottenere vittorie inaspettate.
È certo che, penetrata nei tribunali, un vasto campo e nuovo si oltre
alla sua operosità; fatto il primo passo, potrà aspirare alla
magistratura, alla politica, e nuove vittorie potrà ottenere nel campo
della civiltà. La questione della donna, questione che ora cammina a
passi di lumaca, farà allora passi da gigante, il codice sarà
modificato, e stabilite leggi più giuste a favore dei deboli e più in
rapporto col progresso dei tempi.
Forse allora non sarà una menzogna il detto: La legge è uguale per
tutti, ch'è scritto sulle pareti delle aule dove si dovrebbe
amministrare la giustizia.
Non amo nè le parolone, nè le ribellioni; ma trovo ingiusto che da
una parte del genere umano ci siano tutti i doveri e dall'altra tutti i
diritti, che una donna intelligente che ha fatto i medesimi studi
dell'uomo non possa aspirare alla medesima carriera, non possa
disporre delle sue sostanze, e, saggia e intelligente, debba
sopportare la tutela, magari d'un marito sciocco o imbecille, il quale
è padrone di opprimerla, tradirla e rovinarla senza che essa possa
invocare una legge giusta in suo favore.
Nel nostro paese, dove regnano l'apatia ed il misoneismo, questo
giorno mi pare alquanto lontano, ma intanto le coraggiose che
lottano per questa causa, non si sgomentino, esercitino la loro
eloquenza nelle riunioni a favore dei deboli e degli oppressi,
procurino di combattere i soprusi di cui furono e sono le vittime
principali, e in mancanza di meglio gli studi fatti potranno esser loro
utili nelle difficoltà della vita per i rapporti sociali e famigliari. Quante
famiglie non sono trascinate a soffrire per l'ignoranza delle donne! È
già una soddisfazione e una prova di coraggio essersi avviati in una
strada nuova, ed è la sorte dei precursori di passare solitarî ed
incompresi in mezzo alla folla della gente piccola e volgare.
X.
La donna nelle matematiche.
Nessuno può negare alla donna delle serie attitudini a ben governare
uno Stato e lo provano tutte le regine delle quali narra la storia, le
quali meglio dei re che le avevano precedute riuscirono, colla
fermezza di carattere e colla saggia arte di governo, a rendere i loro
popoli forti e potenti.
Del resto che cosa è una nazione se non una grande famiglia?
E come la donna sa ben governare la propria casa, amministrare le
proprie sostanze, non c'è una ragione perchè non sia capace non
solo di governare da sè, ma non possa almeno aver voce in capitolo
in ciò che riguarda il governo del suo paese.
Si parla continuamente di giustizia e di umanità, ma intanto si esita a
riformare il codice così antiquato e ingiusto verso la donna.
Nella vicina Svizzera i legislatori, vedendo che il vecchio codice non
corrispondeva più al progresso dei tempi, ebbero il coraggio di
mutarlo e in questa riforma ottennero il consenso di tutto il popolo.
Ed ora nella libera Elvezia, fra gli altri articoli ispirati a sentimenti
moderni, troviamo la perfetta uguaglianza fra tutte le persone
stabilite nello Stato; gli sposi che non vanno d'accordo possono
scegliere fra la separazione o il divorzio, e il nuovo codice concede
alla donna maritata l'esercizio dei diritti civili e consente la ricerca
della paternità. È da augurarsi che l'Italia segua in breve l'esempio
dello Stato limitrofo, ma un vero passo sarà fatto nella via del
progresso quando la donna avrà ottenuto il diritto del voto.
Tutti rammentano la lotta che si accese qualche tempo fa quando
alcune donne, forti dell'articolo dello Statuto che dice tutti i cittadini
eguali davanti alla legge, vollero inscriversi nelle liste elettorali. Si
fecero in quell'occasione polemiche, discussioni, se ne occuparono
magistrati, giureconsulti; la conclusione fu che la donna venne
esclusa dal diritto elettorale mentre si trovava prematuro che avesse
il voto politico prima di quello amministrativo, e pur troppo nella
legge comunale v'è un articolo in cui, mettendo insieme la donna
agli idioti, ai falliti e ai delinquenti, la si esclude dal diritto del voto.
Però se nulla si potè ottenere, l'agitazione non fu del tutto inutile; la
questione del voto fu portata alla Camera dei deputati dove trovò
uno strenuo difensore nell'onorevole Luigi Luzzatti, che, colla mente
che ha intuito i nuovi tempi ed ha saputo dar tanto impulso agli
istituti di previdenza, alla cooperazione e alle case popolari, vede
chiaramente il vantaggio che può derivare al paese preparando
l'ambiente allo sviluppo di nuove energie che chiedono solo di
potersi esplicare.
Bisogna esser molto retrogradi e misoneisti per escludere dalla vita
pubblica una metà di cittadini che ora vi prendono tanta parte o col
lavoro o coll'intelligenza; ed è assurdo che in un tempo in cui il
suffragio non è più limitato a pochi eletti ne sia esclusa la donna.
È uno spettacolo ingiusto e ridicolo vedere nel tempo delle elezioni
una donna che possiede vaste estensioni di terre ed è esperta
amministratrice dei suoi poderi, oppure quella che collo studio si
acquistò lauree e diplomi e un'altra che è a capo di fiorenti aziende
commerciali e industriali, starsene inoperose mentre vedono recarsi
all'urna e contadini e impiegati e domestici, tutti i loro dipendenti,
molto inferiori per intelligenza e dottrina.
È assurdo che una madre, la quale ha seguito i primi passi del
figliuolo, lo ha iniziato negli studî e per propria esperienza conosce i
migliori metodi d'insegnamento adatti alle diverse età, non venga
consultata in ciò che riguarda l'istruzione e non possa dare il voto
alla persona che giudica più atta a seguire la via giusta; è assurdo
che la donna che tanto si adopera nella beneficenza non sia
consultata sul modo di distribuire le somme raccolte, e così di
seguito; si votano nuove imposte che la colpiscono, si mandano alla
guerra i suoi figli, si aumentano i prezzi delle derrate, si prescrivono
norme per le abitazioni, materia in cui più d'ogni altro dovrebbe aver
voce in capitolo, e tutto senza consultarla, come se fosse un
fantoccio.
È un'ingiustizia che salta agli occhi e deve scuotere le persone di
buon senso; ed è sperabile che nuove leggi saranno votate che non
escluderanno la donna dalla vita pubblica, nè si dovrà aver timore
che si lasci suggestionare da perniciose influenze, poichè quel giorno
che fosse chiamata ad aver voce nel governo del suo paese sarebbe
più viva in lei la coscienza dei suoi doveri ed ella si mostrerebbe
all'altezza dell'ufficio a cui venne assunta.
Del resto, lasciando da parte le inutili disquisizioni, veniamo ai fatti.
Nei paesi dove la donna ha il voto amministrativo, tutti hanno
trovato la sua opera molto vantaggiosa; essa fece cessare lo
sperpero del denaro dei contribuenti e migliorare i pubblici servizî, ha
preso in considerazione il miglioramento delle strade, l'illuminazione
delle città e dei villaggi, e le opere benefiche ebbero un grande
impulso; i giudici si lodano delle donne che prendono parte ai
dibattimenti come giurati, trovano i loro giudizî coscienziosi e
conformi alla giustizia, e sono dispiacenti se, causa le occupazioni
domestiche, chiedono di essere esentate dal loro ufficio.
In alcuni Stati d'America, in quasi tutte le colonie inglesi dell'Australia
e della Nuova Zelanda, le donne hanno oltre al voto amministrativo
anche il voto politico e ovunque hanno fatto buona prova; le donne
elettrici esercitarono la loro missione col dare il voto ai candidati di
buona condotta e a quelli che combattono l'alcoolismo, con grande
vantaggio della moralità pubblica. Nel Colorado la signora Peavy
occupò con onore la carica di ministro dell'Istruzione pubblica, nello
Stato di Idaho l'on. Giorgio Wheeles, presidente della Camera,
affermò che dopo la concessione del voto, la donna ha sempre agito
magnificamente ed è stata di grande valore purificando la politica.
Nella lontana Irlanda, nell'isoletta di Mans e finalmente nella
Finlandia, in quella terra lontana dove la donna ha tutti i diritti e
dove siedono in Parlamento diciannove donne, non vi sono
analfabeti nè mendicanti e la delinquenza è quasi totalmente
sconosciuta; e questi sono fatti che dimostrano come il voto
concesso alla donna abbia portato dovunque benefici effetti.
E il numero dei paesi dove si concede il voto alla donna aumenta
continuamente; oltre l'Australia, la Nuova Zelanda, l'isola di Mans, la
Finlandia, la Norvegia, la Svezia, la Danimarca, si aggiungono a quel
numero undici Stati degli Stati Uniti e il territorio di Alaska.
In Inghilterra, non contente d'aver il voto amministrativo e di
prendere parte nei consigli scolastici e di beneficenza, le donne
combattono ora strenuamente per ottenere il voto politico; forse in
passato usarono troppa violenza non badando ai mezzi pur di
riuscire nel loro intento.
In Italia non abbiamo lo spirito d'associazione e di propaganda delle
anglo-sassoni, più nuove alla vita pubblica non siamo abbastanza
agguerrite per lottare con speranza di successo; ma vedo con
compiacenza che la coscienza femminile si risveglia anche fra noi e
ne sono prova le numerose associazioni che sorgono continuamente,
i congressi che si riuniscono e l'irrequietudine di chi si sente a
disagio e prova il bisogno di espandersi e di mettere a profitto le
energie latenti che si disperderebbero col rimanere più a lungo
inoperose.
È sperabile che dallo scambio d'idee e di propositi si possa far
qualche passo nella via del progresso. Ma la prima vittoria, quella
che aprirà la via a tutte le altre, dovrebbe esser quella di ottenere il
voto e incominciare da quello amministrativo, che le nostre nonne
hanno esercitato con onore e nella Toscana prima del sessanta e nel
Lombardo-Veneto sotto l'Austria, e che è concesso in molti Stati
meno evoluti del nostro. A questo devono tendere le associazioni
femminili e vedere che la parola donna sia cancellata dal famoso
articolo della legge comunale, non foss'altro per non lasciarla nella
compagnia poco esilarante dei cretini e dei delinquenti.
In molte città dell'alta Italia la donna è entrata nei consigli scolastici
e di beneficenza e la sua opera è sempre stata lodata ed apprezzata.
Ormai non è più permesso di sorridere quando la donna chiede di
essere ammessa al posto che giustamente le spetta, e non le può
mancare l'appoggio degli uomini di Stato più eminenti. È celebre la
frase di lord Salisbury che, a proposito dell'eleggibilità della donna
inglese nelle elezioni municipali, disse che non trovava che fosse più
ridicolo vedere la donna sedere come consigliere che vederla correre
in bicicletta.
Ed ora vengo alla conclusione, associando la mia debole voce a
quella poderosa dell'onorevole Luzzatti, per esprimere il desiderio
che il Governo porti sollecitamente alla Camera la legge pel voto alle
donne, ed esprimere la speranza che in un giorno non lontano la
metà del genere umano non sia esclusa dal diritto e dal dovere di
partecipare al governo del Comune e dello Stato.
XII.
La donna nella letteratura.