快速排序(Quick Sort)演算法,瞬間就可以排好超大序列! 2019 年 4 月 4 日 Magic Len 研究分享、 Go、 Java、 Rust、 演算法、 JavaScript 快速排序(Quick Sort)演算法又稱為劃分交換排序(Partition-Exchange Sort)演算法,是實用性很高的排序演算法,它可以在O(nlogn)的時間複雜度完成排序,雖然是不穩定排序,但它的速度完全可以彌補這個缺點。 繼續閱讀
Bogo排序(Bogo Sort)演算法,慢到會想笑排序演算法 2019 年 4 月 1 日 Magic Len Go、 Java、 Rust、 演算法、 JavaScript Bogo排序(Bogo Sort)演算法又稱為猴子排序(Monkey Sort)演算法,顧名思義,是非常愚蠢的排序演算法,就像是請猴子幫忙排序一樣。 繼續閱讀
如何有效率地寫程式判斷質數和尋找質數? 2018 年 10 月 14 日 Magic Len 研究分享、 Go、 Java、 數學邏輯、 Rust、 JavaScript 一個質數(Prime)是一個大於1,且無法找到除了自己本身和1之外的自然數能整除它的自然數。舉例來說,2、3、5、7、11、13和17均為質數。質數是數學上的難題,即便數學已經過幾千年的發展,卻也還是無法找出一個能完美產生出質數的函數。在學習寫程式的過程中,儘管在現實社會中幾乎用不到,我們還是會常常遇到判斷質數或是尋找質數的問題。那麼,究竟要如何利用程式來處理判斷質數和尋找質數呢? 繼續閱讀
計數排序法(Counting Sort),只需線性時間就能完成的超快排序法 2017 年 10 月 21 日 Magic Len 研究分享、 Go、 Java、 Rust、 演算法、 JavaScript 計數排序(Counting Sort)演算法是不需進行比較的排序演算法,顧名思義,它會去數元素的數量來進行排序。這種排序法只需要線性時間和空間的複雜度就可以完成排序,比時間複雜度為O(nlogn)的演算法還快,而且作法也不會太難。雖然如此,計數排序法是並不算是常見的排序演算法,因為它只能用來排序已知數值範圍的序列(由於要直接對應序列的索引值,所以這組數值通常會是一組整數)。舉例來說,已知序列中的每... 繼續閱讀
URL Express 網址快遞─發送URL請求的好工具 2017 年 1 月 4 日 Magic Len 作品分享、 軟體介紹、 Java 在開發程式的時候時常會需要去連接別人的Web服務(API)來完成一些特定的功能,根據別人提供的API文件,來查詢API需傳入的資料格式和回傳的資料格式。Web API常會使用HTTP或是HTTPS協定,並利用協定的請求方法(如GET、POST、PUT、DELETE)來決定資料的傳送方式,如現在很夯的RESTful API。如果是HTTP或是HTTPS協定的Web API,GET的請求方法要測試還算... 繼續閱讀
Crypt Tool 文字和檔案加密工具 2016 年 12 月 31 日 Magic Len 作品分享、 軟體介紹、 Java 在傳遞資料的過程中,總是不想要讓人家一眼就看明白你所傳遞的文字訊息。隱藏文字訊息的方式有很多種,如果沒有解碼還原的需求,只需進行雜湊(Hash)運算即可。但若有還原的需求,則可能要使用到某些著名的加密演算法,例如String Hider、DES、AES等等。只要加密與解密的兩方協調好要使用的加密方式以及密碼,就可以完成訊息的加密傳輸。Crypt Tool提供了圖形介面,讓使用者可以使用DES(64... 繼續閱讀
文字轉換工具─Words Transformer FX 2016 年 12 月 2 日 Magic Len 作品分享、 軟體介紹、 Java Words Transformer FX是一款能進行文字查找及對應至不同文字的小工具。使用者可以非常容易地建立出自己的文字對應資料庫,方便進行一些文字方面的工作。例如在做語言翻譯的時候,就可以利用Words Transformer FX來確保同一個字(尤其是專有名詞)翻譯出來的結果都是一樣的。 繼續閱讀
一鍵批量調整圖片尺寸的智能小工具─Image Resizer Light 2016 年 12 月 1 日 Magic Len 作品分享、 軟體介紹、 Java Image Resizer Light,它是一款能夠一次調整多張圖片的尺寸的智能小工具。這聽起來稀鬆平常,到底哪裡稱得上是「智能」呢?Image Resizer Light在調整圖片尺寸時,並不需要完全地指定圖片的寬(Width)與高(Height)為多少,它只需要設定一條最大邊的長度,就能自動延展或是收縮圖片的寬和高,還能自動將圖片銳利化。 繼續閱讀
基於JavaFX的五子棋小遊戲-五子棋X 2016 年 12 月 1 日 Magic Len 作品分享、 軟體介紹、 Java 過去總喜歡在上課的時候跟同學用計算紙畫棋盤下五子棋,因此對於五子棋也有一些認識,就嘗試將它移植到程式上,並製作一個難度不弱的人工AI。其實早在四年前就已經有做過這個五子棋遊戲專案,只不過當時是使用Java Swing來完成,而且架構不易重複使用。於是在兩年前就將這個五子棋專案移植成JavaFX應用程式,電腦AI部份基本上是沿用之前寫的,只稍微整理程式碼並優化了運算的效能,其餘的部份有許多是先前沒有... 繼續閱讀
Oracle Certified Professional, Java SE 8 Programmer(OCPJP)國際原廠認證 2016 年 7 月 16 日 Magic Len Java 筆者自高中二年級之後就開始在學承電腦上Java課程,因為自己本身有在使用Linux,所以非常了解Java語言跨平台的好處,自從接觸Java程式語言之後就愛上了它,之後還陸續買了許多本Java的書籍。後來拿到了TQC+的Java程式設計專業人員認證,覺得應該要再來拿拿Oracle的原廠認證,好跟國際接軌,便報考了Java 8的Oracle Certified Associate和Oracle Cer... 繼續閱讀