Fabulous Adventures in Data Structures and Algorithms
暫譯: 資料結構與演算法的奇幻冒險

Lippert, Eric

  • 出版商: Manning
  • 出版日期: 2026-09-29
  • 售價: $2,710
  • 貴賓價: 9.5$2,574
  • 語言: 英文
  • 頁數: 368
  • 裝訂: Quality Paper - also called trade paper
  • ISBN: 1633435032
  • ISBN-13: 9781633435032
  • 相關分類: Algorithms-data-structures
  • 海外代購書籍(需單獨結帳)

商品描述

Get a free eBook (PDF or ePub) from Manning as well as access to the online liveBook format (and its AI assistant that will answer your questions in any language) when you purchase the print book.

There's a lot more to algorithms than the useful-but-boring recipes you recite for every interview. This unique book introduces a collection of amazing algorithms that have the potential to change the way you program.

In this book, language designer and C# legend Eric Lippert explores exciting, esoteric, and exotic data structures and algorithms that will expand your programming toolbox and your horizons. You'll upend the way you think about lists, learn the algorithms behind powerful developer tools, and rethink how to handle stochastic quantities in modern programming languages.

Fabulous Adventures in Data Structures and Algorithms shows you how to:

- Build efficient, double-ended queues from immutable parts
- Auto-format structured text so it always looks sharp
- Generate and manipulate random numbers from custom distributions using the same tools you use for sequences
- Harness immutability to squeeze data smaller while speeding up repeated computations
- Uncover the mathematical structures underlying lists, nullables, functions, tasks, and probabilities

About the book

Fabulous Adventures in Data Structures and Algorithms teaches you how to solve programming challenges with lesser-known algorithmic approaches. You'll begin by examining immutable data structures--stacks, queues, deques, and unusual constructions like Hughes lists--that take on conventional assumptions about performance.

Next, you'll investigate algorithms drawn from building developer tools, from backtracking search in graph coloring to unification and anti-unification. Finally, you'll venture into randomness, developing data structures and algorithms for discrete and continuous distributions, sequence operations on probability distributions, and Bayesian reasoning.

About the reader

For working programmers who know C#, Java, Python, or similar object-oriented language. Examples in C#.

About the author

Eric Lippert designed programming languages, compilers, and other developer tools for Microsoft, Coverity, and Facebook. He's been on the design and/or implementation and/or specification teams for Visual Basic, JavaScript, VBScript, C#, Hack, and Bean Machine. Eric's popular blog about language design, data structures and algorithms, and other "fabulous adventures in coding," which you can read at ericlippert.com, has enjoyed a twenty-year run.

商品描述(中文翻譯)

購買紙本書即可從 Manning 免費取得 eBook(PDF 或 ePub),以及線上 liveBook 格式的存取權(包括能以任何語言回答問題的 AI 助理)。

演算法遠不只是你在每次面試中背誦的那些實用卻乏味的解題配方。本書獨特地介紹了一系列令人驚豔、且可能改變你程式設計方式的演算法。

在本書中,語言設計師暨 C# 傳奇人物 Eric Lippert 將探索令人興奮、深奧而奇特的資料結構與演算法,擴充你的程式設計工具箱與視野。你將顛覆對串列(lists)的思考方式,學習強大開發者工具背後的演算法,並重新思考如何在現代程式語言中處理隨機量(stochastic quantities)。

《Fabulous Adventures in Data Structures and Algorithms》將教你如何:

- 使用不可變(immutable)元件建立高效能的雙端佇列(double-ended queues)
- 自動格式化結構化文字,讓內容始終保持清晰美觀
- 使用與處理序列相同的工具,從自訂分布(custom distributions)產生及操作亂數
- 運用不可變性(immutability)縮小資料規模,同時加速重複計算
- 探索串列、可空值(nullables)、函式、工作(tasks)與機率背後的數學結構

關於本書

《Fabulous Adventures in Data Structures and Algorithms》將教你運用較少人知的演算法方法解決程式設計挑戰。你將從檢視不可變資料結構開始,包括堆疊、佇列、雙端佇列,以及 Hughes 串列等不尋常的結構;這些結構將挑戰人們對效能的傳統認知。

接著,你會研究從開發者工具建置過程中衍生的演算法,涵蓋圖形著色(graph coloring)中的回溯搜尋(backtracking search),以及合一(unification)與反合一(anti-unification)。最後,你將進入隨機性的世界,開發適用於離散與連續分布的資料結構和演算法,學習對機率分布進行序列操作,以及貝氏推理(Bayesian reasoning)。

關於讀者

適合熟悉 C#、Java、Python 或類似物件導向語言的專業程式設計師。範例採用 C#。

關於作者

Eric Lippert 曾在 Microsoft、Coverity 與 Facebook 負責程式語言、編譯器及其他開發者工具的設計。他曾參與 Visual Basic、JavaScript、VBScript、C#、Hack 與 Bean Machine 的設計、實作及/或規格制定團隊。

Eric 在 ericlippert.com 發表的熱門部落格,內容涵蓋語言設計、資料結構與演算法,以及其他「程式設計的奇妙冒險」,至今已持續二十年,廣受讀者喜愛。

作者簡介

Eric Lippert designed programming languages, compilers, and other developer tools for Microsoft, Coverity, and Facebook. He's been on the design and/or implementation and/or specification teams for Visual Basic, JavaScript, VBScript, C#, Hack, and Bean Machine. Eric's popular blog about language design, data structures and algorithms, and other "fabulous adventures in coding," which you can read at ericlippert.com, has enjoyed a twenty-year run.

作者簡介(中文翻譯)

Eric Lippert 曾在 Microsoft、Coverity 和 Facebook 負責設計程式語言、編譯器及其他開發人員工具。他曾參與 Visual Basic、JavaScript、VBScript、C#、Hack 和 Bean Machine 的設計、實作及/或規格制定團隊。Eric 撰寫的熱門部落格 ericlippert.com,內容涵蓋語言設計、資料結構與演算法,以及其他「精彩的程式設計冒險」,至今已持續經營二十年。