原创 排序算法系列:Shell 排序算法

概述 希爾排序(Shell Sort)是 D.L.Shell 於 1959 年提出來的一種排序算法,在這之前排序算法的時間複雜度基本都是 O(n2n^{2}n2) 的,希爾排序算法是突破這個時間複雜度的第一批算法之一。希爾排序是一

原创 全排列算法的全面解析

概述 對數組進行全排列是一個比較常見問題,如果是一個比較喜歡考算法的公司(貌似一些大公司都比較喜歡考算法),那麼估計就會考察應聘者這個全排列的問題了(就算不讓你編寫完整代碼,也會讓你描述大致的思路)。這個問題也難也難,說易也易,下

原创 FFmpeg常用命令合集

0.概述 最近工作中涉及到一些視頻處理的技術,比如獲取視頻時長、獲取視頻關鍵幀、視頻剪輯等。這裏作一個彙總,後面會持續更新。 1.常用命令 1.0.查看視頻信息 通過ffmpeg -i input.mp4可以獲取input.mp

原创 深入理解Aho-Corasick自動機算法

0.前言  我總是對那些具有狀態轉移過程的算法,心懷敬意。  例如:遞歸、遞推、動規、DAT 以及現在要說的 AC 自動機算法。  數學真是優美!                                         —— 致那

原创 MapReduce 應用:TF-IDF 分佈式實現

概述 本文要說的 TF-IDF 分佈式實現,運用了很多之前 MapReduce 的核心知識點。算是 MapReduce 的一個小應用吧。 版權說明 著作權歸作者所有。 商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。 本文作者:Q

原创 決策樹之 ID3 算法

概述 ID3 算法是構建決策樹算法中一種非常重要的算法,可以說它是學習決策樹算法的基礎吧。比如,下一篇博客要說的 C4.5 決策樹,就是基於 ID3 上的一個改進算法。還有 CART、隨機森林算法,都是後面要講解的。 版權說明 著作權歸

原创 SymmetricDS 完全配置安裝手冊

概述 SymmetricDS 是一個基於 Java 的數據庫同步框架。本文並不打算帶你熟悉 SymmetricDS 的實現原理,只是從安裝與配置入手,讓你感受一下 SymmetricDS 運行效果。如果你的系統中是乾淨(空白)的,那麼你需

原创 排序算法系列:選擇排序算法

概述 這是一個相對簡單的排序算法。爲什麼這麼說呢?因爲不需要什麼思考,你就可以掌握並使用它。 版權說明 著作權歸作者所有。 商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。 本文作者:Q-WHai 發表日期: 2016年5月24

原创 Java 設計模式——組合模式

概述 有時我們可能會被要求處理一個層級結構明顯的對象,比如上下級的公司員工、比如層級嵌套的文件夾,還有豐富多彩的美食菜單。可是,我們可能要屢試不爽地編寫深度搜索代碼、要小心翼翼地編寫遞歸邏輯。現在你可以忘掉這些,學習一些新的技能,讓你秒刷

原创 排序算法系列:基數排序

引言 今天要說的這個排序算法很特殊,它不需要直接對元素進行相互比較,也不需要將元素相互交換,你需要做的就是對元素進行“分類”。這也是基數排序的魅力所在,基數排序可以理解成是建立在“計數排序”的基礎之上的一種排序算法。在實際項目中,如果對效

原创 從 WordCount 到文檔的倒排索引詳解

概述 倒排索引源於實際應用中需要根據屬性的值來查找記錄。這種索引表中的每一項都包括一個屬性值和具有該屬性值的各記錄的地址。由於不是由記錄來確定屬性值,而是由屬性值來確定記錄的位置,因而稱爲倒排索引(inverted index)。帶有倒

原创 MapReduce進階:多路徑輸入輸出

前言 當我們得意於 MapReduce 從一個數據輸入目錄,把數據經過程序處理之後輸出到另一個目錄時。可能你正在錯過一些更好的方案,因爲 MapReduce 是支持多路徑的輸入與輸出的。比如,你一個項目中的多個 Job 產生了多個輸出路徑

原创 HBase Shell 的基本操作

概述 前面寫了一些 Hadoop, Zookeeper 及 Hbase 分佈式環境搭建的文章。或許你在搭建的過程中遇到了一些不如意的事情,但我相信總是可以解決的。如果你已經完成了環境的搭建,那麼就可以盡情玩耍了。 本文就先來玩玩 HBa

原创 MapReduce進階:多MapReduce的鏈式模式

前言 我們不可能一直沉浸在 WordCount 的成功運行當中,就像之前學習 Java 或是其他編程語言不會着迷於 HelloWord 一樣。 前面的 WordCount 程序只有一個 Mapper 和一個 Reducer 參與,也就是

原创 決策樹之 C4.5 算法

前言 由於 C4.5 算法是建立在 ID3 算法基礎之上的,所以在講解 C4.5 的時候,會有很多與 ID3 重合的內容,這裏就不過多冗餘地說明了。本文旨在闡明 ID3 存在的問題,以及 C4.5 的改進方案。如果你對於 ID3 中的相關