Designing Data Structures in Java: A Software Engineering Approach

Albert A Brouillette

商品描述

"Designing Data Structures in Java" provides a solid foundation for anyone seeking to understand the how and the why of programming data structures. Intended for the reader with an introductory Java background, this book aims to meet the needs of students enrolled in a typical "Data Structures and Algorithms with Java" (CS2) course. Starting with a description of the software development process, the book takes a problem-solving approach to programming, and shows how data structures form the building blocks of well-designed and cleanly-implemented programs. Topics include: Problem solving, Abstraction, Java objects and references, Arrays, Abstract Data Types, Ordered lists, Sorting, Algorithm evaluation, Binary searches, Stacks, Queues, Linked Lists, Double-ended lists, Recursion, Doubly-linked lists, Binary Search Trees, Traversals, Heaps, and more. Mr. Brouillette's 25+ years of experience as a software engineer and educator allow him to bring a unique and refreshing perspective to the topic of data structures which is rigorous, accessible and practical. Material is presented in a 'top down' approach, beginning with explanations of why different data structures are used, continuing with clearly illustrated concepts of how the structures work, and ending with clear, neat Java code examples. Succinct graphics provide visual representations of the ideas, and verbal explanations supplement the documented code. Each chapter ends with a Chapter Checklist summary page which distills and highlights the most important ideas from the chapter. The book is intended as a step by step explanation and exploration of the how and why of using Data Structures in modern computer program development. Even though the Java language is used in the explanation and implementation of the various structures, the concepts are applicable to other languages which the reader may encounter in the future. The topics included have been sequenced to build upon each other, always with the perspective of the beginning programming student in mind. There are discussions of software engineering concepts and goals, and motivations for learning different data structures. This text brings the beginning Java student from novice programmer to the next level of programming maturity.

商品描述(中文翻譯)

《Java 設計資料結構》為希望了解程式設計資料結構的人提供了堅實的基礎。本書針對具有初步 Java 背景的讀者,旨在滿足參加典型的「使用 Java 的資料結構與演算法」(CS2)課程的學生需求。從軟體開發流程的描述開始,本書以解決問題的方式進行程式設計,並展示了資料結構如何成為設計良好且實現清晰的程式的基石。主題包括:問題解決、抽象化、Java 物件和參考、陣列、抽象資料型別、有序列表、排序、演算法評估、二元搜尋、堆疊、佇列、鏈結串列、雙向串列、遞迴、雙向鏈結串列、二元搜尋樹、遍歷、堆積等等。布魯耶特先生擁有 25 年以上的軟體工程師和教育家經驗,使他能夠以嚴謹、易於理解和實用的獨特觀點來探討資料結構的主題。本書以「自上而下」的方式呈現材料,從解釋為何使用不同的資料結構開始,繼而清晰地說明結構的運作原理,最後以清晰整潔的 Java 程式碼示例結束。簡潔的圖形提供了對概念的視覺化呈現,口頭解釋則補充了文件化的程式碼。每章結束時都有一個章節檢查清單摘要頁,概括並突出了該章節中最重要的觀念。本書旨在逐步解釋和探索在現代電腦程式開發中使用資料結構的方法和原因。儘管在解釋和實現各種結構時使用了 Java 語言,但這些概念也適用於讀者未來可能遇到的其他語言。所包含的主題已按照相互建立的順序排列,始終以初學程式設計的學生為出發點。書中討論了軟體工程概念和目標,以及學習不同資料結構的動機。本書將初學 Java 的學生從新手程式設計師帶到下一個程式設計成熟度的階段。