原创 通過Git安裝和配置自己的GitHub倉庫

目錄安裝WindowsMacOSUbuntu配置你的GitHub賬號 安裝 Windows 直接在百度搜索git,到官網下載git.exe安裝包,然後像其他軟件一樣案安裝即可 MacOS 打開終端,輸入git,如果你之前已經安裝了

原创 如何實現高效地字符串匹配:KMP算法

KMP算法是一種判斷字符串中是否含有特定子串的優化算法,效率比暴力搜索高出許多,是一個值得學習的算法。 其中,最關鍵的一步就是根據子串部分匹配表來加快搜索速度。 KMP算法步驟 舉例來說,有一個字符串 Str1 = “BBC AB

原创 Lucene源碼(一):分詞器的底層原理

文章目錄官方DemoQueryTermStandardAnalyzer源碼分析QueryBuilder.createFieldQueryStandardTokenizerStandardTokenizerImpl 官方Demo 我

原创 Lucene源碼(三):全文檢索的底層原理

文章目錄IndexSearchersearchAfterCollectorManagersearchcreateNormalizedWeightcreateWeightTermQuerycreateWeightTermWeight

原创 spark sql和jdbc將數據寫入mysql的對比

目錄jdbcspark sql引用的庫類效率對比連接mysql錯誤 jdbc public static void jdbc() { // test爲數據庫名,spark爲表名 final String url = "jd

原创 圖的存儲、深度優先遍歷和廣度優先遍歷

目錄圖的存儲深度優先遍歷廣度優先遍歷疑問 圖是一種數據結構,其中結點可以具有零個或多個相鄰元素。兩個結點之間的連接稱爲邊。 結點也可以稱爲頂點。如圖: 圖的存儲 在考慮代碼實現中,我們可以通過一個列表來存儲所有的結點,數組來存儲

原创 spark讀取HBase數據的一次坑爹經歷

首先,在這裏說明一下,我遇到的錯誤如下: org.apache.hadoop.hbase.DoNotRetryIOException: /192.168.x.x:16020 is unable to read call param

原创 二分查找算法原理和實現

​ 二分查找是一種比較高效的搜索算法,是一種可以在有序數組中搜索到特定元素的算法。 例如,我們要在數組{1,4,6,10,20}中搜索4 首先與數組的中間位置的數值即6進行比較,4比6小,所以,要往左邊繼續搜索,左邊的數組即

原创 貪心算法之集合覆蓋問題

貪心算法介紹 貪婪算法(貪心算法)是指在對問題進行求解時,在每一步選擇中都採取最好或者最優(即最有利)的選擇,從而希望能夠導致結果是最好或者最優的算法 貪婪算法所得到的結果不一定是最優的結果(有時候會是最優解),但是都是相對近似

原创 二叉樹的不同形式:順序存儲二叉樹 & 線索化二叉樹

順序存儲二叉樹 從數據存儲來看,數組存儲方式和樹的存儲方式可以相互轉換,即數組可以轉換成樹,樹也可以轉換成數組,看右面的示意圖。 順序存儲二叉樹的特點: 順序二叉樹通常只考慮完全二叉樹 第n個元素的左子節點爲 2 * n +

原创 數據結構:隊列的java實現以及優化

隊列 隊列是一種先進先出,後進後出的數據結構。 如果用數組的基本數據結構實現的話,普通的隊列只能入列的元素數量爲數組的大小,不管是否已經出列。 /** * 隊列:先入先出,後入後出 * 最多隻能入列maxSize個元素,不管是

原创 使用遞歸實現漢諾塔來理解分治算法

分治算法 分治法是一種很重要的算法。字面上的解釋是“分而治之”,就是把一個複雜的問題分成兩個或更多的相同或相似的子問題,再把子問題分成更小的子問題……直到最後子問題可以簡單的直接求解,原問題的解即子問題的解的合併。 分治算法一般分

原创 Windows安裝mysql8教程

目錄下載安裝初設化和啓動注意事項mysql服務啓動失敗卸載mysql遠程登錄失敗 下載 首先,去MySQL官網下載免費的社區版 安裝 將下載後的zip文件進行解壓,放在沒有中文和空格的目錄下; 在你的mysql根目錄下,新建m

原创 回溯算法之馬踏棋盤(騎士周遊)

馬踏棋盤 馬踏棋盤(騎士周遊)是4399的一個小遊戲,遊戲規則很簡單: 玩過象棋嗎?這款和國內外的象棋都不一樣,裏面只有一隻馬在跳,但是跳過的格子都會出現數字來圍困你,所以記得不要被這些數字圍住,否則遊戲就結束了。來挑戰一下新玩法

原创 通過揹包問題來學習動態規劃的思想

目錄動態規劃介紹揹包問題解決思路總結規律代碼實現 動態規劃介紹 動態規劃(Dynamic Programming)算法的核心思想是:將大問題劃分爲小問題進行解決,從而一步步獲取最優解的處理算法 動態規劃算法與分治算法類似,其基本