iT邦幫忙

python 3相關文章
共有 81 則文章
鐵人賽 Software Development DAY 28

達標好文 技術 [演算法] 最短路徑 (Dijkstra 演算法)

今天來討論最短路徑的另一個演算法,Dijkstra Algorithm。主要內容是指定一個點 (源點) 到其餘各個頂點的最短路徑,也稱作「單源最短路徑」。我們用...

鐵人賽 Software Development DAY 27

技術 [演算法] 並查集 (Union-find Algorithm)

並查集又稱不相交集資料結構,其實是之前討論過的資料樹的延伸。剛開始的樹每一個都是獨立的,一棵樹只有一個節點。在透過尋找相同的根節點 (root),來將這些樹逐漸...

鐵人賽 Software Development DAY 26

技術 [演算法] 最短路徑 (Floyd-Warshall 演算法)

網路上有各式各樣的地圖出現,背後的運算就有很多的演算法、資料庫和參數來支持。還記得之前討論過有關圖的深度及廣度搜尋,就有提到過怎麼找最短的路徑,而這只是其中最基...

鐵人賽 Software Development DAY 25

技術 [演算法] K-means 分群 (K-means Clustering)

先說說什麼是分群?分群就是對所有數據進行分組,將相似的數據歸類為一起,每一筆數據的能有一個分組,每一組稱作為群集 (Cluster)。那分類根據什麼來定義,常用...

鐵人賽 Software Development DAY 23

技術 [資料結構] 圖的廣度優先走訪 (Breadth-first Search)

昨天有深度,今天有廣度,人生難過沒法度~ (好難笑...呵呵) 今天就用這張圖來開啟主題。這是一個無向圖,比較接近現實中的地圖。今天我們要從 1 號城市搭飛機到...

鐵人賽 Software Development DAY 22

技術 [資料結構] 圖的深度優先走訪 (Depth-first Search )

昨天介紹了各式各樣的圖,今天就來討論圖的搜尋。 之前有提過深度優先搜尋,是用程式碼遞迴的概念,一層一層的我裡面找出所有可能。但之前的資料是線性的,那如果是圖的話...

鐵人賽 Software Development DAY 20

技術 [演算法] 廣度優先搜尋 (Breadth-first Search)

廣度優先搜尋 (Breadth-first Search),也稱之為寬度優先搜尋。和深度優先搜尋不同的是,深度優先是透過函數的遞迴來延伸運算,而廣度優先則是透過...

鐵人賽 Software Development DAY 19

技術 [演算法] 費氏搜尋 (Fibonacci Search)

在討論費氏搜尋之前,要先了解一下費氏數列。 費氏數列 (Fibonacci numbers),又稱費波那契數列,是指在一串數字中,每一項是前兩項的和。數學上的定...

鐵人賽 Software Development DAY 18

技術 [演算法] 深度優先搜尋 (Depth-first Search)

還記得之前有討論過的列舉法嗎?今天我們來做個延伸。 之前的列舉法是將用 for 迴圈的方式,一層一層的舉出所有的可能,然後將所有舉出的可能和我們所設定的條件相比...

鐵人賽 Software Development DAY 17

技術 [演算法] 插補搜尋 (Interpolation Search)

插補搜尋 (Interpolation Search),其實用的就是數學裡內插法的概念來運算。在已排序的資料中,將資料視為線性的解,藉由在線上的移動來尋找我們需...

鐵人賽 Software Development DAY 16

技術 [演算法] 二分搜尋 (Binary Search)

還記得之前討論過的樹嗎?都會分成左子樹和右子樹,而二分搜尋也是遵循這樣的邏輯來運算的。 二分搜尋 (Binary Search) 是取 已排序資料的中間索引的值...

鐵人賽 Software Development DAY 15

技術 [演算法] 循序搜尋 (Sequential Search)

講了幾天的資料結構,先來講幾個有關搜尋的演算法,之後再繼續接回資料結構的其他部分。 循序搜尋 (Sequential Search),說白了就是在已排序的資料中...

鐵人賽 Software Development DAY 6

技術 [資料結構] 陣列 (Array) & 串列 (Linked List)

好啦,討論完幾個演算法後,還是得面對最重要的核心,資料結構。(頓時有種醜媳婦見公婆的概念 該來的還是要來~) 其實資料在程式語言中有很多種型態,像是 int (...

鐵人賽 Software Development DAY 5

技術 [演算法] 列舉法 (Enumeration)

經過前幾天的演算法,都需要小動腦和邏輯上的思考對吧?透過一些比較和分配的技巧,來做資料的排序。 今天,就來講講列舉法 (俗稱暴力破解法)。 列舉法 (Enume...

鐵人賽 Software Development DAY 4

技術 [演算法] 基數排序法 (Radix Sort)

今天來講一個「非比較性」的演算法,基數排序法 (Radix Sort)。其實之前的排序法也是屬於 非比較性 的演算法。怎麼說?以泡沫和快速為例,這兩個演算法都是...

鐵人賽 Software Development DAY 3

達標好文 技術 [演算法] 快速排序法 (Quick Sort)

有鑒於昨天學的泡沫排序法,效率篇低,就有某位聰明的科學家發明了快速排序法,其實也有用到一點二元分類的概念。 快速排序 (Quick Sort) 的想法是說,先找...

鐵人賽 Software Development DAY 2

技術 [演算法] 泡沫排序 (Bubble Sort)

拉蒙碎碎念 其實昨天的桶子演算法雖然直覺、簡單好懂,但也遺留了一些問題。舉例來說如果資料很大,就會很浪費空間,或者當資料有小數的時候,沒辦法產生相對應的桶子。因...

鐵人賽 Software Development DAY 1

達標好文 技術 [演算法] 桶子排序法 (Bucket Sort)

拉蒙碎碎念 還記得以前剛學程式設計的時候,老師都會從幾個較簡單的演算法教起,讓學生比較好學也快上手。其實演算法就是在學邏輯,語法啊、技巧啊,我個人倒覺得是其次。...

技術 [演算法][Python]演算法挑戰系列(8)-Jump Game

欸嘿嘿!哈囉!大家好!沒錯就是Python,不要懷疑自己的眼睛XD,因為小弟我最近在練習用Python玩爬蟲,所以可以看到發問了一些很菜的問題,也因為才剛學不久...

技術 [筆記系列]Python入門中的入門

#練習一 hello world print("hello world1") text = "HELLO WORLD"...

鐵人賽 自我挑戰組 DAY 8

技術 [2018 iThome 鐵人賽] Day 8: 用 Python 抓出我在前公司貢獻了多少 GitHub commits

本文利用工人智慧技術同步發表於我的部落格 前言 主要是因為上一篇文章撰寫了離職心得,在寫的過程中想到,好像可以用 GitHub API 抓一下我在前公...