MindTap for Azevedo/Cutajar's Java Data Structures, 1st Edition helps you learn on your terms. INSTANT ACCESS IN YOUR POCKET. Take advantage of the MindTap Mobile App to learn on your terms. Read or listen to textbooks and study with the aid of instructor notifications, flashcards and practice quizzes. MINDTAP HELPS YOU CREATE YOUR OWN POTENTIAL. GEAR UP FOR ULTIMATE SUCCESS. Track your scores and stay motivated toward your goals. Whether you have more work to do or are ahead of the curve, you’ll know where you need to focus your efforts. And the MindTap Green Dot will charge your confidence along the way. MINDTAP HELPS YOU OWN YOUR PROGRESS. MAKE YOUR TEXTBOOK YOURS. No one knows what works for you better than you. Highlight key text, add notes and create custom flashcards. When it’s time to study, everything you’ve flagged or noted can be gathered into a guide you can organize.
Module 1:
Algorithms and Complexities:
Developing Our First Algorithm.
Measuring Algorithmic Complexity with Big O Notation.
Identifying Algorithms with Different Complexities.
Module 2:
Sorting Algorithms and Fundamental Data Structures:
Introducing Bubble Sorting.
Understanding Quick Sort.
Using Merge Sort.
Getting Started with Fundamental Data Structure.
Module 3:
Hash Tables and Binary Search Tree:
Introducing Hash Tables.
Getting Started with Binary Search Trees.
Module 4:
Algorithm Design Paradigms:
Introducing Greedy Algorithms.
Getting Started with Divide and Conquer Algorithms.
Understanding Dynamic Programming.
Module 5:
String Matching Algorithms:
Naive Search Algorithms.
Getting Started with the Boyer-Moore String.
Searching Algorithms.
Introducing Other String Matching Algorithms.
Module 6:
Graphs, Prime Numbers, and Complexity Classes:
Representing Graphs.
Traversing A Graph.
Calculating Shortest Paths.
Prime Numbers in Algorithms.
Other Concepts in Graphs.
Understanding Complexity Classes of Problems.
-
Joao Azevedo
Joao Azevedo is a Software Engineer currently working at ShiftForward, where he is involved in the development of large-scale systems for the online advertising industry. His interests in computer science usually revolve around artificial intelligence, machine learning, data mining, algorithms, data structures, and programming language theory. He is fond of reading computer science textbooks and science-fiction novels. He makes an effort to keep as much of the code he writes open-source.
-
James Cutajar
James Cutajar is a software developer with an interest in scalable, high-performance computing, and distributed algorithms. He is also an author, open source contributor, blogger, and a tech evangelist. When he is not writing software, he is riding his motorbike, surfing, or flying light aircraft. He was born in Malta, lived in London for almost a decade, and is now working in Portugal.
-
Practice Exercises, Graded Lab Activities and Lab Assessments provide a range of programming lab activities within a real-world integrated development environment. These tools within our IDE range from practice labs in a sandbox environment to fully graded unit lab assessments that address all of the learning objectives from the unit.
-
Practice Exercises provide opportunities to practice new concepts in short coding activities. Students are provided with guided instructional materials alongside a live computing environment. There are typically be 1-3 practice labs in each lesson and there are on average around 5 lessons per module
-
Lab Activities are coding activities that are completed by a student and contain auto-grading that feeds directly to the gradebook. Learners demonstrate an understanding of numerous concepts by completing tasks. Tasks are verified using unit tests, I/O tests, image and webpage comparison, debugging tests, and many other checks. There will be a lab assessment for every lesson and there are on average around 5 lessons per module.
-
Module Lab Assessments encompass all the learning objectives in the module. Students are asked to complete a larger, authentic assignment with many tasks. Some tasks will be verified using unit tests, I/O tests, image and webpage comparison, debugging tests but other tasks will be unique to each student’s project and will require manual grading. The goal of these assignments is to prove that students have mastered the learning objectives in the module and in doing so have also created a program for their GitHub portfolio.
Instructor's Companion Website for Azevedo/Cutajar's Java Data Structures
9780357114896