此版本中,內爾·戴爾(Nell Dale)不再是《數(shù)據(jù)結構(C++ Plus 實現(xiàn))(第 6 版)》的唯一作者。 本書加入了兩位作者——奇普·威姆斯(Chip Weems)和蒂姆·理查茲(Tim Richards),并繼續(xù)保持 以往版本的優(yōu)良傳統(tǒng)。在其他論著方面,奇普與內爾合著了三十多年,如 Java Plus Data Structures,為 本書及其早期版本奠定了基礎,并對教學方法的改進作出了重大貢獻。在 Programming and Problem Solving in C++ 的新版本中,蒂姆、奇普和內爾三人密切合作,共同致力于讓世界各地的學生能夠取 得成功,同時他們對教學的熱愛也激勵著學生們每天走進教室學習。 在過去的二十年里,傳統(tǒng)的數(shù)據(jù)結構課程已經發(fā)展到更廣泛的主題,包括抽象數(shù)據(jù)類型(Abstract Data Type,ADT)、軟件工程和算法的基本分析。 數(shù)據(jù)結構(Data Structures)研究如何在組織關系中表示數(shù)據(jù)集合,以及如何編寫相應操作的算法。 抽象數(shù)據(jù)類型是指一個定義屬性的數(shù)據(jù)類型以及這個數(shù)據(jù)類型上的一組操作。計算機科學教育的重點 向更加抽象的方向轉變。現(xiàn)在,在程序中除了研究如何表示對象之外,還研究數(shù)據(jù)對象類型的抽象屬性。 Johannes J.Martin 說得非常簡單:“從觀點來看,數(shù)據(jù)對象是由數(shù)據(jù)類型(對于使用者)或數(shù)據(jù)結構(對 于實現(xiàn)者)來描述的?!盿 抽象的設計和實現(xiàn)都與軟件工程密切相關,軟件工程旨在將工程方法應用于開發(fā)可靠、健壯和高 質量的軟件。一個糟糕的抽象會導致一組煩瑣的應用案例,迫使程序員要么編寫不必要的復雜代碼, 要么忽略重要的有效性檢查。一個糟糕的實現(xiàn)可能導致效率低下或容易出錯。 高效實現(xiàn)的一個方面是能夠分析既定算法。因此,在本書中,我們將抽象和應用程序的實現(xiàn)分開 介紹,并分析所介紹的算法。