寫程式的基本功:搜尋演算法(Search Algorithm) 2019 年 5 月 22 日 Magic Len 研究分享、 演算法 這裡所稱的搜尋(Search),是指在一個已排序好或是尚未排序好的集合中,將指定元素的鍵值(key)或是索引值(index)搜尋出來,或者是給定某個條件,在集合中搜索出符合該條件的資料。在集合內搜尋元素的方法當然不會只有一種,而不同方法搜尋資料的難易度、速度和其它特性自然也會有所不同。搜尋演算法(Search Algorithm)就是搜尋資料的方法,目前已知的方法有很多,在這篇文章中將會整理本站所... 繼續閱讀
暴力字串搜尋(Brute-force Substring Search)演算法,簡單粗暴地在一個字串中尋找子字串 2019 年 5 月 20 日 Magic Len 研究分享、 Go、 Java、 Rust、 演算法、 JavaScript 暴力字串搜尋(Brute-force Substring Search)演算法是最基本的字串搜尋演算法。它可以按照原文中字元的順序,逐一與搜尋樣本(pattern)進行比對,判斷目前的搜尋位置是否就是搜尋樣本存在的位置。 繼續閱讀
如何使用Node.js快速搜尋字串? 2017 年 8 月 8 日 Magic Len Rust、 JavaScript 字串搜尋是開發程式的時候時常會碰到的議題,由於常用,所以了解一個有效率進行字串搜尋的方式是很重要的。Node.js使用的Chrome V8 JavaScript引擎對於字串處理的效能已經十分良好,在很多情況下只要很直覺地使用原生的JavaScript或Node.js的功能就可以達成最佳效果了。像是字串搜尋,JavaScript的字串本身就有「indexOf」方法可以使用,也有功能強大的「RegEx... 繼續閱讀
Boyer-Moore-MagicLen(BM-MagicLen)字串搜尋演算法,超快速的全文搜尋演算法 2016 年 4 月 9 日 Magic Len 研究分享、 Go、 Java、 Rust、 演算法、 JavaScript 在一篇很長的文章或是一大串文字中找出自己想看到的段落是我們時常會需要做的事情,但是要如何有效率地讓電腦尋找文字中的文字是一件需要思考的事情,甚至有許多針對這個議題所提出的研究論文。字串搜尋演算法的好壞,在複雜的文件內容下,對搜尋時間的影響是非常深遠的。字串搜尋除了能夠正確搜尋一段文字內的特定字串外,還可以用來搜尋龐大的任意資料,因為任何的資料都可以藉由數位編碼轉成只有數字的字串,如一段原始的聲音,... 繼續閱讀