Data Structures and Algorithms in Java Learn with confidence with this hands-on undergraduate textbook for CS2 courses. Active learning and real-world projects underpin each chapter, briefly reviewing programming fun- damentals then progressing to core data structures and algorithms topics, including recursion, lists, stacks, trees, graphs, sorting, and complexity analysis. Creative projects and applications put theoretical concepts into practice, helping students master the fundamentals. Dedicated project chapters supply further programming practice using real-world, interdisciplinary prob- lems which students can showcase in their own online portfolios. Example Interview Questions sections prepare students for job applications. The pedagogy supports self-directed and skills- based learning with over 250 “Try It Yourself ” boxes, many with solutions provided, and over 500 progressively challenging end-of-chapter questions. Written in a clear and engaging style, this textbook is a complete resource for teaching the fundamental skills that today’s students need. Instructor resources are available online, including a test bank, solutions manual, and sample code. Dan S. Myers is Associate Professor of Computer Science at Rollins College in Winter Park, Florida, where he has taught Data Structures and Algorithms for 10 years. https://www.cambridge.org/core/terms. https://doi.org/10.1017/9781009260350 Downloaded from https://www.cambridge.org/core. University of Cambridge, on 29 Dec 2024 at 05:12:20, subject to the Cambridge Core terms of use, available at
“An intuitive and engaging introduction to foundational content; a terrific source for anyone looking to dive deeper into computer science!” Remzi Arpaci-Dusseau, University of Wisconsin–Madison “This book teaches data structures with an active learning approach. Students will first learn the constructs, then get hands-on experience by applying what they learned in real projects. In addition, the try-it-yourself sections are really helpful as simple brain teasers to ensure that students got the point. Students will be more engaged by learning this way.” Mohammed Farghally, Virginia Tech “Data Structures and Algorithms in Java by Dan Myers is a carefully crafted book for second-level CS students, right after learning the rudiments of at least one programming language (be it Python, C/C++, or Java) and doing basic programming. To fill the gap from simple programming to serious CS, art, and natural science applications programming, a fundamental course is needed. Often named ‘Data Structures and Algorithms,’ this course helps students to learn beyond basic data structures such as numbers and arrays, and to move to the world of lists, stacks, hash tables, trees, queues, heaps, and graphs. There are also the fundamental algorithms, such as searching, sorting, hashing, and binary tree traversal algorithms, which are the building blocks of more complicated algorithms needed to develop applications programs. Here is an excellent book that skillfully brings students to serious programming, by providing meaningful explanations, beautiful figures, and short but to-the-point code fragments. The exercises at the end of every chapter are very helpful. Fascinating projects every few chapters make even an experienced programmer want to try, such as particle effects, generative art, fractals, logic puzzles, and specialized search engines. I strongly urge the CS instructor to consider this book before making commitment to their often-used textbook.” Çetin Kaya Koç, University of California, Santa Barbara “With beautifully accessible prose, Professor Myers opens the door wide to a field known for its formidable jargon and subtle technical detail. This text offers scaffolded, incremental learning as well as innovative and engaging projects, all well designed and supported by a wealth of diverse exercises. His rich, interdisciplinary contexts also demonstrate the centrality of algorithms in many human endeavors.” Trevor Kearns, Greenfield Community College “I wholeheartedly endorse Data Structures and Algorithms in Java. Its unique project-based approach effectively merges theory with practical application, making it an invaluable resource for undergraduate students. The book’s emphasis on hands-on learning through Java programming projects elevates the understanding and deepens the knowledge of the applicability of data structures.” Tajmilur Rahman Md, Gannon University “Data Structures and Algorithms in Java is a must-read for aspiring programmers. The book bridges theory and practice seamlessly using real-world projects illustrating key concepts. The book covers a wide array of data structures from the simple stack to the more complex graph. The author’s beginner-friendly approach makes it an excellent companion for self-learners and computer science students alike.” Lilian Blot, University of York https://www.cambridge.org/core/terms. https://doi.org/10.1017/9781009260350 Downloaded from https://www.cambridge.org/core. University of Cambridge, on 29 Dec 2024 at 05:12:20, subject to the Cambridge Core terms of use, available at
“The examples of projects offer a fun yet insightful way to boost students’ creativity and enhance their problem-solving skills following the ‘Try It Yourself ’ approach, ensuring the understanding of each concept.” Jeong Yang, Texas A&M University–San Antonio “Dr. Myers carefully balances teaching students the Java they need after an introductory program- ming course with building more complex projects that students can use in their job portfolios. It covers the fundamental data structures and algorithms students need to know while immediately applying those ideas to longer-form projects in areas of student interest.” Brian Patterson, Oglethorpe University “A stand-out feature of this book is its project-based approach, which bridges theoretical content with real-world applications. This method not only enhances students’ understanding of data structures and algorithms, but also prepares them for technical roles through a variety of creative projects.” Bailin Deng, Cardiff University “This book goes beyond the typical scope of a data structures and algorithms textbook. The carefully described projects are excellent examples of how to structure large programs.” Christian Trefftz, Grand Valley State University “I have developed many techniques, tools, and examples to facilitate learning in my data structures classes. Dan Myers’ textbook incorporates many similar strategies – it is conversational, establishes a foundation for new concepts and techniques then builds upon the foundation. It also incorpo- rates numerous examples and problems, including historical references, making the material more interesting. This is a refreshing take on a potentially dry subject.” Dave Rosenberg, Wentworth Institute of Technology “The project-based approach in the book highlights the real-world applications of topics pre- sented, and facilitates greater understanding and clarity. The interview questions included under- score the importance of the concepts beyond the classroom. Several sections introduce new topics in simple terms along with relevant fun facts which draw the reader in and make the learning process an engaging one. Highly recommended!” Omofolakunmi Olagbemi, Hope College “Professor Myers’ project-based approach not only motivates students but also offers a practical framework for applying complex concepts effectively. The projects in this text provide context for decision-making and enhance understanding through practical applications. Each project builds a solid foundation fostering thoughtful engagement with challenging material.” Michael Penta, Northern Essex Community College https://www.cambridge.org/core/terms. https://doi.org/10.1017/9781009260350 Downloaded from https://www.cambridge.org/core. University of Cambridge, on 29 Dec 2024 at 05:12:20, subject to the Cambridge Core terms of use, available at
Data Structures and Algorithms in Java A Project-Based Approach Dan S. Myers Rollins College, Florida https://www.cambridge.org/core/terms. https://doi.org/10.1017/9781009260350 Downloaded from https://www.cambridge.org/core. University of Cambridge, on 29 Dec 2024 at 05:12:20, subject to the Cambridge Core terms of use, available at
Shaftesbury Road, Cambridge CB2 8EA, United Kingdom One Liberty Plaza, 20th Floor, New York, NY 10006, USA 477 Williamstown Road, Port Melbourne, VIC 3207, Australia 314–321, 3rd Floor, Plot 3, Splendor Forum, Jasola District Centre, New Delhi – 110025, India 103 Penang Road, #05–06/07, Visioncrest Commercial, Singapore 238467 Cambridge University Press is part of Cambridge University Press & Assessment, a department of the University of Cambridge. We share the University’s mission to contribute to society through the pursuit of education, learning and research at the highest international levels of excellence. www.cambridge.org Information on this title: www.cambridge.org/highereducation/isbn/9781009260336 DOI: 10.1017/9781009260350 © Cambridge University Press & Assessment 2025 This publication is in copyright. Subject to statutory exception and to the provisions of relevant collective licensing agreements, no reproduction of any part may take place without the written permission of Cambridge University Press & Assessment. When citing this work, please include a reference to the DOI 10.1017/9781009260350 First published 2025 Printed in Mexico by Litográfica Ingramex, S.A. de C.V, 2025 A catalogue record for this publication is available from the British Library A Cataloging-in-Publication data record for this book is available from the Library of Congress ISBN 978-1-009-26033-6 Hardback Additional resources for this publication at www.cambridge.org/myers Cambridge University Press & Assessment has no responsibility for the persistence or accuracy of URLs for external or third-party internet websites referred to in this publication and does not guarantee that any content on such websites is, or will remain, accurate or appropriate. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . This publication is not sponsored, affiliated, or endorsed by Oracle or Java. https://www.cambridge.org/core/terms. https://doi.org/10.1017/9781009260350 Downloaded from https://www.cambridge.org/core. University of Cambridge, on 29 Dec 2024 at 05:12:20, subject to the Cambridge Core terms of use, available at
Data Structures and Algorithms in Java Learn with confidence with this hands-on undergraduate textbook for CS2 courses. Active learning and real-world projects underpin each chapter, briefly reviewing programming fun- damentals then progressing to core data structures and algorithms topics, including recursion, lists, stacks, trees, graphs, sorting, and complexity analysis. Creative projects and applications put theoretical concepts into practice, helping students master the fundamentals. Dedicated project chapters supply further programming practice using real-world, interdisciplinary prob- lems which students can showcase in their own online portfolios. Example Interview Questions sections prepare students for job applications. The pedagogy supports self-directed and skills- based learning with over 250 “Try It Yourself ” boxes, many with solutions provided, and over 500 progressively challenging end-of-chapter questions. Written in a clear and engaging style, this textbook is a complete resource for teaching the fundamental skills that today’s students need. Instructor resources are available online, including a test bank, solutions manual, and sample code. Dan S. Myers is Associate Professor of Computer Science at Rollins College in Winter Park, Florida, where he has taught Data Structures and Algorithms for 10 years. https://www.cambridge.org/core/terms. https://doi.org/10.1017/9781009260350 Downloaded from https://www.cambridge.org/core. University of Cambridge, on 29 Dec 2024 at 05:12:42, subject to the Cambridge Core terms of use, available at
“An intuitive and engaging introduction to foundational content; a terrific source for anyone looking to dive deeper into computer science!” Remzi Arpaci-Dusseau, University of Wisconsin–Madison “This book teaches data structures with an active learning approach. Students will first learn the constructs, then get hands-on experience by applying what they learned in real projects. In addition, the try-it-yourself sections are really helpful as simple brain teasers to ensure that students got the point. Students will be more engaged by learning this way.” Mohammed Farghally, Virginia Tech “Data Structures and Algorithms in Java by Dan Myers is a carefully crafted book for second-level CS students, right after learning the rudiments of at least one programming language (be it Python, C/C++, or Java) and doing basic programming. To fill the gap from simple programming to serious CS, art, and natural science applications programming, a fundamental course is needed. Often named ‘Data Structures and Algorithms,’ this course helps students to learn beyond basic data structures such as numbers and arrays, and to move to the world of lists, stacks, hash tables, trees, queues, heaps, and graphs. There are also the fundamental algorithms, such as searching, sorting, hashing, and binary tree traversal algorithms, which are the building blocks of more complicated algorithms needed to develop applications programs. Here is an excellent book that skillfully brings students to serious programming, by providing meaningful explanations, beautiful figures, and short but to-the-point code fragments. The exercises at the end of every chapter are very helpful. Fascinating projects every few chapters make even an experienced programmer want to try, such as particle effects, generative art, fractals, logic puzzles, and specialized search engines. I strongly urge the CS instructor to consider this book before making commitment to their often-used textbook.” Çetin Kaya Koç, University of California, Santa Barbara “With beautifully accessible prose, Professor Myers opens the door wide to a field known for its formidable jargon and subtle technical detail. This text offers scaffolded, incremental learning as well as innovative and engaging projects, all well designed and supported by a wealth of diverse exercises. His rich, interdisciplinary contexts also demonstrate the centrality of algorithms in many human endeavors.” Trevor Kearns, Greenfield Community College “I wholeheartedly endorse Data Structures and Algorithms in Java. Its unique project-based approach effectively merges theory with practical application, making it an invaluable resource for undergraduate students. The book’s emphasis on hands-on learning through Java programming projects elevates the understanding and deepens the knowledge of the applicability of data structures.” Tajmilur Rahman Md, Gannon University “Data Structures and Algorithms in Java is a must-read for aspiring programmers. The book bridges theory and practice seamlessly using real-world projects illustrating key concepts. The book covers a wide array of data structures from the simple stack to the more complex graph. The author’s beginner-friendly approach makes it an excellent companion for self-learners and computer science students alike.” Lilian Blot, University of York https://www.cambridge.org/core/terms. https://doi.org/10.1017/9781009260350 Downloaded from https://www.cambridge.org/core. University of Cambridge, on 29 Dec 2024 at 05:12:42, subject to the Cambridge Core terms of use, available at
“The examples of projects offer a fun yet insightful way to boost students’ creativity and enhance their problem-solving skills following the ‘Try It Yourself ’ approach, ensuring the understanding of each concept.” Jeong Yang, Texas A&M University–San Antonio “Dr. Myers carefully balances teaching students the Java they need after an introductory program- ming course with building more complex projects that students can use in their job portfolios. It covers the fundamental data structures and algorithms students need to know while immediately applying those ideas to longer-form projects in areas of student interest.” Brian Patterson, Oglethorpe University “A stand-out feature of this book is its project-based approach, which bridges theoretical content with real-world applications. This method not only enhances students’ understanding of data structures and algorithms, but also prepares them for technical roles through a variety of creative projects.” Bailin Deng, Cardiff University “This book goes beyond the typical scope of a data structures and algorithms textbook. The carefully described projects are excellent examples of how to structure large programs.” Christian Trefftz, Grand Valley State University “I have developed many techniques, tools, and examples to facilitate learning in my data structures classes. Dan Myers’ textbook incorporates many similar strategies – it is conversational, establishes a foundation for new concepts and techniques then builds upon the foundation. It also incorpo- rates numerous examples and problems, including historical references, making the material more interesting. This is a refreshing take on a potentially dry subject.” Dave Rosenberg, Wentworth Institute of Technology “The project-based approach in the book highlights the real-world applications of topics pre- sented, and facilitates greater understanding and clarity. The interview questions included under- score the importance of the concepts beyond the classroom. Several sections introduce new topics in simple terms along with relevant fun facts which draw the reader in and make the learning process an engaging one. Highly recommended!” Omofolakunmi Olagbemi, Hope College “Professor Myers’ project-based approach not only motivates students but also offers a practical framework for applying complex concepts effectively. The projects in this text provide context for decision-making and enhance understanding through practical applications. Each project builds a solid foundation fostering thoughtful engagement with challenging material.” Michael Penta, Northern Essex Community College https://www.cambridge.org/core/terms. https://doi.org/10.1017/9781009260350 Downloaded from https://www.cambridge.org/core. University of Cambridge, on 29 Dec 2024 at 05:12:42, subject to the Cambridge Core terms of use, available at
Data Structures and Algorithms in Java A Project-Based Approach Dan S. Myers Rollins College, Florida https://www.cambridge.org/core/terms. https://doi.org/10.1017/9781009260350 Downloaded from https://www.cambridge.org/core. University of Cambridge, on 29 Dec 2024 at 05:12:42, subject to the Cambridge Core terms of use, available at
Shaftesbury Road, Cambridge CB2 8EA, United Kingdom One Liberty Plaza, 20th Floor, New York, NY 10006, USA 477 Williamstown Road, Port Melbourne, VIC 3207, Australia 314–321, 3rd Floor, Plot 3, Splendor Forum, Jasola District Centre, New Delhi – 110025, India 103 Penang Road, #05–06/07, Visioncrest Commercial, Singapore 238467 Cambridge University Press is part of Cambridge University Press & Assessment, a department of the University of Cambridge. We share the University’s mission to contribute to society through the pursuit of education, learning and research at the highest international levels of excellence. www.cambridge.org Information on this title: www.cambridge.org/highereducation/isbn/9781009260336 DOI: 10.1017/9781009260350 © Cambridge University Press & Assessment 2025 This publication is in copyright. Subject to statutory exception and to the provisions of relevant collective licensing agreements, no reproduction of any part may take place without the written permission of Cambridge University Press & Assessment. When citing this work, please include a reference to the DOI 10.1017/9781009260350 First published 2025 Printed in Mexico by Litográfica Ingramex, S.A. de C.V, 2025 A catalogue record for this publication is available from the British Library A Cataloging-in-Publication data record for this book is available from the Library of Congress ISBN 978-1-009-26033-6 Hardback Additional resources for this publication at www.cambridge.org/myers Cambridge University Press & Assessment has no responsibility for the persistence or accuracy of URLs for external or third-party internet websites referred to in this publication and does not guarantee that any content on such websites is, or will remain, accurate or appropriate. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . This publication is not sponsored, affiliated, or endorsed by Oracle or Java. https://www.cambridge.org/core/terms. https://doi.org/10.1017/9781009260350 Downloaded from https://www.cambridge.org/core. University of Cambridge, on 29 Dec 2024 at 05:12:42, subject to the Cambridge Core terms of use, available at
Data Structures and Algorithms in Java Learn with confidence with this hands-on undergraduate textbook for CS2 courses. Active learning and real-world projects underpin each chapter, briefly reviewing programming fun- damentals then progressing to core data structures and algorithms topics, including recursion, lists, stacks, trees, graphs, sorting, and complexity analysis. Creative projects and applications put theoretical concepts into practice, helping students master the fundamentals. Dedicated project chapters supply further programming practice using real-world, interdisciplinary prob- lems which students can showcase in their own online portfolios. Example Interview Questions sections prepare students for job applications. The pedagogy supports self-directed and skills- based learning with over 250 “Try It Yourself ” boxes, many with solutions provided, and over 500 progressively challenging end-of-chapter questions. Written in a clear and engaging style, this textbook is a complete resource for teaching the fundamental skills that today’s students need. Instructor resources are available online, including a test bank, solutions manual, and sample code. Dan S. Myers is Associate Professor of Computer Science at Rollins College in Winter Park, Florida, where he has taught Data Structures and Algorithms for 10 years. https://www.cambridge.org/core/terms. https://doi.org/10.1017/9781009260350 Downloaded from https://www.cambridge.org/core. University of Cambridge, on 29 Dec 2024 at 05:13:02, subject to the Cambridge Core terms of use, available at
“An intuitive and engaging introduction to foundational content; a terrific source for anyone looking to dive deeper into computer science!” Remzi Arpaci-Dusseau, University of Wisconsin–Madison “This book teaches data structures with an active learning approach. Students will first learn the constructs, then get hands-on experience by applying what they learned in real projects. In addition, the try-it-yourself sections are really helpful as simple brain teasers to ensure that students got the point. Students will be more engaged by learning this way.” Mohammed Farghally, Virginia Tech “Data Structures and Algorithms in Java by Dan Myers is a carefully crafted book for second-level CS students, right after learning the rudiments of at least one programming language (be it Python, C/C++, or Java) and doing basic programming. To fill the gap from simple programming to serious CS, art, and natural science applications programming, a fundamental course is needed. Often named ‘Data Structures and Algorithms,’ this course helps students to learn beyond basic data structures such as numbers and arrays, and to move to the world of lists, stacks, hash tables, trees, queues, heaps, and graphs. There are also the fundamental algorithms, such as searching, sorting, hashing, and binary tree traversal algorithms, which are the building blocks of more complicated algorithms needed to develop applications programs. Here is an excellent book that skillfully brings students to serious programming, by providing meaningful explanations, beautiful figures, and short but to-the-point code fragments. The exercises at the end of every chapter are very helpful. Fascinating projects every few chapters make even an experienced programmer want to try, such as particle effects, generative art, fractals, logic puzzles, and specialized search engines. I strongly urge the CS instructor to consider this book before making commitment to their often-used textbook.” Çetin Kaya Koç, University of California, Santa Barbara “With beautifully accessible prose, Professor Myers opens the door wide to a field known for its formidable jargon and subtle technical detail. This text offers scaffolded, incremental learning as well as innovative and engaging projects, all well designed and supported by a wealth of diverse exercises. His rich, interdisciplinary contexts also demonstrate the centrality of algorithms in many human endeavors.” Trevor Kearns, Greenfield Community College “I wholeheartedly endorse Data Structures and Algorithms in Java. Its unique project-based approach effectively merges theory with practical application, making it an invaluable resource for undergraduate students. The book’s emphasis on hands-on learning through Java programming projects elevates the understanding and deepens the knowledge of the applicability of data structures.” Tajmilur Rahman Md, Gannon University “Data Structures and Algorithms in Java is a must-read for aspiring programmers. The book bridges theory and practice seamlessly using real-world projects illustrating key concepts. The book covers a wide array of data structures from the simple stack to the more complex graph. The author’s beginner-friendly approach makes it an excellent companion for self-learners and computer science students alike.” Lilian Blot, University of York https://www.cambridge.org/core/terms. https://doi.org/10.1017/9781009260350 Downloaded from https://www.cambridge.org/core. University of Cambridge, on 29 Dec 2024 at 05:13:02, subject to the Cambridge Core terms of use, available at
“The examples of projects offer a fun yet insightful way to boost students’ creativity and enhance their problem-solving skills following the ‘Try It Yourself ’ approach, ensuring the understanding of each concept.” Jeong Yang, Texas A&M University–San Antonio “Dr. Myers carefully balances teaching students the Java they need after an introductory program- ming course with building more complex projects that students can use in their job portfolios. It covers the fundamental data structures and algorithms students need to know while immediately applying those ideas to longer-form projects in areas of student interest.” Brian Patterson, Oglethorpe University “A stand-out feature of this book is its project-based approach, which bridges theoretical content with real-world applications. This method not only enhances students’ understanding of data structures and algorithms, but also prepares them for technical roles through a variety of creative projects.” Bailin Deng, Cardiff University “This book goes beyond the typical scope of a data structures and algorithms textbook. The carefully described projects are excellent examples of how to structure large programs.” Christian Trefftz, Grand Valley State University “I have developed many techniques, tools, and examples to facilitate learning in my data structures classes. Dan Myers’ textbook incorporates many similar strategies – it is conversational, establishes a foundation for new concepts and techniques then builds upon the foundation. It also incorpo- rates numerous examples and problems, including historical references, making the material more interesting. This is a refreshing take on a potentially dry subject.” Dave Rosenberg, Wentworth Institute of Technology “The project-based approach in the book highlights the real-world applications of topics pre- sented, and facilitates greater understanding and clarity. The interview questions included under- score the importance of the concepts beyond the classroom. Several sections introduce new topics in simple terms along with relevant fun facts which draw the reader in and make the learning process an engaging one. Highly recommended!” Omofolakunmi Olagbemi, Hope College “Professor Myers’ project-based approach not only motivates students but also offers a practical framework for applying complex concepts effectively. The projects in this text provide context for decision-making and enhance understanding through practical applications. Each project builds a solid foundation fostering thoughtful engagement with challenging material.” Michael Penta, Northern Essex Community College https://www.cambridge.org/core/terms. https://doi.org/10.1017/9781009260350 Downloaded from https://www.cambridge.org/core. University of Cambridge, on 29 Dec 2024 at 05:13:02, subject to the Cambridge Core terms of use, available at
Data Structures and Algorithms in Java A Project-Based Approach Dan S. Myers Rollins College, Florida https://www.cambridge.org/core/terms. https://doi.org/10.1017/9781009260350 Downloaded from https://www.cambridge.org/core. University of Cambridge, on 29 Dec 2024 at 05:13:02, subject to the Cambridge Core terms of use, available at
Shaftesbury Road, Cambridge CB2 8EA, United Kingdom One Liberty Plaza, 20th Floor, New York, NY 10006, USA 477 Williamstown Road, Port Melbourne, VIC 3207, Australia 314–321, 3rd Floor, Plot 3, Splendor Forum, Jasola District Centre, New Delhi – 110025, India 103 Penang Road, #05–06/07, Visioncrest Commercial, Singapore 238467 Cambridge University Press is part of Cambridge University Press & Assessment, a department of the University of Cambridge. We share the University’s mission to contribute to society through the pursuit of education, learning and research at the highest international levels of excellence. www.cambridge.org Information on this title: www.cambridge.org/highereducation/isbn/9781009260336 DOI: 10.1017/9781009260350 © Cambridge University Press & Assessment 2025 This publication is in copyright. Subject to statutory exception and to the provisions of relevant collective licensing agreements, no reproduction of any part may take place without the written permission of Cambridge University Press & Assessment. When citing this work, please include a reference to the DOI 10.1017/9781009260350 First published 2025 Printed in Mexico by Litográfica Ingramex, S.A. de C.V, 2025 A catalogue record for this publication is available from the British Library A Cataloging-in-Publication data record for this book is available from the Library of Congress ISBN 978-1-009-26033-6 Hardback Additional resources for this publication at www.cambridge.org/myers Cambridge University Press & Assessment has no responsibility for the persistence or accuracy of URLs for external or third-party internet websites referred to in this publication and does not guarantee that any content on such websites is, or will remain, accurate or appropriate. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . This publication is not sponsored, affiliated, or endorsed by Oracle or Java. https://www.cambridge.org/core/terms. https://doi.org/10.1017/9781009260350 Downloaded from https://www.cambridge.org/core. University of Cambridge, on 29 Dec 2024 at 05:13:02, subject to the Cambridge Core terms of use, available at
Data Structures and Algorithms in Java Learn with confidence with this hands-on undergraduate textbook for CS2 courses. Active learning and real-world projects underpin each chapter, briefly reviewing programming fun- damentals then progressing to core data structures and algorithms topics, including recursion, lists, stacks, trees, graphs, sorting, and complexity analysis. Creative projects and applications put theoretical concepts into practice, helping students master the fundamentals. Dedicated project chapters supply further programming practice using real-world, interdisciplinary prob- lems which students can showcase in their own online portfolios. Example Interview Questions sections prepare students for job applications. The pedagogy supports self-directed and skills- based learning with over 250 “Try It Yourself ” boxes, many with solutions provided, and over 500 progressively challenging end-of-chapter questions. Written in a clear and engaging style, this textbook is a complete resource for teaching the fundamental skills that today’s students need. Instructor resources are available online, including a test bank, solutions manual, and sample code. Dan S. Myers is Associate Professor of Computer Science at Rollins College in Winter Park, Florida, where he has taught Data Structures and Algorithms for 10 years. https://www.cambridge.org/core/terms. https://doi.org/10.1017/9781009260350 Downloaded from https://www.cambridge.org/core. University of Cambridge, on 29 Dec 2024 at 05:13:16, subject to the Cambridge Core terms of use, available at
“An intuitive and engaging introduction to foundational content; a terrific source for anyone looking to dive deeper into computer science!” Remzi Arpaci-Dusseau, University of Wisconsin–Madison “This book teaches data structures with an active learning approach. Students will first learn the constructs, then get hands-on experience by applying what they learned in real projects. In addition, the try-it-yourself sections are really helpful as simple brain teasers to ensure that students got the point. Students will be more engaged by learning this way.” Mohammed Farghally, Virginia Tech “Data Structures and Algorithms in Java by Dan Myers is a carefully crafted book for second-level CS students, right after learning the rudiments of at least one programming language (be it Python, C/C++, or Java) and doing basic programming. To fill the gap from simple programming to serious CS, art, and natural science applications programming, a fundamental course is needed. Often named ‘Data Structures and Algorithms,’ this course helps students to learn beyond basic data structures such as numbers and arrays, and to move to the world of lists, stacks, hash tables, trees, queues, heaps, and graphs. There are also the fundamental algorithms, such as searching, sorting, hashing, and binary tree traversal algorithms, which are the building blocks of more complicated algorithms needed to develop applications programs. Here is an excellent book that skillfully brings students to serious programming, by providing meaningful explanations, beautiful figures, and short but to-the-point code fragments. The exercises at the end of every chapter are very helpful. Fascinating projects every few chapters make even an experienced programmer want to try, such as particle effects, generative art, fractals, logic puzzles, and specialized search engines. I strongly urge the CS instructor to consider this book before making commitment to their often-used textbook.” Çetin Kaya Koç, University of California, Santa Barbara “With beautifully accessible prose, Professor Myers opens the door wide to a field known for its formidable jargon and subtle technical detail. This text offers scaffolded, incremental learning as well as innovative and engaging projects, all well designed and supported by a wealth of diverse exercises. His rich, interdisciplinary contexts also demonstrate the centrality of algorithms in many human endeavors.” Trevor Kearns, Greenfield Community College “I wholeheartedly endorse Data Structures and Algorithms in Java. Its unique project-based approach effectively merges theory with practical application, making it an invaluable resource for undergraduate students. The book’s emphasis on hands-on learning through Java programming projects elevates the understanding and deepens the knowledge of the applicability of data structures.” Tajmilur Rahman Md, Gannon University “Data Structures and Algorithms in Java is a must-read for aspiring programmers. The book bridges theory and practice seamlessly using real-world projects illustrating key concepts. The book covers a wide array of data structures from the simple stack to the more complex graph. The author’s beginner-friendly approach makes it an excellent companion for self-learners and computer science students alike.” Lilian Blot, University of York https://www.cambridge.org/core/terms. https://doi.org/10.1017/9781009260350 Downloaded from https://www.cambridge.org/core. University of Cambridge, on 29 Dec 2024 at 05:13:16, subject to the Cambridge Core terms of use, available at
“The examples of projects offer a fun yet insightful way to boost students’ creativity and enhance their problem-solving skills following the ‘Try It Yourself ’ approach, ensuring the understanding of each concept.” Jeong Yang, Texas A&M University–San Antonio “Dr. Myers carefully balances teaching students the Java they need after an introductory program- ming course with building more complex projects that students can use in their job portfolios. It covers the fundamental data structures and algorithms students need to know while immediately applying those ideas to longer-form projects in areas of student interest.” Brian Patterson, Oglethorpe University “A stand-out feature of this book is its project-based approach, which bridges theoretical content with real-world applications. This method not only enhances students’ understanding of data structures and algorithms, but also prepares them for technical roles through a variety of creative projects.” Bailin Deng, Cardiff University “This book goes beyond the typical scope of a data structures and algorithms textbook. The carefully described projects are excellent examples of how to structure large programs.” Christian Trefftz, Grand Valley State University “I have developed many techniques, tools, and examples to facilitate learning in my data structures classes. Dan Myers’ textbook incorporates many similar strategies – it is conversational, establishes a foundation for new concepts and techniques then builds upon the foundation. It also incorpo- rates numerous examples and problems, including historical references, making the material more interesting. This is a refreshing take on a potentially dry subject.” Dave Rosenberg, Wentworth Institute of Technology “The project-based approach in the book highlights the real-world applications of topics pre- sented, and facilitates greater understanding and clarity. The interview questions included under- score the importance of the concepts beyond the classroom. Several sections introduce new topics in simple terms along with relevant fun facts which draw the reader in and make the learning process an engaging one. Highly recommended!” Omofolakunmi Olagbemi, Hope College “Professor Myers’ project-based approach not only motivates students but also offers a practical framework for applying complex concepts effectively. The projects in this text provide context for decision-making and enhance understanding through practical applications. Each project builds a solid foundation fostering thoughtful engagement with challenging material.” Michael Penta, Northern Essex Community College https://www.cambridge.org/core/terms. https://doi.org/10.1017/9781009260350 Downloaded from https://www.cambridge.org/core. University of Cambridge, on 29 Dec 2024 at 05:13:16, subject to the Cambridge Core terms of use, available at
Data Structures and Algorithms in Java A Project-Based Approach Dan S. Myers Rollins College, Florida https://www.cambridge.org/core/terms. https://doi.org/10.1017/9781009260350 Downloaded from https://www.cambridge.org/core. University of Cambridge, on 29 Dec 2024 at 05:13:16, subject to the Cambridge Core terms of use, available at
Shaftesbury Road, Cambridge CB2 8EA, United Kingdom One Liberty Plaza, 20th Floor, New York, NY 10006, USA 477 Williamstown Road, Port Melbourne, VIC 3207, Australia 314–321, 3rd Floor, Plot 3, Splendor Forum, Jasola District Centre, New Delhi – 110025, India 103 Penang Road, #05–06/07, Visioncrest Commercial, Singapore 238467 Cambridge University Press is part of Cambridge University Press & Assessment, a department of the University of Cambridge. We share the University’s mission to contribute to society through the pursuit of education, learning and research at the highest international levels of excellence. www.cambridge.org Information on this title: www.cambridge.org/highereducation/isbn/9781009260336 DOI: 10.1017/9781009260350 © Cambridge University Press & Assessment 2025 This publication is in copyright. Subject to statutory exception and to the provisions of relevant collective licensing agreements, no reproduction of any part may take place without the written permission of Cambridge University Press & Assessment. When citing this work, please include a reference to the DOI 10.1017/9781009260350 First published 2025 Printed in Mexico by Litográfica Ingramex, S.A. de C.V, 2025 A catalogue record for this publication is available from the British Library A Cataloging-in-Publication data record for this book is available from the Library of Congress ISBN 978-1-009-26033-6 Hardback Additional resources for this publication at www.cambridge.org/myers Cambridge University Press & Assessment has no responsibility for the persistence or accuracy of URLs for external or third-party internet websites referred to in this publication and does not guarantee that any content on such websites is, or will remain, accurate or appropriate. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . This publication is not sponsored, affiliated, or endorsed by Oracle or Java. https://www.cambridge.org/core/terms. https://doi.org/10.1017/9781009260350 Downloaded from https://www.cambridge.org/core. University of Cambridge, on 29 Dec 2024 at 05:13:16, subject to the Cambridge Core terms of use, available at
Comments 0
Loading comments...
Reply to Comment
Edit Comment