C++ Data Structures and Algorithm Design Principles
暫譯: C++ 資料結構與演算法設計原則
Carey, John, Doshi, Shreyans, Rajan, Payas
- 出版商: Packt Publishing
- 出版日期: 2019-10-31
- 定價: $1,380
- 售價: 9.0 折 $1,242
- 語言: 英文
- 頁數: 626
- 裝訂: Quality Paper - also called trade paper
- ISBN: 1838828842
- ISBN-13: 9781838828844
-
相關分類:
C++ 程式語言、Algorithms-data-structures
立即出貨 (庫存=1)
商品描述
C++ is a mature multi-paradigm programming language that enables you to write high-level code with a high degree of control over the hardware. Today, significant parts of software infrastructure, including databases, browsers, multimedia frameworks, and GUI toolkits, are written in C++.
This book starts by introducing C++ data structures and how to store data using linked lists, arrays, stacks, and queues. In later chapters, the book explains the basic algorithm design paradigms, such as the greedy approach and the divide-and-conquer approach, which are used to solve a large variety of computational problems. Finally, you will learn the advanced technique of dynamic programming to develop optimized implementations of several algorithms discussed in the book.
By the end of this book, you will have learned how to implement standard data structures and algorithms in efficient and scalable C++ 14 code.
- Build applications using hash tables, dictionaries, and sets
- Explore how modern hardware affects the actual run-time performance of programs
- Apply common algorithms such as heapsort and merge sort for string data types
- Use C++ template metaprogramming to write code libraries
- Implement a URL shortening service using a bloom filter
- Use appropriate modern C++ idioms such as std:: array instead of C-style arrays
- Explore data structures such as arrays, stacks, and graphs with real-world examples
- Study the trade-offs between algorithms and data structures and discover what works and what doesn't
- Discover how techniques such as bloom filters and multi-way heaps boost real-world applications
商品描述(中文翻譯)
C++ 是一種成熟的多範式程式語言,讓您能夠撰寫高階程式碼,同時對硬體有高度的控制。如今,許多重要的軟體基礎設施,包括資料庫、瀏覽器、多媒體框架和 GUI 工具包,都是用 C++ 編寫的。
本書首先介紹 C++ 的資料結構,以及如何使用鏈結串列、陣列、堆疊和佇列來儲存資料。在後面的章節中,本書解釋了基本的演算法設計範式,例如貪婪演算法和分治法,這些方法用於解決各種計算問題。最後,您將學習動態規劃的進階技術,以開發本書中討論的幾個演算法的最佳化實作。
在本書結束時,您將學會如何在高效且可擴展的 C++ 14 程式碼中實作標準資料結構和演算法。
- 使用雜湊表、字典和集合來建立應用程式
- 探索現代硬體如何影響程式的實際執行效能
- 對字串資料類型應用常見演算法,如堆排序和合併排序
- 使用 C++ 模板元編程來撰寫程式庫
- 使用布隆過濾器實作 URL 縮短服務
- 使用適當的現代 C++ 慣用法,例如使用 std::array 取代 C 風格的陣列
- 透過實際範例探索資料結構,如陣列、堆疊和圖
- 研究演算法與資料結構之間的權衡,發現什麼有效、什麼無效
- 探索布隆過濾器和多路堆等技術如何提升實際應用的效能