C++ Data Structures and Algorithm Design Principles

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風格的陣列
- 通過實際案例探索陣列、堆疊和圖等資料結構
- 研究演算法和資料結構之間的權衡,並發現什麼有效、什麼無效
- 發現布隆過濾器和多路堆積等技術如何提升實際應用程式的效能