基礎電腦科學:排序(sorting)演算法入門上

前言排序(sorting)和搜尋(search)是演算法(algorithm)中最常見的入門知識。雖然我們在一般程式開發的場合中較少會需要自己實作排序和搜尋演算法,但排序(sort)和搜尋(search)的觀念也常出現在其他的演算法當中,應用層面很廣。本系列文章將使用 Python 來實作幾個經典演算法。首先我們先來介紹:選擇排序、插入排序和氣泡排序法。 選擇排序法選擇排序法是一種十分直觀的排序演算法(就是選擇最小的值和第一個初始值互

Read More...

基礎電腦科學:演算法概要

前言隨著資訊科技發展,演算法已經無所不在存在我們的生活當中。舉凡上網 google 搜尋資料、下載檔案的壓縮方法、檔案的加密傳輸等,都可以看到演算法運作的蹤跡。一般來說資料結構和演算法是程式設計最基本的內涵,所以有人說:程式設計 = 資料結構 + 演算法。那究竟什麼是演算法/算法呢? 咱們維基百科給了個非常需要慧根才能理解的解釋: 演算法(algorithm),在數學(算學)和電腦科學之中,為任何良定義的具體計算步驟的一個

Read More...

如何在 Windows 打造 Python 開發環境設定基礎入門教學

前言如何設定開發環境應該是每個初學程式設計者的痛(即便是老手有時也會覺得苦惱),尤其當你需要在終端機(terminal)輸入指令(command)來操控你的指令時(好吧,若你完全只走圖形化介面,習慣 GUI 操作就另當別論,但若你有志於往程式設計領域發展,建議還是熟悉一下指令碼)。 要在 Linux、Mac OS 這種屬於類 Unix 系統(指各種 Unix 的衍生系統,而 Unix 指的是一種電腦作業系統,具有多工、多使用者的特色,是

Read More...

Go Web 程式設計入門教學:語法基礎之流程控制(flow control)篇

前言之前我們曾介紹了如何建置 Go 變數和資料型別的使用,接下來的單元我們將透過 Golang Web 程式設計來學習 Go 這個程式語言。而在這個單元中我們將介紹 Go 的流程控制的使用。程式語言唯有動手作才能學的好,你可以參考之前的文章建置開發環境或是使用線上開發環境進行學習。 流程控制簡介一般而言,程式語言是由上往下執行,若我們需要程式依照我們設計的邏輯方向執行就需要流程控制的協助。在這邊主要談的流程控制有三部分:條件判斷、迴圈

Read More...

Go Web 程式設計入門教學:基礎介紹與環境建置

前言Go 程式語言 是 Google 推出的靜態程式語言,其特色在於核心語法和關鍵字非常精簡(全部只有 25 個關鍵字!)並擷取了靜態語言的效能和動態語言的開發效率的優點,具備垃圾回收、快速編譯等特性,且針對平行化程式設計在使用上非常方便。接下來的文章我們將透過 Golang Web 程式設計來學習 Go 這個程式語言。程式語言唯有動手作才能學的好,你可以參考本篇文章建置開發環境或是使用線上開發環境進行學習。 Go 環境建置安裝方式:

Read More...