Generic Data Structures and Algorithms in Go: An Applied Approach Using Concurrency, Genericity and Heuristics (Paperback)
暫譯: Go 語言中的通用資料結構與演算法:應用並發、泛型與啟發式的方法 (平裝本)

Wiener, Richard

  • 出版商: Apress
  • 出版日期: 2022-07-13
  • 定價: $2,450
  • 售價: 8.0$1,960
  • 語言: 英文
  • 頁數: 604
  • 裝訂: Quality Paper - also called trade paper
  • ISBN: 148428190X
  • ISBN-13: 9781484281901
  • 相關分類: Algorithms-data-structures
  • 立即出貨 (庫存=1)

買這商品的人也買了...

相關主題

商品描述

Advance your understanding of generic data structures and algorithms and their applications using Go and the effective use of concurrency. You are invited on a journey that aims to improve your programming and problem-solving skills. This book takes you to the next step by showing how to get your programs to work efficiently as well as correctly.
As you explore many data structures and the algorithms and applications associated with them, you'll focus on the trade-offs between speed and storage and the benefits of deploying concurrency when appropriate. This book will demonstrate the huge increases in application performance that are possible. The presentation of classic data structures and techniques of algorithm design (greedy, divide and conquer, branch-and-bound to name a few) provides an essential foundation and toolkit for problem solving. But this book goes further by presenting heuristic algorithms and their implementations for solving computationally intractable combinatoric optimization problems such as the travelling salesperson problem. Simulated annealing and genetic algorithms are among the techniques used.
The consistent style of coding used throughout this book exploits Go's ability to implement abstract, generic and constrained generic data types without the use of classes. Although some familiarity with Go is assumed, this book should advance your ability to use Go to tackle server-side applications, games, machine learning, information retrieval and other application domains where speed and storage efficiency is essential.
What You'll Learn

  • Explore classical data structures and algorithms aimed at making your applications run faster or require less storage
  • Use the new generic features of Go to build reusable data structures
  • Utilize concurrency for maximizing application performance
  • See the power of heuristic algorithms for computationally intractable problems
  • Enhance and improve your Go programming skills

Who This Book Is For
Practicing Go software developers and students who wish to advance their programming and problem-solving skills and experience the excitement and see the benefits of using generic data structures and algorithms that utilize concurrency whenever possible.

商品描述(中文翻譯)

提升您對於通用資料結構和演算法及其應用的理解,使用 Go 語言並有效利用並發。您將被邀請參加一段旅程,旨在改善您的程式設計和問題解決技能。本書將帶您邁向下一步,展示如何使您的程式高效且正確地運行。

在探索許多資料結構及其相關的演算法和應用時,您將專注於速度與儲存之間的權衡,以及在適當時部署並發的好處。本書將展示應用性能的巨大提升是如何實現的。經典資料結構的呈現和演算法設計技術(如貪婪演算法、分治法、分支界限法等)提供了解決問題的基本基礎和工具包。但本書更進一步,介紹啟發式演算法及其實現,用於解決計算上難以處理的組合優化問題,例如旅行推銷員問題。模擬退火和遺傳演算法是所使用的技術之一。

本書中一致的程式碼風格利用了 Go 語言實現抽象、通用和受限通用資料類型的能力,而不需要使用類別。雖然假設讀者對 Go 有一定的熟悉度,但本書應能提升您使用 Go 處理伺服器端應用程式、遊戲、機器學習、資訊檢索及其他對速度和儲存效率要求高的應用領域的能力。

您將學到什麼


  • 探索旨在使您的應用程式運行更快或需要更少儲存的經典資料結構和演算法

  • 使用 Go 的新通用特性來構建可重用的資料結構

  • 利用並發來最大化應用性能

  • 了解啟發式演算法在計算上難以處理問題中的威力

  • 增強和改善您的 Go 程式設計技能

本書適合誰閱讀

實踐中的 Go 軟體開發人員和希望提升其程式設計和問題解決技能的學生,體驗使用通用資料結構和演算法的興奮,並在可能的情況下看到利用並發的好處。

作者簡介

Richard Wiener, Ph.D. authored or co-authored 22 professional, software development and computer-science textbooks published by Wiley, Addison-Wesley, Prentice-Hall, Cambridge University Press and Thompson. Served as founding Editor-in-Chief of the Journal of Object-Oriented Programming for 12 years and later, founding Editor-in-Chief of the Journal of Object Technology for 9 years. Worked as Associate Professor of Computer Science at the University of Colorado, Colorado Springs (UCCS) from 1977-2012. Served as Department Chair during last four years at UCCS. Served as consultant and software developer for IBM, HP, Boeing, Textronix, DEC and many other companies. Presented industry short-courses all over the world from 1980 to 2006. Earned BS and MS in Electrical Engineering from City University of New York and Ph.D. from Polytechnic Institute of New York.

作者簡介(中文翻譯)

理查德·維納(Richard Wiener),博士 於Wiley、Addison-Wesley、Prentice-Hall、劍橋大學出版社和Thompson出版了22本專業、軟體開發和計算機科學的教科書,並擔任《物件導向程式設計期刊》(Journal of Object-Oriented Programming)的創始主編長達12年,隨後又擔任《物件技術期刊》(Journal of Object Technology)的創始主編9年。自1977年至2012年擔任科羅拉多大學科羅拉多斯普林斯分校(University of Colorado, Colorado Springs, UCCS)計算機科學副教授,並在UCCS的最後四年擔任系主任。曾擔任IBM、HP、波音、Textronix、DEC及其他多家公司的顧問和軟體開發人員。自1980年至2006年在全球各地舉辦行業短期課程。獲得紐約市立大學的電機工程學士和碩士學位,以及紐約理工學院的博士學位。