每個程式設計師都應該要知道的50個演算法

每個程式設計師都應該要知道的50個演算法

40 Algorithms Every Programmer Should Know: Hone Your Problem-Solving Skills by Learning Different Algorithms and Their Implementation in Python

出版日期:
2022/07/19
9
690621
查詢門市庫存
本書特色
☛學習現存於Python程式庫中的資料結構及演算法
☛了解如何實作圖形演算法,並藉由網路分析進行詐欺偵測
☛學會使用機器學習演算法,即時進行相似推文的分群並處理Twitter資料
☛學會使用監督式學習演算法預測天氣

內容簡介

本書特色
☛學習現存於Python程式庫中的資料結構及演算法
☛了解如何實作圖形演算法,並藉由網路分析進行詐欺偵測
☛學會使用機器學習演算法,即時進行相似推文的分群並處理Twitter資料
☛學會使用監督式學習演算法預測天氣
☛學會使用Siamese Neural Networks執行單張影像的辨識
☛建立一個推薦引擎,向訂閱者建議相關的電影
☛部署機器學習模型時,使用對稱及非對稱加密,實作萬無一失的安全機制

不管是在計算的科學與實務上,演算法總是扮演重要的角色。除了傳統的計算之外,對任何一個開發者或程式設計師而言,使用演算法解決實務問題的能力是非常重要且必須具備的技巧。本書不只會幫助你發展選用的技術以及使用演算法以解決實務問題,同時也能理解這些演算法是如何運作的。

本書從演算法的介紹開始,並說明各種演算法的設計技巧,再佐以實際範例來協助探討如何實作不同類型的演算法,諸如搜尋與排序。當你要進階更複雜的演算法集合時,你將會學到線性規劃、頁面排名以及各種圖(graph),甚至跨入AI領域學習如何使用機器學習演算法,並瞭解它們背後的數學與邏輯。隨後將更進一步探討一些案例研究,像是天氣預測、推文分群以及電影推薦引擎等等,瞭解如何應用這些演算法以達到最佳化。最終,你將精通平行處理技術的運用,讓你有能力可以使用這些演算法在計算密集的任務上。

讀完本書,你將精通各式各樣的演算法來解決職場上的電腦運算問題。

本書範例檔:
https://github.com/packtpublishing/40-algorithms-every-programmer-should-know
展開看更多

產品目錄

Section 1:基礎與核心演算法

Chapter 1_ 演算法概述
什麼是演算法?
精準描述演算法的邏輯
Python套件介紹
演算法的設計技巧
效能分析
演算法的驗證
本章摘要

Chapter 2_演算法裡的資料結構
Python的資料結構
探索抽象資料型態
本章摘要

Chapter 3_排序與搜尋演算法
排序演算法的介紹
搜尋演算法的介紹
實際應用
本章摘要

Chapter 4_設計演算法
設計演算法的基本概念介紹
瞭解演算法策略
實際的應用:解決TSP
介紹PageRank演算法
瞭解線性規劃(Linear programming)
實際的應用—使用線性規劃進行產能規劃
本章摘要

Chapter 5_圖演算法
圖的表示
網路分析理論介紹
瞭解圖的遍歷
案例研究:詐欺分析
本章摘要

Section 2:機器學習演算法

Chapter 6_非監督式機器學習演算法
認識非監督式學習
瞭解分群演算法
降維
關聯規則探勘
實際應用:分群相似的推文
Anomaly-detection異常偵測演算法
本章摘要

Chapter 7_傳統監督式學習演算法
瞭解監督式機器學習
瞭解分類演算法
瞭解迴歸演算法
實用範例:如何預測天氣
本章摘要

Chapter 8_類神經網路演算法
瞭解ANN
ANN的演進
訓練類神經網路
工具和框架
遷移學習(Transfer learning)
案例研究:使用深度學習進行詐欺偵測
本章摘要

Chapter 9_自然語言處理演算法
介紹NLP
BoW-based NLP
字詞嵌入簡介
在NLP中使用RNN
使用NLP進行情緒分析
案例研究:電影評論的情感分析
本章摘要

Chapter 10_推薦引擎
推薦系統介紹
推薦引擎的類型
瞭解推薦系統的限制
實際應用領域
實際的例子:建立一個推薦引擎
本章摘要

Section 3:進階主題

Chapter 11_資料演算法
資料演算法簡介
資料儲存演算法介紹
串流資料演算法介紹
介紹資料壓縮演算法
一個實際的例子:Twitter即時情感分析
本章摘要

Chapter 12_密碼學
密碼學簡介
瞭解加密技術的類型
範例:在部署機器學習模型時的安全考量
本章摘要

Chapter 13_大規模演算法
大規模演算法簡介
平行演算法的設計
多資源程序的策略
本章摘要

Chapter 14_實務上的考量
實務上的考量簡介
演算法的可解釋性
瞭解倫理和演算法之間的關係
在模型中減少偏差
解決NP-hard問題
使用演算法的時機
本章摘要

作者介紹

Imran Ahmad

Imran Ahmad

Imran Ahmad是Google的合格講師,他在Google和Learning Tree有許多年的教學經驗。Imran教授的主題包括Python、機器學習、演算法、大數據以及深度學習。在他的博士學位中,他提出了一個基於線性規劃的演算法,稱之為ATSRA,此演算法應用在雲端環境的最佳化資源指派上。過去四年裡,Imran在加拿大聯邦政府先進分析實驗室進行高規格機器學習專案工作,此專案主要是為了開發機器學習演算法,讓移民程序可以自動化。Imran目前的工作是在開發使用GPU最佳化的演算法,以訓練複雜的機器學習模型。

規格

誠品貨碼 / 2682200695002
ISBN13 / 9786263331778
ISBN10 / 6263331771
EAN貨碼 / 9786263331778
頁數 / 384
裝訂 / P:平裝
語言 / 1:中文/繁體
尺寸 / 23X17X2CM
級別 / N:無

退貨說明

退貨須知:

  1. 依照消費者保護法的規定,您享有商品貨到次日起七天猶豫期(含例假日)的權益(請注意!猶豫期非試用期),辦理退貨之商品必須是全新狀態(不得有刮傷、破損、受潮)且需完整(包含全部商品、配件、原廠內外包裝、贈品及所有附隨文件或資料的完整性等)。
  2. 請您以送貨廠商使用之包裝紙箱將退貨商品包裝妥當,若原紙箱已遺失,請另使用其他紙箱包覆於商品原廠包裝之外,切勿直接於原廠包裝上黏貼紙張或書寫文字。若原廠包裝損毀將可能被認定為已逾越檢查商品之必要程度,本公司得依毀損程度扣除回復原狀必要費用(整新費)後退費;請您先確認商品正確、外觀可接受,再行拆封,以免影響您的權利;若為產品瑕疵,本公司接受退貨。

依「通訊交易解除權合理例外情事適用準則」,下列商品不適用七日猶豫期,除產品本身有瑕疵外,不接受退貨:

  1. 易於腐敗、保存期限較短或解約時即將逾期。(如:生鮮蔬果、乳製品、冷凍冷藏食材、蛋糕)
  2. 依消費者要求所為之客製化給付。(如:客製印章、鋼筆刻字)
  3. 報紙、期刊或雜誌。
  4. 經消費者拆封之影音商品或電腦軟體。
  5. 非以有形媒介提供之數位內容或一經提供即為完成之線上服務,經消費者事先同意始提供。(如:電子書)
  6. 已拆封之個人衛生用品。(如:內衣褲、襪類、褲襪、刮鬍刀、除毛刀等貼身用品)
  7. 國際航空客運服務。

若您退貨時有下列情形,可能被認定已逾越檢查商品之必要程度而須負擔為回復原狀必要費用(整新費),或影響您的退貨權利,請您在拆封前決定是否要退貨:

  1. 以數位或電磁紀錄形式儲存或著作權相關之商品(包含但不限於CD、VCD、DVD、電腦軟體等) 包裝已拆封者(除運送用之包裝以外)。
  2. 耗材(包含但不限於墨水匣、碳粉匣、紙張、筆類墨水、清潔劑補充包等)之商品包裝已拆封者(除運送用之包裝以外)。
  3. 衣飾鞋類/寢具/織品(包含但不限於衣褲、鞋子、襪子、泳裝、床單、被套、填充玩具)或之商品缺件(含購買商品、附件、內外包裝、贈品等)或經剪標或下水或商品有不可回復之髒污或磨損痕跡。
  4. 食品、美容/保養用品、內衣褲等消耗性或個人衛生用品、商品銷售頁面上特別載明之商品已拆封者(除運送用之包裝外一切包裝、包括但不限於瓶蓋、封口、封膜等接觸商品內容之包裝部分)或已非全新狀態(外觀有刮傷、破損、受潮等)與包裝不完整(缺少商品、附件、原廠外盒、保護袋、配件紙箱、保麗龍、隨貨文件、贈品等)。
  5. 家電、3C、畫作、電子閱讀器等商品,除商品本身有瑕疵外,退回之商品已拆封(除運送用之包裝外一切包裝、包括但不限於封膜等接觸商品內容之包裝部分、移除封條、拆除吊牌、拆除貼膠或標籤等情形)或已非全新狀態(外觀有刮傷、破損、受潮等)與包裝不完整(缺少商品、附件、原廠外盒、保護袋、配件紙箱、保麗龍、隨貨文件、贈品等)。
  6. 退貨程序請參閱【客服專區→常見問題→誠品線上退貨退款】之說明。
付款/配送