By O. G. Kakde

A compiler interprets a high-level language application right into a functionally identical low-level language application that may be understood and finished via the pc. the most important to any laptop method, powerful compiler layout is usually essentially the most advanced parts of procedure improvement. sooner than any code for a latest compiler is even written, many scholars or even skilled programmers have trouble with the high-level algorithms that may be important for the compiler to operate. Written with this in brain, Algorithms for Compiler layout teaches the basic algorithms that underlie smooth compilers. The publication makes a speciality of the "front-end" of compiler layout: lexical research, parsing, and syntax. mixing idea with useful examples all through, the e-book provides those tricky subject matters essentially and carefully. the ultimate chapters on code new release and optimization entire a superior beginning for studying the wider specifications of a complete compiler layout.

Show description

Read or Download Algorithms for Compiler Design (Electrical and Computer Engineering Series) PDF

Best compilers books

Abstraktion - Einfuhrung in die Programmierung

"Die Macht der Abstraktion" ist eine Einführung in die Entwicklung von Programmen und die dazugehörigen formalen Grundlagen. Im Zentrum stehen Konstruktionsanleitungen, die die systematische Konstruktion von Programmen fördern, sowie Techniken zur Abstraktion, welche die Umsetzung der Konstruktionsanleitungen ermöglichen.

Formal Methods: Applications and Technology: 11th International Workshop on Formal Methods for Industrial Critical Systems, FMICS 2006, and 5th International ... Programming and Software Engineering)

This publication constitutes the completely refereed joint post-proceedings of the 2 foreign Workshops on Formal tools for business severe structures, FMICS 2006, and on Parallel and disbursed equipment in Verification, PDMC 2006, held in Bonn, Germany in August 2006 throughout the seventeenth foreign convention on Concurrency conception, CONCUR 2006 (see additionally LNCS quantity 4137).

Trends in Functional Programming: 15th International Symposium, TFP 2014, Soesterberg, The Netherlands, May 26-28, 2014. Revised Selected Papers

This publication constitutes the completely refereed revised chosen papers of the fifteenth foreign Symposium on tendencies in practical Programming, TFP 2014, held in Soesterberg, The Netherlands, in could 2014. The eight revised complete papers integrated during this quantity have been rigorously and chosen from 22 submissions.

Computer Safety, Reliability, and Security: 34th International Conference, SAFECOMP 2015 Delft, The Netherlands, September 23–25, 2015. Proceedings

This booklet constitutes the refereed complaints of the thirty fourth overseas convention on computing device protection, Reliability, and protection, SAFECOMP 2015, held in Delft, The Netherlands, in September 2014. The 32 revised complete papers offered including three invited talks have been conscientiously reviewed and chosen from 104 submissions.

Additional resources for Algorithms for Compiler Design (Electrical and Computer Engineering Series)

Sample text

1 Algorithmen – grundlegende Konzepte 15 Ž——ȱ–Š—ȱ—ȱ›˜đȱŽ—žȱ §‘•ǰȱœ’—ȱ˜•Ž—Žȱ—•Ž’Œ‘ž—Ž—ȱŽ›û••DZȱ •˜ǻ—Ǽȱǀȱ—ȱǀȱ—ȱȉȱ•˜ǻ—Ǽȱǀȱ—Řȱǀȱ—řȱǀȱؗǰȱž—ȱŽœȱ˜•ȱǻ•˜ǻ—ǼǼȱ£ȱǻ—Ǽȱ£ȱǻ—ȱ•˜ǻ—ǼǼȱ£ ǻ—ŘǼȱ £ȱǻ—řǼȱ£ȱǻؗǼǯȱȱ Ž’œ™’Ž•ŽDZȱŗŖ—ȱƸȱśȱ•˜ǻ—ǼȱƸȱŞȱȱ∈ȱǻ—ǼǰȱŞ—ȱ∈ȱǻ—ŘǼǰȱŜśȱȱ∈ȱǻŗǼǰȱ—ŗŖŖŖȱȱ∈ȱǻؗǼǯȱ ȱ ŠŒ‘Ž–ȱ’Žȱ
˜–™•Ž¡’§ȱŽ’—Žœȱ •˜›’‘–žœȱ‹Ž›ŽŒ‘—Žȱ ž›Žǰȱ ”Š——ȱ –Š—ȱ ‘Ž›Šžœ’—Ž—ǰȱ ˜‹ȱ Ž›ȱ •˜›’‘–žœȱ ˜™’–Š•ȱ ’œǯȱ ’—ȱ •˜›’‘–žœȱû›ȱŽ’—ȱŽŽ‹Ž—Žœȱ›˜‹•Ž–ȱ’œȱŠ——ȱ˜™’–Š•ǰȱ Ž——ȱ œŽ’—Žȱ ˜–™•Ž¡’§ȱ Ž’—Žȱ ž—Ž›Žȱ Œ‘›Š—”Žȱ û›ȱ ’Žȱ ˜–™•Ž¡’§Ž—ȱ Š••Ž›ȱ •˜›’‘–Ž—ȱ Š›œŽ••ǰȱ ’Žȱ Šœȱ ›˜‹•Ž–ȱ Ž‹Ž—Š••œȱ •ãœŽ—ǯȱ ž–ȱ Ž’œ™’Ž•ȱ û‘›ȱ ȱ “ŽŽ›ȱ •˜›’‘–žœǰȱ Ž›ȱ Š••Žȱ Œ‘—’™ž—”Žȱ Ž’—Ž›ȱŽ—ŽȱŸ˜—ȱ—ȱ›ŽŒ”Ž—ȱ’—Žǰȱ’–ȱž—û—œ’œŽ—ȱ Š••ȱ–’—Ȭ n ŽœŽ—œȱ §¨ ·¸ ȱ ™Ž›Š’˜—Ž—ȱ Šžœǰȱ ž—ȱ Žœȱ ’‹ȱ –’—ŽœŽ—œȱ Ž’—Ž—ȱ ¨ 2¸ © ¹ •˜›’‘–žœȱ –’ȱ Ž›ȱ ˜–™•Ž¡’§ȱ ǻ—ŘǼǯȱ Š‘Ž›ȱ ”ã——Ž—ȱ ’›ȱ —ŠŒ‘Ÿ˜••£’Ž‘Ž—ǰȱ Šœœȱ Šœȱ ›˜‹•Ž–ȱ’Žȱ
˜–™•Ž¡’§ơ̇̄ǻ—ŘǼȱ‘Šǯȱ ȱ ’Žȱ Žž”’˜—ȱ ’œȱ Ž’—Žȱ Š—Ž›Žȱ ŽŒ‘Ȭ —’”ǰȱ ž–ȱ ’Žȱ ˜–™•Ž¡’§ȱ Ž’—Žœȱ ›˜‹Ȭ •Ž–œȱ ž›Œ‘ȱ ’Žȱ ›Š—œ˜›–Š’˜—ȱ ’—ȱ Ž’—ȱ §šž’ŸŠ•Ž—Žœȱ ›˜‹•Ž–ȱ £žȱ ‹Ž›ŽŒ‘—Ž—ǯȱ —Ž—˜––Ž—ǰȱ ’›ȱ ”Ž——Ž—ȱ ’Žȱ ž—Ž›Žȱ Œ‘›Š—”Žȱû›ȱŠœȱ›˜‹•Ž–ȱ ȱŠ‹Ž›ȱ—’Œ‘ȱ û›ȱ Šœȱ ›˜‹•Ž–ȱ ǯȱ Ž——ȱ ’›ȱ Šœȱ ›˜‹•Ž–ȱ ȱ–’Ž•œȱŽ’—Žœȱ›Š—œ˜›–Š’Ȭ ˜—œœŒ‘›’ŽœǰȱŽœœŽ—ȱ
˜œŽ—ȱ”•Ž’—Ž›ȱŠ•œȱ ’Žȱ㜞—ȱŸ˜—ȱ ȱ’œǰȱ’—ȱŠœȱ›˜‹•Ž–ȱ ȱž– Š—Ž•—ȱ”ã——Ž—ǰȱŠ——ȱ‘Šȱ ȱ’ŽœŽ•‹Žȱž—ŽȬ ›Žȱ Œ‘›Š—”Žȱ ’Žȱ ǯȱ ž–ȱ Ž’œ™’Ž•ȱ•§œœȱ œ’Œ‘ȱ ’Žȱ Žœ’––ž—ȱ Ž›ȱ ”˜—ŸŽ¡Ž—ȱ û••Žȱ Šžȱ Šœȱ˜›’Ž›Ž—ȱŽ›ȱŽŽ‹Ž—Ž—ȱž—”Žȱ›Žž£’Ž›Ž—ȱǻ
˜–™•Ž¡’§DZȱ̋ǻ—ȱ•˜ǻ—ǼǼǼǯȱ Ž’œ™’Ž•ŽDZȱǻ—ȱƸȱ•˜ǻ—ǼǼȱƽȱǻ—ǼǰȱŠȱ•˜ǻ—Ǽȱǀȱ—ǰȱǻ—ǷȱƸȱ—řǼȱƽȱǻ—ǷǼǰȱŠȱ—řǀ—Ƿǯȱ ȱ ž—ȱ ˜••Ž—ȱ ’›ȱŠ—‘Š—ȱŸ˜—ȱ Ž’œ™’Ž•Ž—ȱ’Žȱ
˜–™•Ž¡’§ȱž—ȱ ’£’Ž—£ȱŸ˜—ȱ •˜›’‘Ȭ –Ž—ȱŠ—Š•¢œ’Ž›Ž—ǯȱ ȱ ȱ ȱ ȱ ȱ ȱ ȱ 16 Grundlegende Algorithmen mit Java —Š•¢œŽȱŽ›ȱ
˜–™•Ž¡’§ǯȱ ŽŽ‹Ž—ȱœŽ’ȱŽ›ȱ˜•Ž—Žȱ •˜›’‘–žœDZȱ ŗǯ ŽœŽȱ—ȱ Řǯ ’ȱ←Ŗǰȱœž–ȱ←ȱŖǰȱ”ȱ←ȱŖȱ řǯ ‘’•Žȱǻȱ”ȱǀȱ—ȱǼȱ ˜ȱ ȱȱȱ ȱ œž–ȱȱȱ←ȱœž–ȱƸȱŗȱ ȱ ȱ ’ȱȱȱȱȱ←ȱ’ȱȮȱŗȱ ȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱȱ”ȱȱȱȱȱȱȱ←ȱ”ȱƸȱŗȱ ȱȱȱȱȱȱ —ȏ‘’•Žȱ Śǯ ”ȱ←ȱŖȱ śǯ ‘’•Žȱǻȱ”ȱǀȱř—ȱǼȱ ˜ȱ ȱȱȱ ȱ œž–ȱ←ȱœž–ȱȬȱŗȱ ȱȱȱȱȱȱȱȱȱȱȱȱȱȱ ”ȱȱȱȱȱ←ȱ”ȱƸȱŗȱ ȱȱȱȱȱȱ —ȏ‘’•Žȱ Ŝǯ Œ‘›Ž’‹Žȱœž–ǰȱ’ȱ Œ‘›’ȱŘȱŠžŽ›ȱřȱŽ’Ž’—‘Ž’Ž—ǯȱ ’Žȱ Œ‘•Ž’Žȱ ’—ȱ Œ‘›’ȱ řȱ û‘›ȱ ؗ ’’˜—Ž—ǰȱ —ȱ ž‹›Š”’˜—Ž—ȱ ž—ȱ ř— ž Ž’œž—Ž—ȱ Šžœǰȱ ‹Ž—㝒ȱ Š•œ˜ȱ ’—œŽœŠ–ȱŜ—ȱŽ’Ž’—‘Ž’Ž—ǯȱ Œ‘›’ȱŚȱ”˜œŽȱŽ’—ŽȱŽ’Ž’—‘Ž’ǯȱ —ȱ Œ‘›’ȱ śȱ ’—Ž—ȱ Řȉř—ȱ ž Ž’œž—Ž—ǰȱ ř—ȱ ž‹›Š”’˜—Ž—ȱ ž—ȱ ř—ȱ ’’˜—Ž—ȱ œŠǰȱ’Žȱ’—œŽœŠ–ȱŗؗȱŠžŽ›—ǯȱ ȱ ŽœŠ–DZȱřƸŜ—ƸŗƸŗؗȱƽȱŗŞ—ƸŚȱ Šœȱ‘Ž’đȱ’Žȱ
˜–™•Ž¡’§ȱ’œȱǻ—Ǽǯȱ ȱ —Š•¢œŽȱ Ž›ȱ ˜–™•Ž¡’§ȱ ž—ȱ ’£’Ž—£ǯȱ ’›ȱ ŸŽ›•Ž’Œ‘Ž—ȱ ›Ž’ȱ •˜›’‘–Ž—ȱ –’Ž’—Š—Ž›ǰȱ ’Žȱ’ŽœŽ•‹Žȱ žŠ‹Ž—œŽ••ž—ȱ•ãœŽ—DZȱ’Žȱ Ž›ŽŒ‘—ž—ȱŽ›ȱž––ŽȱŗȱƸȱŘȱƸȱǯǯǯȱƸȱ—ǯȱȱ ȱ •˜›’‘–žœȱ ȱ œž–ȱ←ȱŖȱ ˜›ȱǻ’ȱ←ȱŗǰȱ—Ǽȱ ȱȱȱœž–ȱ←ȱœž–ȱƸȱ’ȱ —Ƹŗȱž Ž’œž—Ž—ǰȱȱ ȱȱȱ—ȱ ’’˜—Ž—ȱ ȱ ȱ ȱ —œŽœŠ–DZȱؗȱƸȱŗȱ ǻ—Ǽȱ •˜›’‘–žœȱ ȱ œž–ȱ←ȱŖȱ ˜›ȱǻȱ’ȱ←ȱŗǰȱ—ȱǼȱȱ ȱȱ ˜›ȱǻȱ“ȱ←ȱŗǰȱ’ȱǼȱ ȱȱȱȱœž–ȱ←ȱœž–ȱƸȱŗȱ ŗƸ—ǻ—ƸŗǼȦŘȱž Ž’œž—Ž—ȱ ȱȱȱȱ—ǻ—ƸŗǼȦŘȱ ’’˜—Ž—ȱ ȱ ȱ ȱ —œŽœŠ–DZȱ—ŘȱƸȱ—ȱƸȱŗȱ ǻ—ŘǼȱ •˜›’‘–žœȱ ȱ œž–ȱ←ȱ—Șǻ—ƸŗǼȱȦȱŘȱ ŗȱ ’’˜—ǰȱȱ ŗȱž•’™•’”Š’˜—ǰȱȱ ŗȱž‹›Š”’˜—ǰȱȱ ŗȱž Ž’œž—ȱ ȱ —œŽœŠ–DZȱŚȱ ǻŗǼȱ •˜›’‘–žœȱ ȱ ’œȱ Ž›ȱ •Ž’œž—œ§‘’œŽȱ ž—ȱ ˜™’–Š•Žȱ û›ȱ ’ŽœŽœȱ ›˜‹•Ž–ǯȱ ’Žȱ œŽ‘Ž—ȱ ŠžŒ‘ǰȱ Šœœȱ Š‘Ž–Š’””Ž———’œœŽȱ ‹Ž’–ȱ •˜›’‘–Ž—Ž— ž›ȱ œŽ‘›ȱ ’Œ‘’ȱ œ’—ǯȱ Ž›ȱ ’—Ž’£’Ž—ŽœŽȱ •˜›’‘–žœȱ’œȱ ǯȱ ȱ ȱ ȱ ȱ 1 Algorithmen – grundlegende Konzepte 17 Wachstum von O(g(n)) – vergleichendes Beispiel —ȱ ŗŖȱ ŗŖŘȱ ŗŖřȱ ŗŖŚȱ ŗŖśȱ ŗŖŜȱ •˜ǻ•˜ȱ—Ǽȱ ŠŒ‘œž–ȱŽ›ȱ ž—”’˜—ȱǻǻ—ǼǼȱǻ•˜ȱDZƽȱ•‹Ǽȱ ȱ —ȱ•˜ȱ—ȱ —Řȱ —ȱ •˜ȱ—ȱ ǻ•˜ȱ—ǼŘȱ Řȱ řȱ řȱ Śȱ Śȱ Śȱ řȱ ŝȱ ŗŖȱ ŗřȱ ŗŝȱ ŘŖȱ ŗŗȱ ŚŚȱ şşȱ ŗŝŝȱ ŘŝŜȱ řşŝȱ ŗŖȱ ŗŖŖȱ ŗŖŖŖȱ ŗŖǯŖŖŖȱ ŗŖŖǯŖŖŖȱ ŗǯŖŖŖǯŖŖŖȱ řřȱ ŜŜŚȱ şşŜŜȱ ŗřŘǯŞŝŝȱ ŗǯŜŜŖǯşŜŚȱ ŗşǯşřŗǯśŜşȱ ŗŖŘȱ ŗŖŚȱ ŗŖŜȱ ŗŖŞȱ ŗŖŗŖȱ ŗŖŗŘȱ ؗȱ —Ƿȱ ŗŖřȱ ŗŖřŖȱ ŗŖřŖŗȱ ŗŖřǯŖŗŖȱ ŗŖřŖǯŗŖřȱ ŗŖřŖŗǯŖřŖȱ ŗŖśȱ ŗŖşŚȱ ŗŖŗŚřśȱ ŗŖŗşřřśȱ ŗŖŘŚřǯřřŞȱ ŗŖŘǯşřřǯřŜşȱ ˜–™•Ž¡’§Ž—ȱû›ȱŠ—Ž›Žȱ •˜›’‘–Ž—DZȱ ŗǯ Š—ȱ”Š——ȱ‹Ž Ž’œŽ—ǰȱŠœœȱŽ›ȱŽž”•’’œŒ‘Žȱ •˜›’‘–žœȱ’Žȱ
˜–™•Ž¡’§ȱǻǻ•˜ȱ ŠǼǻ•˜ȱ‹ǼǼȱŠž Ž’œǯȱ Řǯ ’Žȱ
˜–™•Ž¡’§ȱû›ȱ’Žȱ•’—ŽŠ›ŽȱžŒ‘Žȱ’œȱǻ—Ǽǰȱ Ž’•ȱ’–ȱž—û—œ’œŽ—ȱ Š••ȱŠ••Žȱ •Ž–Ž—Žȱž›Œ‘œžŒ‘ȱ Ž›Ž—ȱ–ûœœŽ—ǯȱ řǯ û›ȱ’Žȱ‹’—§›ŽȱžŒ‘Žȱ‹Ž›§ȱ’Žȱ
˜–™•Ž¡’§ȱǻ•˜ȱ—Ǽǰȱ Ž’•ȱ’–ȱž—û—œ’œŽ—ȱ Š••ȱǻŗȱƸȱ•˜ȱ—Ǽȱ Ž›Š’˜—Ž—ȱŠžœŽû‘›ȱ Ž›Ž—ǯȱȱ Śǯ Ž’–ȱ Š›Ž—§›‹ž—œ™›˜‹•Ž–ȱ Ž›Ž—ȱ ’Žȱ —ȱ —˜Ž—ȱ Ž’—Žœȱ ›Š™‘Ž—ȱ –’ȱ –ȱ Š›‹Ž—ȱ Ž’—Ž§›‹ǯȱ –ȱ œŒ‘•ŽŒ‘ŽœŽ—ȱ Š••ȱ –žœœȱ –Š—ȱ Š••Žȱ –㐕’Œ‘Ž—ȱ ˜–‹’—Š’˜—Ž—ȱ Ž—Ž›’Ž›Ž—ȱ ǻ’Žȱ Ž¡‘Šžœ’ŸŽȱ žŒ‘ŽǼǰȱ Ž›Ž—ȱ —£Š‘•ȱ –—ȱ ’œȱ ǻ’Žȱ —£Š‘•ȱ Ž›ȱ œž›“Ž”’ŸŽ—ȱ ž—”’˜—Ž—ȱ –’ȱ Ž–ȱ Ž’—’’˜—œ‹Ž›Ž’Œ‘ȱ Ž’—Ž›ȱ Ž—Žȱ –’ȱ—ȱ •Ž–Ž—Ž—ȱ ž—ȱŽ–ȱŽ›Ž‹Ž›Ž’Œ‘ȱŽ’—Ž›ȱŽ—Žȱ–’ȱ–ȱ •Ž–Ž—Ž—Ǽǯȱ ’Žȱ ˜–™•Ž¡’§ȱ’œȱŠ•œ˜ȱŽ¡™˜—Ž—’Ž••DZȱǻ–—Ǽǯȱȱ Die reelle Zeit eines Algorithmus (polynomial vs.

Exponentiell) ’Žȱ —ŠŒ‘˜•Ž—Žȱ Š‹Ž••Žȱ £Ž’ȱ ž—œǰȱ ’Žȱ œ’Œ‘ȱ ’Žȱ ›ŽŽ••Žȱ Šž£Ž’ȱ §—Ž›ǰȱ Ž——ȱ ǻ—Ǽȱ Ž’Ž’—‘Ž’Ž—ȱ ǻŒ‘›’Žȱ ˜Ž›ȱ Ž•Ž–Ž—Š›Žȱ ™Ž›Š’˜—Ž—Ǽȱ Šžȱ Ž’—Ž–ȱ ŽŒ‘—Ž›ȱ ŠžœŽû‘›ȱ Ž›Ž—ǰȱŽ›ȱ–’ȱŽ’—Ž›ȱ ›ŽšžŽ—£ȱŸ˜—ȱŽ’—Ž›ȱ’••’Š›ŽȱŠ”Žȱ™›˜ȱŽ”ž—ŽȱŠ›‹Ž’Žǯȱ ’—Žȱ µsȱŽ—œ™›’Œ‘ȱŗŖȬŜȱŽ”ž—Ž—ǯȱ Ž›•Ž’Œ‘ȱŽ›ȱ›ŽŽ••Ž—ȱŽ’ȱ ȱǻ™˜•¢—˜–’Š•Žȱž—ȱŽ¡™˜—Ž—’Ž••Žȱ •˜›’‘–Ž—Ǽȱ ȱ —ȱ śȱ ŗŖȱ ŘŖȱ śŖȱ ŗŖŖȱ ǻ—Ǽȱƽȱ—ȱ ǻ—Ǽȱƽȱ—ȱ•ǻ—Ǽ ŖǯŖŖśȱΐœȱ Ŗǯŗȱΐœȱ ŖǯŖŘȱΐœȱ ŖǯŖśȱΐœȱ Ŗǯŗȱΐœȱ ŖǯŖŗȱΐœȱ ŖǯŖřȱΐœȱ ŖǯŖşȱΐœȱ ŖǯŘŞȱΐœȱ ŖǯŜŜȱΐœȱ ǻ—Ǽȱƽȱ—Řȱ ǻ—Ǽȱƽȱ—řȱ ŖǯŖřȱΐœȱ Ŗǯŗȱΐœȱ ŖǯŚȱΐœȱ Řǯśȱΐœȱ ŗŖȱΐœȱ Ŗǯŗřȱΐœȱ ŗȱΐœȱ Şȱΐœȱ ŗŘśȱΐœȱ ŗŖŖŖȱΐœȱ ǻ—Ǽȱƽȱؗȱ ŖǯŖřȱΐœȱ ŗȱΐœȱ ŗŖŖŖȱΐœȱ ŗřȱŠŽȱ Śȱ¡ȱŗŖŗřȱ Š‘›Žȱ 18 Grundlegende Algorithmen mit Java ’›ȱ Ž›”Ž——Ž—ǰȱ Šœœȱ û›ȱ —ȱ ≥ȱ śŖȱ ’Žȱ ŽŒ‘Ž—£Ž’ȱ û›ȱ ǻ—Ǽȱ ƽȱ ؗȱ Ÿ’Ž•ȱ £žȱ ›˜đȱ ’›ǯȱ ˜Š›ȱ Ž——ȱ–Š—ȱŽ—ȱŽŒ‘—Ž›ȱž–ȱŽ—ȱ Š”˜›ȱŽ’—Žȱ’••’˜—ȱ‹ŽœŒ‘•Žž—’Ž—ȱ”ã——Žǰȱ û›ŽȱŽ›ȱ û›ȱ—ȱƽȱŗŖŖȱ—˜Œ‘ȱŚŖǯŖŖŖǯŖŖŖȱ Š‘›Žȱ‹ŽœŒ‘§’ȱœŽ’—ǯȱ Klassifizierung der Probleme (P, NP, NP-vollständig, NP-hart) ’Œ‘ȱ —ž›ȱ Š—ȱ Ž›ȱ Ž’”˜–™•Ž¡’§ȱ Ÿ˜—ȱ ›˜‹•Ž–Ž—ȱ ’œȱ –Š—ȱ ’—Ž›Žœœ’Ž›ǰȱ œ˜—Ž›—ȱ ŠžŒ‘ȱ Š—ȱ ’‘›Ž–ȱ Œ‘ ’Ž›’”Ž’œ›Šȱ ǻŽ››Ž’Œ‘‹Š›ȱ ˜Ž›ȱ ž—Ž››Ž’Œ‘‹Š›Ǽǯȱ ž›ȱ ’—˜›—ž—ȱ ’‹ȱ Žœȱ Šœȱ Ȭȱ ž—ȱ Šœȱ Ȭȱ •Šœœ’’£’Ž›ž—œœŒ‘Ž–Šǯȱ ȬŸ˜••œ§—’ȱ ž—ȱ Ȭ‘Š›ȱ œ’—ȱ—Ž›”•ŠœœŽ—ȱŸ˜—ȱǯȱ–ȱŽ’—’Žȱ˜›–Š•ŽȱŽ›”–Š•Žȱ ‹Ž£û•’Œ‘ȱŽ›ȱŽ—ŽȱŠ••Ž›ȱ›˜‹•Ž–Žȱ£žȱŒ‘Š›Š”Ž›’œ’Ž›Ž—ǰȱ Ž’—’Ž›ȱ –Š—ȱ £žŽ›œȱ ’Žȱ •ŠœœŽȱ Ž›ȱ —œŒ‘Ž’ž—œ™›˜‹•Ž–Žǯȱ ’ŽœŽȱ •ŠœœŽȱ œŒ‘•’Žđȱ Š••Žȱ ›˜‹•Ž–Žȱ Ž’—ǰȱ Ž›Ž—ȱ 㜞—ȱ Šȱ ˜Ž›ȱ Ž’—ȱ ’œǯȱ Š£žȱ Ž‘㛝ȱ £ž–ȱ Ž’œ™’Ž•ȱ ’Žȱ ›ŠŽȱ ‹£ ǯȱ Šœȱ ›˜‹•Ž–ǰȱ ˜‹ȱ Ž’—ȱ ž—Ž›’Œ‘ŽŽ›ȱ ›Š™‘ȱ £žœŠ––Ž—‘§—Ž—ȱ ’œȱ ǻǯȱ ‘ǯǰȱ ˜‹ȱ Žœȱ £ ’œŒ‘Ž—ȱ “Žȱ £ Ž’ȱ —˜Ž—ȱ Ž’—Ž—ȱ Žȱ ’‹Ǽǯȱ ’Žȱ ’—Š‹ŽŠŽ—ȱœ’—ȱ’Žȱ
Š—Ž—ȱŽœȱ ›Š™‘Ž—ȱ ȱǻ’Žȱ •Ž–Ž—Žǰȱ’ŽȱŽ—ȱ ›Š™‘Ž—ȱ‹ŽœŒ‘›Ž’‹Ž—Ǽǰȱž—ȱ’Žȱ ›ŠŽȱ’œDZȱǮ œȱ ȱ£žœŠ––Ž—‘§—Ž—ǵȄǯȱ˜›–Š•Ž› Ž’œŽȱ œ’—ȱ ’Žȱ –Ž’œŽ—ȱ ™’–’Ž›ž—œ™›˜‹•Ž–Žȱ ”Ž’—Žȱ ȱ —œŒ‘Ž’ž—œ™›˜‹•Ž–Žǰȱ Š‹Ž›ȱ œ’Žȱ ”ã——Ž—ȱ •Ž’Œ‘ȱ ’—ȱ œ˜•Œ‘Žȱ û‹Ž›û‘›ȱ Ž›Ž—ǯȱ ’—Žȱ ˜›–ȱ Žœȱ ›˜‹•Ž–œȱ Žœȱ Š—•ž—œ›Ž’œŽ—Ž—ȱ ǻȱ Ȯȱ ›ŠŸŽ••’—ȱ œŠ•Žœ–Š—ȱ ™›˜‹•Ž–Ǽȱ ”Š——ȱ Ž Šȱ Ž—ȱ ›Š™‘Ž—ȱ ȱ ž—ȱŽ’—ŽȱŠ‘•ȱ
ȱŠ•œȱ ’—Š‹ŽŠŽ—ȱ‘Š‹Ž—ǯȱ ’Žȱ ›ŠŽȱ•ŠžŽDZȱǮ Ž’—‘Š•Žȱ ȱŽ’—Žȱ˜ž›ȱ–’ȱ Ž’—Ž›ȱ§—Žǰȱ’Žȱ”•Ž’—Ž›ȱ˜Ž›ȱ•Ž’Œ‘ȱ
ȱ’œǵȄǯȱ Ž ã‘—•’Œ‘ȱ’œȱŽ’—ȱ™’–’Ž›ž—œ™›˜‹•Ž–ȱ —’Œ‘ȱœŒ‘ ’Ž›’Ž›ȱŠ•œȱœŽ’—ȱ —œŒ‘Ž’ž—œ™Ž—Š—ǯȱ ȱ ž›ȱ •ŠœœŽȱ ȱ Ž‘㛎—ȱ Š••Žȱ —œŒ‘Ž’ž—œ™›˜‹•Ž–Žǰȱ ’Žȱ œ’Œ‘ȱ ™˜•¢—˜–’Š•ȱ •ãœŽ—ȱ •ŠœœŽ—Dzȱ Šœȱ œ’—ȱ ’Žȱ ›˜‹•Ž–Žǰȱ ’Žȱ –Š—ȱ Š•œȱ NP •Ž’Œ‘ȱ•ãœ‹Š›ȱǻŽ››Ž’Œ‘‹Š›Ǽȱ ‹Ž›ŠŒ‘Žǯȱ ’Žȱž–Š—›Ž’Œ‘Ž›Žȱ
•ŠœœŽȱ P ȱ ‹Ž’—‘Š•Žȱ ’Žȱ •ŠœœŽȱ ȱ ž—ȱ £žœ§£•’Œ‘ȱ ’Žȱ —œŒ‘Ž’ž—œ™›˜‹•Ž–Žǰȱ ’Žȱ œ’Œ‘ȱ Ǯ—’Œ‘ȬŽŽ›–’—’œ’œŒ‘ȱ ™˜•¢—˜–’Š•Ȅȱ •ãœŽ—ȱ •ŠœœŽ—ǯȱ ’Žȱ •ŠœœŽȱ ȱ Ž’œȱ ’Žȱ ˜•Ž—Žȱ ’Ž—œŒ‘ŠȱŠžDZȱ û›ȱ“ŽŽȱ —œŠ—£ȱŽœȱ›˜‹•Ž–œǰȱ’Žȱ–’ȱŽ’—Ž–ȱǮ ŠȄȱŽ•ãœȱ ’›ǰȱ”Š——ȱ ŠœȱŽœž•Šȱ–’ȱŽ’—Ž–ȱ™˜•¢—˜–’Š•Ž—ȱ •˜›’‘–žœȱû‹Ž›™›ûȱ Ž›Ž—ǯȱ’›ȱœŽ••Ž—ȱ£ž–ȱ Ž’œ™’Ž•ȱ ’Žȱ ›ŠŽȱ Ǯ’—ȱ ’Žȱ ›Š™‘Ž—ȱ ȱ ž—ȱ Ȃȱ ’œ˜–˜›™‘ǵȄǯȱ ’—Žȱ —œŠ—£ȱ Ǯ ŠȄȱ Žœȱ ›˜‹•Ž–œȱ ’œȱ Ž’—Žȱ —œŠ—£ǰȱ û›ȱ ’Žȱ ’Žȱ ›Š™‘Ž—ȱ ’œ˜–˜›™‘ȱ œ’—ǯȱ ’—ȱ Ž Ž’œȱ û›ȱ ’ŽœŽȱ —œŠ—£ȱ ’›ȱ ž›Œ‘ȱ Ž’—Ž—ȱ œ˜–˜›™‘’œ–žœȱ ǻŽ’—Žȱ ‹’“Ž”’ŸŽȱ ‹‹’•ž—ǰȱ ’Žȱ ’Žȱ —˜Ž—ȱ ž—ȱ Š—Ž—ȱ Ž’—Žœȱ ›Š™‘Ž—ȱ Ž—ȱ —˜Ž—ȱ ž—ȱ Š—Ž—ȱ Ž’—Žœȱ Š—Ž›Ž—ȱ £ž Ž’œǼȱ ȱ Ÿ˜—ȱ ȱ —ŠŒ‘ȱ Ȃȱ Š›ŽœŽ••ǯȱ Ž›ȱ Ž Ž’œȱ ‹ŽœŽ‘ȱ Š›’—ǰȱ £žȱ ™›ûŽ—ǰȱ ˜‹ȱ ȱ ’›”•’Œ‘ȱ Ž’—ȱ œ˜Ȭ 1 Algorithmen – grundlegende Konzepte 19 –˜›™‘’œ–žœȱ£ ’œŒ‘Ž—ȱ ȱž—ȱ Ȃȱ’œǰȱǯȱ‘ǯǰȱ˜‹ȱŽœȱû›ȱ“ŽŽȱ
Š—ŽȱǿžǰȱŸȀȱŠžœȱ ȱŽ’—Žȱ
Š—Žȱ ǿǻžǼǰȱ ǻŸǼȀȱ ’—ȱ Ȃȱ ’‹ȱ ž—ȱ Ȃȱ ”Ž’—Žȱ Š—Ž›Ž—ȱ Š—Ž—ȱ ‘Šǯȱ Ž›ȱ Ž Ž’œȱ Ž›˜•ȱ ’—ȱ ™˜•¢—˜–’Š•Ž›ȱŽ’ȱ›Ž•Š’Ÿȱ£ž›ȱ ’–Ž—œ’˜—ȱŽ›ȱ ›Š™‘Ž—ȱ ȱž—ȱ Ȃǯȱ Žœ ŽŽ—ȱŽ‘㛝ȱŠœȱ ›˜‹•Ž–ȱ Ž›ȱ •ŠœœŽȱ ȱ Š—ǯȱ ’—ȱ Š—Ž›Žœȱ Ž’œ™’Ž•ȱ ’œȱ Šœȱ ›˜‹•Ž–ȱ Žœȱ Š—•ž—œ›Ž’œŽ—Ž—ǰȱ Šœȱ ˜‹Ž—ȱ Š•œȱ —œŒ‘Ž’ž—œ™›˜‹•Ž–ȱ Ž› §‘—ȱ ž›Žǯȱ ’Žȱ —œŠ—£ȱ Ž’—Žœȱ ›˜‹•Ž–œȱ ’œȱ Ž’—ȱ ›Š™‘ȱ ȱ ž—ȱ Ž’—Žȱ Š‘•ȱ ǯȱ Ž——ȱ ƽŗŖŖȱ ’œǰȱ Š——ȱ ‹ŽŽžŽȱŽ’—Žȱ — ˜›ȱǮ ŠȄǰȱŠœœȱŽœȱŽ’—Žȱ’œŽȱŸ˜—ȱ
Š—Ž—ȱ–’ȱ–Š¡’–Š•ȱŗŖŖȱ •Ž–Ž—Ž—ȱ ’‹ǰȱ ’Žȱ Ž’—Ž—ȱ Š–’•˜—”›Ž’œȱ ǻŽ’—ȱ Žǰȱ Ž›ȱ Š••Žȱ —˜Ž—ȱ Žœȱ ›Š™‘Ž—ȱ Ž—‘§•ȱ ž—ȱ ŽœœŽ—ȱŠ›Ȭȱž—ȱ —”—˜Ž—ȱ’Ž—’œŒ‘ȱœ’—ǰȱŠ‹Ž›ȱœ˜—œȱû›Ž—ȱ”Ž’—Žȱ Ž’Ž›Ž—ȱ
—˜Ž—ȱ ’Ž—’œŒ‘ȱœŽ’—Ǽȱ’—ȱ ȱ‹’•Ž—ǯȱ ’ŽœŽȱ’œŽȱ’œȱšžŠœ’ȱŽ›ȱ žœ Ž’œǰȱ–’ȱŽ›Ž—ȱ ’•Žȱ–Š—ȱ’—ȱ ™˜•¢—˜–’Š•Ž›ȱŠž£Ž’ȱŽ—œŒ‘Ž’Ž—ȱ”Š——ǰȱŠœœȱ’Žȱ — ˜›ȱ£ž–ȱ›˜‹•Ž–ȱǮ ŠȄȱ’œǯȱ ȱ œȱ ’‹ȱ ”Ž’—Žȱ ¢––Ž›’Ž—ȱ £ ’œŒ‘Ž—ȱ Ž—ȱ ‹Ž’Ž—ȱ •Ž›—Š’ŸŽ—ȱ Ǯ ŠȄȱ ž—ȱ ǮŽ’—Ȅǯȱ –ȱ ž—œȱ £žȱ û‹Ž›£ŽžŽ—ǰȱ Šœœȱ ’Žȱ — ˜›ȱ Ǯ ŠȄȱ ’œǰȱ Ž—ûȱ Žœǰȱ Ž——ȱ ’›ȱ ’—ȱ ™˜•¢—˜–’Š•Ž›ȱ Ž’ȱ Ž’—Žȱ –㐕’Œ‘Žȱ 㜞—ȱ ™›ûŽ—ǯȱ Ž——ȱ ’Žȱ — ˜›ȱ ǮŽ’—Ȅȱ ’œǰȱ ’›ȱ Š••Žœȱ ”˜–™•’£’Ž›Ž›ȱ ǻ ’›ȱ –ûœœŽ—ȱ Š••Žȱ –㐕’Œ‘Ž—ȱ Š›’Š—Ž—ȱ ™›ûŽ—ǰȱ Šœȱ œŽ‘›ȱ ŽžŽ›ȱ ’œǰȱ Š”’œŒ‘ȱŽ’Ž—•’Œ‘ȱž—–㐕’Œ‘ǼǯȱŽ——ȱ ’›ȱ‹Ž’ȱŽ’—Ž–ȱ —œŒ‘Ž’ž—œ™›˜‹•Ž–ȱ’Žȱ ›ŠŽȱ —Ž’Ž›Ž—ǰȱ —Ž——ȱ –Š—ȱ ’Žȱ £žŽ‘ã›’Žȱ •ŠœœŽȱ ˜Ȭǯȱ û›ȱ Šœȱ ›˜‹•Ž–ȱ Žœȱ Š—•ž—œ›Ž’œŽ—Ž—ȱŽ›’‹ȱœ’Œ‘ȱŠ——ȱ’Žȱ ›ŠŽDZȱǮ Š‹Ž—ȱ Š••Žȱ–㐕’Œ‘Ž—ȱ˜ž›Ž—ȱ’—ȱ ȱŽ’—Žȱ§—Žȱ›ãđŽ›ȱŠ•œȱ
ǵȄǯȱ œȱ ’‹ȱŠ‹Ž›ȱŸ’Ž•Žȱ›˜‹•Ž–Žǰȱ’ŽȱŠžœœŽ‘Ž—ǰȱŠ•œȱ˜‹ȱœ’Žȱ ŽŽ›ȱ £ž›ȱ
•ŠœœŽȱ ˜ȬȱŽ‘㛎—ǰȱ Ž’•ȱû›ȱ œ’Žȱ —˜Œ‘ȱ ”Ž’—ȱ Ž Ž’œȱ ’—ȱ ™˜•¢—˜–’Š•Ž›ȱ Ž’ȱ Žž—Ž—ȱ ž›Žȱ ǻǮ žœ Ž’œȄǼǯȱ ’—ȱ Ž’œ™’Ž•ȱ ’œȱ Šœȱ ›˜‹•Ž–ȱ –’ȱ Ž–ȱ ›Š™‘Ž—ȱ ȱž—ȱŽ—ȱŠ‘•Ž—ȱ
ȱž—ȱȱ–’ȱŽ›ȱ ›ŠŽDZȱ Ǯ œȱ ’Žȱ —£Š‘•ȱ Ž›ȱ ŸŽ›œŒ‘’ŽŽ—Ž—ȱ ˜ž›Ž—ȱ Žœȱ Š—•ž—œ›Ž’œŽ—Ž—ǰȱ ’Žȱ Ž’—Žȱ §—Žȱ ”•Ž’—Ž›ȱ •Ž’Œ‘ȱ ȱ Šž Ž’œŽ—ǰȱ•Ž’Œ‘ȱǵȄǯȱ Probleme NP-vollständig (NP-complete) ’œȱ “Ž£ȱ ”˜——Žȱ —’Ž–Š—ȱ Ž’—Ž—ȱ ™˜•¢—˜–’Š•Ž—ȱ •˜›’‘–žœȱ û›ȱ Šœȱ ›˜‹•Ž–ȱ Žœȱ Š—•ž—œ›Ž’œŽ—Ž—ȱ ’—Ž—ǯȱ NP —Ž›Ž›œŽ’œȱ ”˜——Žȱ ŠžŒ‘ȱ —˜Œ‘ȱ —’Ž–Š—ȱ ‹Ž Ž’œŽ—ǰȱ Šœœȱ Žœȱ ”Ž’—Ž—ȱœ˜•Œ‘Ž—ȱ •˜›’‘–žœȱ’‹ǯȱ›˜£Ž–ȱ‹Ž£Ž’Œ‘—Žȱ–Š—ȱ NPC P ’ŽœŽœȱ ›˜‹•Ž–ȱ Š•œȱ ž—•ãœ‹Š›ȱ ˜Ž›ȱ ž—Ž››Ž’Œ‘‹Š›ǯȱ Šœȱ Š—•ž—œ›Ž’œŽ—Ž—™›˜‹•Ž–ȱ ’œȱ Ž’•ȱ Ž’—Ž›ȱ ‹Žœ’––Ž—ȱ ›˜‹•Ž–”•ŠœœŽǰȱ’ŽȱŽ’—ŽȱŽ’•–Ž—ŽȱŸ˜—ȱ ȱ’œǯȱ ’ŽœŽȱ
•ŠœœŽȱ ‘Ž’đȱ ȬŸ˜••œ§—’ȱ ǻŽ—•ǯȱ ȬŒ˜–™•ŽŽǼǰȱ ”ž›£ȱ  ǰȱ ž—ȱ œ’Žȱ ž–Šœœȱ Ž’—Žȱ ’––Ž—œŽȱ —£Š‘•ȱŸ˜—ȱ›˜‹•Ž–Ž—ǰȱ’ŽȱŠ••ŽœŠ–ȱ£žȱŽ—ȱœŒ‘ ’Ž›’œŽ—ȱ›˜‹•Ž–Ž—ȱ£§‘•Ž—ǰȱ’Žȱȱ £žȱ‹’ŽŽ—ȱ‘Šǯȱȱ 20 Grundlegende Algorithmen mit Java Ž’œ™’Ž•ŽȱȬŸ˜••œ§—’Ž›ȱ›˜‹•Ž–ŽDZȱ • ›Š™‘Ž—’œ˜–˜›™‘’œ–žœȬ›˜‹•Ž–ȱ ǻ ›Š™‘ȱ œ˜–˜›™‘’œ–ȱ ›˜‹•Ž–ǼDZȱ ’—ȱ £ Ž’ȱ ŽȬ Ž‹Ž—Žȱ ›Š™‘Ž—ȱ’œ˜–˜›™‘ǵȱ • ›Š™‘Ž—§›‹ž—œ™›˜‹•Ž–ȱ ǻ ›Š™‘ȱ ˜•˜ž›’—ȱ ›˜‹•Ž–ǼDZȱ œȱ œŽ’Ž—ȱ Ž’—ȱ ›Š™‘ȱ ȱ ž—ȱ Ž’—Žȱ —Šû›•’Œ‘Žȱ Š‘•ȱ ”ȱ ≥ȱ ŗȱ ŽŽ‹Ž—ǯȱ Ž’—’’˜—DZȱ ’—Žȱ ”Ȭ §›‹ž—ȱ Žœȱ ›ŠȬ ™‘Ž—ȱ ȱ’œȱŽ’—Žȱ㐕’Œ‘”Ž’ǰȱ’Žȱ
—˜Ž—ȱŽœȱ ›Š™‘Ž—ȱœ˜ȱ–’ȱŽ—ȱ Š›‹Ž—ȱŗǰȱŘǰȱ dzǰȱ”ȱ£žȱ§›‹Ž—ǰȱŠœœȱ‹Ž—ŠŒ‘‹Š›Žȱ
—˜Ž—ȱ’––Ž›ȱŸŽ›œŒ‘’ŽŽ—Š›‹’ȱœ’—ǯȱ ’‹ȱ ŽœȱŽ’—Žȱ”Ȭ §›‹ž—ȱŸ˜—ȱ ǵȱ • Œ‘Žž•Žȱ ›˜‹•Ž–DZȱ ¡’œ’Ž›ȱ Ž’—ȱ ‹•Šž™•Š—ȱ û›ȱ Ž’—Žȱ Ž—Žȱ Ÿ˜—ȱ ”’Ÿ’§Ž—ǰȱ ˜‹Ž’ȱ“ŽŽȱ ”’Ÿ’§ȱž›Œ‘ȱŽ’—ŽȱŽ—ŽȱŸ˜—ȱ’Ž•Ž—ǰȱŽœœ˜ž›ŒŽ—ȱž—ȱŽ›”–ŠȬ •Ž—ȱ‹Žœ’––ȱ’œǵȱ • Ž›™ŠŒ”ž—œ™›˜‹•Ž–ȱǻ ’—ȱŠŒ”’—ȱ›˜‹•Ž–ǼDZȱ œȱœŽ’Ž—ȱŽ’—ŽȱŽ—ŽȱŸ˜—ȱ‹“Ž”Ž—ȱ –’ȱ ’‘›Ž—ȱ ’–Ž—œ’˜—Ž—ȱ ž—ȱ Ž’—Žȱ Ž—Žȱ Ÿ˜—ȱ ’œŽ—ȱ –’ȱ ’‘›Ž—ȱ ’–Ž—œ’˜—Ž—ȱ ŽŽ‹Ž—ǯȱ
’œŽ—ȱŸŽ›™ŠŒ”Ž—ǵȱ • Ž—Ž—û‹Ž›ŽŒ”ž—œ™›˜‹•Ž–ȱǻŽȱ ˜ŸŽ›’—ȱ›˜‹•Ž–ǼDZȱ œȱœŽ’Ž—ȱŽ’—ŽȱŽ—Žȱǰȱ Ž’—Žȱ˜Ž›ȱ–Ž‘›Ž›ŽȱŽ’•–Ž—Ž—ȱŸ˜—ȱȱž—ȱŽ’—Žȱ—Šû›•’Œ‘ŽȱŠ‘•ȱ”ȱŽŽ‹Ž—ǯȱ ’‹ȱ ŽœȱŽ’—Žȱ㐕’Œ‘”Ž’ǰȱȱŠ•œȱŽ›Ž’—’ž—œ–Ž—ŽȱŸ˜—ȱ–Š¡’–Š•ȱ”ȱŽ’•–Ž—Ž—ȱŠ—Ȭ £žŽ‹Ž—ǵȱ • žŒ”œŠŒ”™›˜‹•Ž–ȱǻ
—Š™œŠŒ”ȱ›˜‹•Ž–ǼDZȱ œȱœŽ’Ž—ȱŽ’—ȱžŒ”œŠŒ”ȱ–’ȱŽ›ȱ
Š™Š£’§ȱ ǰȱŽ’—ŽȱŽ—ŽȱŸ˜—ȱ‹“Ž”Ž—ȱ–’ȱ’‘›Ž—ȱ ›ãđŽ—Ȭȱž—ȱ Ž ’Œ‘œŠ—Š‹Ž—ȱž—ȱŽ’Ȭ —Žȱ™˜œ’’ŸŽȱŠ‘•ȱȱŽŽ‹Ž—ǯȱ ’‹ȱŽœȱŽ’—ŽȱŽ’•–Ž—ŽȱŸ˜—ȱ‹“Ž”Ž—ǰȱû›ȱ’Žȱ’•ǰȱ Šœœȱ’Žȱ‹“Ž”Žȱ’—œŽœŠ–ȱ‘㌑œŽ—œȱȱ›˜đȱž—ȱ–’—ŽœŽ—œȱȱœŒ‘ Ž›ȱœ’—ǵȱ Das Erfüllbarkeitsproblem (SAT) Ž›ȱ —˜›–Š’”™›˜Žœœ˜›ȱ Ž™‘Ž—ȱ ›‘ž›ȱ ˜˜”ȱ û‘›Žȱ ŗşŝŗȱ ’Žȱ •ŠœœŽ—ȱ ȱ ž—ȱ  ȱ ’–ȱ ›’”Ž•ȱ ›˜ŒŽŽ’—œȱ ˜ȱ ‘Žȱ ‘’›ȱ ——žŠ•ȱ ȱ ¢–™˜Ȭ œ’ž–ȱ ˜—ȱ ‘Ž˜›¢ȱ ˜ȱ ˜–™ž’—ǰȱ ǯȱ ŗśŗȬŗśŞǰȱ Ž’—ǯȱ Š›’—ȱ ‹ŽȬ Ž’œȱ Ž›ǰȱ Šœœȱ Šœȱ ž—Ž—ȱ ‹ŽœŒ‘›’Ž‹Ž—Žȱ ›û••‹Š›”Ž’œ™›˜‹•Ž–ȱǻ ǰȱŸ˜–ȱengl.

Y1n 2 ) ∧ ... ∧ ( y11 ∨ y12 ∨ ...

Download PDF sample

Rated 4.38 of 5 – based on 29 votes