`
`- Enfish, LLC; |PR2014-00574
`'
`-
`Exhibit 2240
`
`‘
`
`.
`
`Page 1 of 5
`
`Enfish, LLC; IPR2014-00574
`Exhibit 2240
`Page 1 of 5
`
`
`
`
`
`LHJ‘I'II'} [If Cnngress FJlflnging—in-Puhflmilm Dull nn Fill:
`
`IIfin: Fri: E'iLiEni. and Edswrfii Dire-am. EC-S. .'-f.:l.r:.'i'c I Hurry"
`Executive Editor. Tracy Dim-tribergar
`.‘LESLSI-‘inT Edzmr {hm-k ling-mar
`Ethic-rial Afiistann {thn'mma Lt:- rim! Rug-1mm Dun“:
`
`Managing Editm ('uimiir Trzrrwcusin-
`Pmciucsi 0:: Editor Ray: Air-mun
`
`Diana: 0'; Crenu'v: Sen-ices. Pay! Brim-1;:
`L‘reatsI-e DBiLgusI'Bri-uc Kcrnciuur
`Cm e: Dcsignc r: Ilia-Ire Carrie
`Mar-aging EdLEDr.A"-' Manfigemcfii and Pnz-ducsmn Piamrin Ban-m
`Art Echlflr. Gregg} Daria:
`Ijlrflth'it Tmag: Flt-mutt: [Icnlur .i-i'ri'indar Hm
`Maria gm: Elihu. and Femiufiarrnfi: Irma .-‘. mind
`. iaaagtr. 1i'isual Rain-axis Hr!!! Hrrnzi-‘n'
`Managcr. Core: IIEli-1J3! Rrpcard'l and Pcrrriasqninnr Kan-n Emma?
`Nianu‘fanunng Hanngnn ESM' Alena Hum-£51413
`Manufacturing Emmi Hm HrDrm-ri}
`Mark-H1113: “31135:: Mark Panama
`E 3.11131 Pcamn Education. in:
`Pun—firm Prrrsi'iizr: Hall
`Pea mm Ed nation. In:
`Yppcr 5min Flu-er, N] “TIES
`
`
`
`A1] ughss rficnci Nn part nr Ihr‘i hnnic ma} hi: mprn-duccci 1n .15} fnrn'l air by an} rncans. wirhnut pcrmusinn in “11:-
`in;:_ I'mrn the publisher.
`Pcarsc-n E'i‘BflIICE Haw“- l’: a trademark 0! Pearson Educauan. Im:
`Ail mhrr Trfidmfirki or prodiiz': i‘ln'i‘i‘ln an it: pray-3n- rlf rhm‘ir reawcfii: mm!!!-
`
`‘F'JLLLEIi Ca--- ii 3 rtgztrertd liednmfiri ul' 1321: “inn-suit rnrpnrahun fine-'V'Eitmsnii ‘r‘i'ay. RddmnadfiVAHEEE-BW
`
`The nuLhu: uni publishrf of mg 'Du-uk i1.“ r uscd th:ir bet-l: :ff-Jm In prcparmg ill-J: book. These affairs include the {IE
`veiopmem. Iti-E'flli‘h. .md LIE-31in}: of the {ht-arias and [.1113ng :0 dfli-imme tine-LI Efiecuvsaaemflc aisthar and gm!!-
`ILshe: maize no warranty of an}: 5mm. “passed at implied. wish rfignm [a mess magmms Br the uncumcniatmn
`mnmincd in mi; bootIhc .iuihur and puhiisite: 531%: not be iiatlie L'1 nu} Men: tor Incidental or cu‘lnscqurnna! alum-
`ngcs in mm‘l caiinn wiih. nr ammg our oi. The rumiihing. perirrrrnanal. 01' HE: "E These prngrfirm
`Frlfiitd in Eh: Unilad Slat-:1. LII Amtfica
`ll'iilFdefi-lll‘l
`
`ISBN-’- D‘lEI‘qufiBEI‘E
`fi'r‘fi‘fl'dfl‘ IEEUEI'FE
`
`Fan's-an Eduzal'tnn [.1.._"., Leader”
`Pea rwn deaiion Auairaiia Fur: Lid. Strinei'
`Ptumm Eduairun fingfipnrc. P1c. Lu:
`Pcanm Eduza'linr. “innit Jun: LHL. Hal-r5: Hang
`:arsun Eduzntiun Canndn. 111;.
`.I'brnrrm
`
`Frannn Educatifil: d: Harm, S. .-'i.. '.E-: F. V.
`P: ET‘ErE'Ii Educasinr: —.1a-p.in. Twin-o
`Pcfirsnn FLI-Jcannn \Iaiayaia. Pt: LEL‘L
`FtfiTfi-‘ln Edualjafi. ln£.. Fri-Tar .‘inddi: Rib-H. Nun LEE".-
`
`Page 2 of 5
`
`Enfish, LLC; |PR2014-00574
`Exhibit 2240
`
`Enfish, LLC; IPR2014-00574
`Exhibit 2240
`Page 2 of 5
`
`
`
`
`
`Classes and Data Structures
`
`Ieflfi'ey S. Childs
`
`This s‘l'i.u:l.Eril—I':rieridlg.r guide to CH- data structures is grounded l:i.i:|'.i'|l'_l.r in the realities of modern SDH'I'L'JW
`development and the needs of the working programmer. Ieffrefr S Childs offers eliceptionally clear and
`shnple eirplariaijmis of every lie]? data structure concept, explaining why; data strucnires are valuable.
`how to choose among them. and how to implement them elfeetirely and efficiently.
`
`Childs begins with a thorough primer on Elasses. giving students the foundation thev need it: use data
`structures b‘ltcoeafii'uflly. NEH. he introduces methods for treating data structures, including iJnked lists.-
`and EKPafldeigi'EDfllIaEllflg 11ij arrays. He explains how time complexities impact execution speed.
`helping programmers. understand critical performance tradeotfs Then. building on these trmdamentals.
`he oattetitllir introduces each common data 3mm. from hash tables to tar-Lari. search trees
`
`This book‘s litany.r examples are designed to reflect issues- of spew]. memory usage. reliability; and
`Warmer toris'eniflire Coriseplual discussions refer to Specific line numbers in code examples,
`connecting concepts to actual hnplernematim-is Similarly: exercise: address meaningful issues faced by
`working prograomm. All examples have been compiled and tested with Visual C- r EDGE-3. and can run
`on Microsoft's free Visual C-—i— 11135 Express EEllefll'fl. Conceptual explanations are carefully designed to
`support prom Wmliifl'tg in air-11:.r modem language. Carnage includes:
`
`" Class concepts: operator overloading. coral spatifiers. alts-Iranian, cominrcl'urs. dosh-actors,
`cop]: constructors, class modification
`
`' Pointers: and dynamic arrays
`
`. {Emmott-ed essentials- torri'poiififlrh jIfllEi'infiIlE and polymorphism
`* Using class templates to build tiara shut-tum
`
`" Creating data sla‘umir'es with arrays and linked lists
`* Blacks and queues: aria]: arid linked list implementations
`.-
`ljnderslfintling linked fish". as data smhtres
`
`, including their usage in doiihli'vlinlied lists
`' Hash Iabl
`. Priority queual IJ'EES. arirl heaps
`' Recursion. sorting algurfllm'fli‘, and other data structures
`
`About the Author
`
`
`
`Iefl‘rey 5. Chllrls is a faculty member at the Department of Computer lruomum-in Science. Clarion
`University of Perursylvariia.
`
`WEN-=3: PFB—fl-lfi-lEBDSE-U
`ISBN-‘1):
`6-23—155-1‘151-5
`
`
`
`UpperSaddleRiver. H] W433
`
`Wwprenhallxorn
`
`ants
`
`-su51
`
`I:
`
`III"
`
`
`
`Enfish, LLC; IPR2014-00574
`Exhibit 2240
`Page 3 of 5
`
`
`
`
`
`rode, what wauid he a
`
`Estate-.5: 1?. Have the
`
`mad. “he should you
`rad"
`
`Her 1. Exercise iti'flse
`1pe rature. and the see-
`i'hhrenheit or Ceiamu
`til-Ermisuw Drie-
`nan-utter aha uld pass.
`
`late quhapter2,E'~.-
`Ling The seeund edu-
`
`_-
`
`C H A P T E R
`
`a
`
`Pointers and Dynamic Arrays
`
`Lets talk abuut a prutiem that exists with the East alas; presented in Seetmr'. 3.4. Once
`we set (APACHE u. e Hhttiiid not set IT. to surnathing tiifiereat far :1 new librari- It may
`,‘ZH'ETIE'E'H ahi cheat program from working enrreettt- it they are reeumptied. But what
`should we set the array size tn'.’ "i‘r'auid al] the clients he happy with an array size at 111'?
`“"7““ their 315 h“? “FF? 1With an array size til 10W Maybe we should set the array size
`'In lfifll't. ‘t'feii.
`.that nttght satiety a ]et at clients. but prahattl} must ciiettts 'a'uuid
`use mil}: a small part at that array —aiid that array sure rriuId waste a In: a! memory
`911116212. espeetally if each element is u Cheek abject
`1What would he ideai is: an array that can adjust its size—that is. an array tit-'11 geta
`larger wrth the strata eheeiis that are written. Such an array eat: get filled unis if 3.1m run
`out of RAM merrier}; that ean he used for the array-"s eitpaeitjlr New I! yuu're iearned
`anything about arrays. :ruu are pmhahh. shaking tutu head. But don't shake it tea
`much: you should he. rimming it instead. because this kind of array is possible. in faet.
`arijustabie arrays are often used in data structures and ears even he used IFI main pru-
`arams. It just requires a iittie "magic." The magic carries ahitut by two things.- a painter
`and tit-'namifflfly aflflfflfl'd men-tar}: 'trin'eictirrtc m the wonderful wrsrid of pointers!
`
`I
`
`4.1
`
`POINTERS
`
`it would du nn grind to dixtJEL‘éfi dt'namiealit' aiiaeated memory without firs: discussing a
`pointer. Eu what .Lr a Warmest-ell. a pninter is a rariahie. {Are 3.11:1 breathing a sigh nl
`relief'H Ax tau knew frum past experienee. a tariahie cart store a data type if it is de—
`clared 1w'iLh that data type. An int Hiriahie can start: 111!th1'& a char rariaiile can stare
`characters. ete in what does a painter sture'.’ :‘L pointer stares an address—a binary
`number that the ape-rating system uses It: :dentiiy a memerjr cell of RAM. Just as a per-
`surfs address identifiers where he or she ht'ea Et'erg.‘ memory eeli has an address. hiera—
`ury 15 byte addrerrrrhie. meaning that ever}: byte of memory has an addresr {but ever};
`hlt tines neat.
`
`Enfish, LLC; |PR2014-00574
`
`Exhibit12|240
`Page 4 of 5
`
`Enfish, LLC; IPR2014-00574
`Exhibit 2240
`Page 4 of 5
`
`
`
`
`
`3'2
`
`Chapter «1
`
`Polnters and Dynamic Arrays
`
`.-"t. pointer is used to store tlte address of a variable or an object whose data type
`is used to declare the pointer. For example. the declaration of a pointer that can store
`the address of an integer looks like this:
`
`lot 'plr;
`
`And the declaration of a pointer that can store the address oi it char looks like this;
`
`char *chptr:
`
`The first part of the declaration is the data tt'pc oi the t'ariahie or ohieet whose address
`can he stored l‘lj.‘ the pointer. Then there must he an asterisk 111 front of the pointer. Fi-
`nally. there is the pointer name that you choose. as you would choose any other rari-
`ahle name.
`
`Often, programmers will deeiarc a pointer like this:
`
`iot' oft".
`
`'l‘het' put the role rislt neat to the data type. as it' the data trpc and the asterisk were col-
`lectit-elt- a pointer data type. This code it. accepted it}.
`the compiler. but i personally
`prefer not to use such notation hecause it
`is mislendtng. 'l'o declare more titan one
`pointer on the same line. you have to use more than one asterisk:
`
`ir‘tt 'ntr. 'ptrE:
`
`You can also mitt the declarations of pointers and other rattahies or: the same iine:
`
`int 'ptr. I. at.
`
`'ptrE. 2;
`
`In this code. 1.1.; and r are integer variables and ptr and ctr: are integer pointers.
`Now let‘s tall-t about host an address can he assigned to a pointer.
`the address
`of operator. 3t. can he used to assign the address ot a sariahle to a pointer. For etarnpie.
`tits is an operation that resnits tn the address of it. Rent-anther from your first course I“
`programing that a treatable 1was defined as a location in mentor}. whose iriilLlL‘ can he
`changed by the progranuner‘.’ Baclt lhenqron probably didn't thinlt that it was important
`for a variahle to he thought of as a location. You may have even ignored the definition. it
`so. get ready.r to change the was you thinkl‘r'tten we use the address-of operator on t.&s.
`tt really refers to the address of that location in memory which is reset-red for s. Theretore.
`with the preceding declaration. the address ois can he srorcd in ptr h}- ustrtg. the code
`otr = Eta:
`
`We say that ptr points to X when it holds the address of that memory; location which is
`reserved for it {computer science lingo. agate]. In figures pointers are drawn With an
`arrow. The result of the previous line ofcode 1s shoon in Figure 4.13. while Figure -i.lli
`shot-cs what reaiijt happens in RAM.
`In talking about pointers. it is important to distinguish lietween a variable name.
`a location.a value at a location. and the address of a location. Figure 4.2 illustrates the
`differences among them.
`
`Page 5 of 5
`
`Enfish. LLC; |PR2014-00574
`Exhibit 2240
`
`Enfish, LLC; IPR2014-00574
`Exhibit 2240
`Page 5 of 5
`
`