Introduction to Java Programming and Data Structures seamlessly integrates programming, data structures, and algorithms into one text. With a fundamentals-first approach, the text builds a strong foundation of basic programming concepts and techniques before teaching students object-oriented programming and advanced Java programming.
Liang explains programming in a problem-driven way that focuses on problem solving rather than syntax, illustrating basic concepts by example and providing a large number of exercises with various levels of difficulty for students to practice. The 12th Edition is completely revised in every detail to enhance clarity, presentation, content, examples, and exercises.
Features –
1. NEW: Both Comparable and Comparator are used to compare elements in Heap, Priority-Queue, BST, and AVLTree. This is consistent with the Java API and is more useful and flexible.
2. NEW: String matching algorithms are introduced in Chapter 22: Developing Efficient Algorithms.
3. UPDATED: Java 9, 10, 11 and FX11 are covered to keep the text up to date with current technologies. Examples are improved and simplified.
4. UPDATED: Lambda expressions are used in more examples and exercises in the data structures chapters to simplify coding.
5. UPDATED: Programming Exercises are grouped by sections to provide students with opportunities to apply the new skills they have learned on their own.
About the Author -
Y. Daniel Liang Georgia Southern University
Book Contents –
1. Introduction to Computers, Programs, and Javaâ„¢ 2. Elementary Programming 3. Selections 4. Mathematical Functions, Characters, and Strings 5. Loops 6. Methods 7. Single-Dimensional Arrays 8. Multidimensional Arrays 9. Objects and Classes 10. Object-Oriented Thinking 11. Inheritance and Polymorphism 12. Exception Handlingand Text I/O 13. Abstract Classes and Interfaces 14. JavaFX Basics 15. Event-Driven Programming and Animations 16. JavaFX UI Controls and Multimedia 17. Binary I/O 18. Recursion 19. Generics 20. Lists, Stacks, Queues, and Priority Queues 21. Sets and Maps 22. Developing Efficient Algorithms 23. Sorting 24. Implementing Lists, Stacks, Queues, and Priority Queues 25. Binary Search Trees 26. AVL Trees 27. Hashing 28. Graphs and Applications 29. Weighted Graphs and Applications 30. Aggregate Operations for Collection Streams
Chapter 31–44 are available Online –
31. Advanced JavaFX and FXML 32. Multithreading and Parallel Programming 33. Networking 34. Java Database Programming 35. Advanced Java Database Programming 36. Internationalization 37. Servlets 38. Java Server Pages 39. Java Server Faces 40. RMI 41. Web Services 42. 2-4 Trees and B-Trees 43. Red-Black Trees 44. Testing Using Junit