- Taipei, Taiwan
-
部落格 | 一年達成之小插曲
部落格成立於 2019-03-12 至 2020-03-12 已經滿了一年的時間之久,在這期間每天要求著持續精進自己,從熟習的技術框架開始,一直到其他程式語言的學習,再到基礎的網路、電腦知識,然後到目前的技術觀念及演算法…。 這個過程讓我審視自己,了解自己的不足,針對其不足進行分析了解,並尋找...
-
排序演算法 | 希爾排序
希爾排序(Shellsort),也稱遞減增量排序演算法,是插入排序的一種更高效的改進版本。希爾排序是非穩定排序演算法。 希爾排序是基於插入排序的以下兩點性質而提出改進方法的: 插入排序在對幾乎已經排好序的資料操作時,效率高,即可以達到線性排序的效率。 但插入排序一般來說是低效的,因...
-
排序演算法 | 插入排序
插入排序(英語:Insertion Sort)是一種簡單直觀的排序演算法。它的工作原理是通過構建有序序列,對於未排序資料,在已排序序列中從後向前掃描,找到相應位置並插入。插入排序在實現上,通常採用in-place排序(即只需用到O(1)的額外空間的排序),因而在從後向前掃描過程中,需要反覆把已排序...
-
排序演算法 | 選擇排序
選擇排序(Selection sort)是一種簡單直觀的排序演算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然後,再從剩餘未排序元素中繼續尋找最小(大)元素,然後放到已排序序列的末尾。以此類推,直到所有元素均排序完畢。 選擇排序的主要優點與資料移動有關...
-
排序演算法 | 泡沫排序
泡沫排序(英語:Bubble Sort)又稱為泡式排序,是一種簡單的排序演算法。它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。 這個演算法的名字由來是因為越小的元素會經由交換慢慢「浮」到數...
-
排序演算法 | 簡介
在計算機科學與數學中,一個排序演算法(英語:Sorting algorithm)是一種能將一串資料依照特定排序方式進行排列的一種演算法。最常用到的排序方式是數值順序以及字典順序。有效的排序演算法在一些演算法(例如搜尋演算法與合併演算法)中是重要的,如此這些演算法才能得到正確解答。排序演算法也用在處...
-
技術觀念 | 淺談分散式系統 - 微服務
微服務 (Microservices) 是一種軟體架構風格,它是以專注於單一責任與功能的小型功能區塊 (Small Building Blocks) 為基礎,利用模組化的方式組合出複雜的大型應用程式,各功能區塊使用與語言無關 (Language-Independent/Language agnos...
-
技術觀念 | 淺談分散式系統 - 深入理解 REST
REST 是 Web Service 的一種實踐方式,是一種 Web Service 架構風格。它與SOAP 不同,儘管SOAP 也常被用於構建Web Service,但SOAP 本身與傳輸協議無關,可以是HTTP(web service),也可以是SMTP,TCP 甚至FTP,這種獨立性必然會帶...
-
技術觀念 | 淺談分散式系統 - Web 與 Web Service
關於 web 開發,需要理解這麼幾個概念,以及它們之間的關係: Web HTTP Web Server Web Client Web Application Server Web Service Web 是什麼? Web就是全球資訊網,亦作WWW、Web,...
-
技術觀念 | 淺談分散式系統 - 服務的本質與 SOA
通信很重要,但是在網際網路發展的早期階段,網路資源稀缺, 高延遲 、 低帶寬 、 易丟包 、 不穩定 ⋯等等,為了實現高效、可靠的訊息傳輸,IPC/RPC 技術應運而生。然而隨著網際網路技術的發展,Web 技術也日趨成熟,RPC 開始顯得有點過於技術化了,慢慢的人們將關注點從技術轉移到業務——服務...