40 Algorithms Every Programmer Should Know
Get to grips with writing algorithms with the help of case studies and their implementation in Python
暫譯: 每位程式設計師必知的40種演算法
Imran Ahmad
- 出版商: Packt Publishing
- 出版日期: 2020-06-12
- 定價: $1,520
- 售價: 8.0 折 $1,216
- 語言: 英文
- 頁數: 329
- 裝訂: Paperback
- ISBN: 1789801214
- ISBN-13: 9781789801217
-
相關分類:
Algorithms-data-structures
-
相關翻譯:
程序員必會的40種算法 (簡中版)
每個程式設計師都應該要知道的50個演算法 (繁中版)
立即出貨 (庫存=1)
買這商品的人也買了...
-
$1,200$1,140 -
$1,156Digital Systems Design Using Verilog (IE-Paperback)
-
$680$666 -
$680$666 -
$450$441 -
$980$774 -
$950$903 -
$580$458 -
$450$356 -
$465統計學習方法, 2/e
-
$2,810$2,670 -
$740$725 -
$680$537 -
$422Python數據分析 活用Pandas庫
-
$4,470$4,247 -
$1,584Quantum Computing: Program Next-Gen Computers for Hard, Real-World Applications
-
$505labuladong 的算法小抄
-
$690$545 -
$450$356 -
$680$537 -
$588$559 -
$1,360$1,333 -
$509複盤
-
$680$537 -
$640$627
相關主題
商品描述
A concise guide to algorithms that will help you solve classical computer science problems using everything from fundamental algorithms like sorting and searching to modern algorithms used in machine learning and cryptography
Key Features
- Learn the techniques you need to know to design algorithms for solving complex problems
- Get familiar with neural network and deep learning techniques
- Explore different types of algorithms and choose the right data structures for their optimal implementation
Book Description
Algorithms have always played an important role both in the science and practice of computing. Beyond traditional computing, the ability to use algorithms to solve real-world problems is an important skill that any developer or programmer must have. This book tries to achieve a balance between helping you develop the skill to select and use an algorithm for solving real-world problems and explaining the logic behind it.
You'll start by learning the fundamentals of algorithms and discover various algorithm design techniques, before exploring how to implement different types of algorithms such as searching, sorting, and dynamic with the help of practical examples. Next, you'll move on to a more complex set of algorithms and learn about linear programming, page ranking, and graphs. Later, you'll go through machine learning algorithms, understanding the math and logic behind them. Further on, you'll learn to use interesting case studies such as weather prediction, tweet clustering, and movie recommendation engines to apply these algorithms optimally. Finally, you'll become well-versed with techniques to enable parallel processing giving you the ability to use these algorithms for compute-intensive tasks.
By the end of this book, you will have become adept at solving real-world computational problems by using a wide range of algorithms.
What you will learn
- Use existing data structures and algorithms found in Python libraries
- Get to grips with fraud detection using network analysis with the help of graph algorithms
- Use machine learning algorithms to cluster similar tweets together and process twitter data in real-time
- Predict the weather using supervised learning algorithms
- Use neural networks for object detection
- Create a recommendation engine to recommend movies to subscribers
- Use symmetric and asymmetric encryption on Google Cloud Platform(GCP)to implement fool-proof security
Who This Book Is For
This book is for anyone who wants to understand essential algorithms and their implementation. Whether you are an experienced programmer who wants to gain a deeper understanding of the math behind the algorithms, or have limited data science and programming knowledge and want to learn more about this important area of active research and application, you'll find this book useful. Although experience with Python programming is a must, knowledge of data science will be helpful but not necessary.
商品描述(中文翻譯)
一份簡明的算法指南,將幫助您使用從基本算法(如排序和搜尋)到現代算法(用於機器學習和密碼學)來解決經典計算機科學問題。
主要特點
- 學習設計算法以解決複雜問題所需的技術
- 熟悉神經網絡和深度學習技術
- 探索不同類型的算法,並選擇適合其最佳實現的數據結構
書籍描述
算法在計算的科學和實踐中一直扮演著重要角色。除了傳統計算之外,使用算法解決現實世界問題的能力是任何開發者或程序員必須具備的重要技能。本書試圖在幫助您培養選擇和使用算法解決現實世界問題的技能與解釋其背後邏輯之間取得平衡。
您將從學習算法的基本原理開始,發現各種算法設計技術,然後探索如何實現不同類型的算法,如搜尋、排序和動態規劃,並通過實際範例進行說明。接下來,您將進入更複雜的算法集,學習線性規劃、頁面排名和圖形。之後,您將學習機器學習算法,理解其背後的數學和邏輯。進一步地,您將學習使用有趣的案例研究,如天氣預測、推文聚類和電影推薦引擎,來最佳化地應用這些算法。最後,您將熟悉使能平行處理的技術,使您能夠將這些算法用於計算密集型任務。
在本書結束時,您將能夠熟練地使用各種算法解決現實世界的計算問題。
您將學到的內容
- 使用Python庫中現有的數據結構和算法
- 利用圖形算法進行網絡分析以掌握詐騙檢測
- 使用機器學習算法將相似的推文聚類在一起,並實時處理Twitter數據
- 使用監督學習算法預測天氣
- 使用神經網絡進行物體檢測
- 創建推薦引擎以向訂閱者推薦電影
- 在Google Cloud Platform (GCP)上使用對稱和非對稱加密實現防範安全漏洞的安全性
本書適合誰
本書適合任何想要理解基本算法及其實現的人。無論您是希望深入了解算法背後數學的經驗豐富的程序員,還是對數據科學和編程知識有限並希望了解這一重要研究和應用領域的人,您都會發現本書對您有幫助。雖然必須具備Python編程經驗,但對數據科學的知識將是有幫助的,但不是必需的。
作者簡介
Imran Ahmad
Imran is a certified Google Instructor and has been teaching for Google and Learning Tree for the last many years. The topics Imran teaches include Python, Machine Learning, Algorithms, Big Data and Deep Learning. Imran is a part of cutting-edge research on Machine Learning and Algorithms for the last many years. In his PhD, he proposed a new linear programming based algorithm called ATSRA , which can be used to optimally assign resources in a cloud computing environment. For the last four years, Imran is working in a high-profile Machine Learning project at the Advanced Analytics Lab of Canadian Federal Government. The project is to develop machine learning algorithms that can automate the process of immigration. Imran is also a visiting professor at Carleton University. Imran has written many conference and journal papers and a couple of his Journal papers have recently won the best paper awards. Imran also regularly writes blogs on selected IT topics. He is currently working on developing algorithms to optimally use GPUs to train complex machine learning models.
作者簡介(中文翻譯)
伊姆蘭·艾哈邁德
伊姆蘭是一位認證的 Google 講師,過去多年來一直在 Google 和 Learning Tree 教學。伊姆蘭教授的主題包括 Python、機器學習、演算法、大數據和深度學習。多年來,伊姆蘭參與了機器學習和演算法的前沿研究。在他的博士論文中,他提出了一種基於線性規劃的新演算法,稱為 ATSRA,該演算法可用於在雲計算環境中最佳分配資源。在過去四年中,伊姆蘭在加拿大聯邦政府的高級分析實驗室從事一個高端的機器學習項目。該項目的目的是開發能夠自動化移民過程的機器學習演算法。伊姆蘭還是卡爾頓大學的客座教授。他撰寫了許多會議和期刊論文,其中幾篇期刊論文最近獲得了最佳論文獎。伊姆蘭還定期撰寫有關選定 IT 主題的博客。他目前正在開發演算法,以最佳利用 GPU 訓練複雜的機器學習模型。