原创 Java數據壓縮算法——哈夫曼樹

——在這個特殊的日子裏,向烈士們致敬!!! 目錄 一、簡介 二、實現思路         2.1 路徑         2.2 節點的權及帶權路徑長度         2.3 樹的帶權路徑長度         2.4 霍夫曼樹的定義  

原创 Java數據結構——樹——紅黑樹

目錄 一、簡介 二、實現思路 2.1 插入節點 插入總結:通過對以上源碼的解讀,我們可以得出: 2.2 刪除節點 刪除總結:通過對上面源碼的解讀,我們可以得出: 三、代碼仿現    注:在開始閱讀此文章之前,是默認讀者掌握了節點的旋轉規則

原创 Java節點遍歷算法——圖——深度優先算法(遞歸實現)

一.簡介   深度優先搜索算法(Depth-First-Search),是搜索算法的一種。是沿着樹的深度遍歷樹的節點,儘可能深的搜索樹的分支。當節點v的所有邊都己被探尋過,搜索將回溯到發現節點v的那條邊的起始節點。這一過程一直進行到已發現

原创 Java節點遍歷算法——圖——廣度優先算法

1.簡介     廣度優先算法(Breadth-First Search),同廣度優先搜索,又稱作寬度優先搜索,或橫向優先搜索,簡稱BFS,是一種圖形搜索演算法。簡單的說,BFS是從根節點開始,沿着樹的寬度遍歷樹的節點,如果發現目標,則演

原创 二分查找遞歸算法——java

引言:筆者發現這段時間訪問量最多的文章是二分查找法,由此可見其重要性 恰巧最近對遞歸算法比較感興趣,所以就寫了這篇文章,希望能到幫助大家更加深刻的理解到二分查找算法和遞歸算法的美妙之處 /** * 遞歸二分查找法 * *

原创 Java節點遍歷算法——圖——狄克斯特拉算法(權重算法)

一、簡介   迪傑斯特拉算法是由荷蘭計算機科學家狄克斯特拉於1959 年提出的,因此又叫狄克斯特拉算法。是從一個頂點到其餘各頂點的最短路徑算法,解決的是有權圖中最短路徑問題。狄克斯特拉算法主要特點是以起始點爲中心向外層層擴展,直到擴展到終

原创 歐幾里得遞歸算法——java

比如:求4524和321的最大公約數         4524 = 14 * 321 + 30          321 = 10 * 30 + 21            30 = 1 * 21 + 9            21 =

原创 Java遞歸算法——猴子喫桃

偶然看到一個算法問題——猴子喫桃     發現網上很多相關文章或多或少都有一定的問題,爲了避免誤人子弟,筆者利用閒暇時間寫了此篇文章 題目如下: .   猴子第一天摘下若干個桃子,當即吃了一半,還不過癮,又多吃了一個.第二天早上又將剩下的

原创 java排序算法——冒泡排序

 你想對數據進行排序,有許多算法可以實現排序   在這裏,我給大家介紹排序算法之一的冒泡算法                                                實現思路:       比較相鄰的兩個元素,如果第

原创 Java數據結構——樹——AVL樹

目錄 一、簡介 1.1 AVL樹(自平衡二叉樹)又和搜索(排序)樹相比,有什麼區別呢? 1.2 爲什麼我們需要樹這種數據結構 1.3 爲什麼有了搜索樹還要二叉平衡樹 二、AVL樹節點的自平衡處理 三、刪除節點 四、代碼實現 五、二叉樹的各

原创 Java爬蟲——爬取網易雲歌單音樂添加到QQ音樂

  此博客僅爲學習交流,如觸及第三方利益,請及時聯繫本人刪除 一、前言     看標題大家可能會有點疑惑,爲什麼要寫這個看起來沒什麼作用的爬蟲,兩個音樂軟件換着用不香嗎?     基於此問題,我以我個人感受羅列了網易和QQ音樂以下幾個優缺

原创 Java算法——打印楊輝三角(遞歸—非遞歸)

一、前言     前段時間有學弟問我一些關於二維數組和for循環的題,在幫他解決問題的過程中,我發現了我很久之前對於相關知識的一些盲點部分,趁此機會,彌補一下自身的不足——那時候覺得楊輝三角很複雜,所以也就沒繼續堅持下去。    這篇博客

原创 kafka

目錄 一、介紹 二、kafka環境搭建(win) 三、測試Demo   以下內容只是簡單介紹和入門的Demo,如果有比較想深入理解kafka的同學可以看官網;像英語水平和我差不多的同學可以看這裏 一、介紹 Kafka是由Apache軟件基

原创 Java節點遍歷算法——狄克斯特拉算法(權重算法)

一、簡介   迪傑斯特拉算法是由荷蘭計算機科學家狄克斯特拉於1959 年提出的,因此又叫狄克斯特拉算法。是從一個頂點到其餘各頂點的最短路徑算法,解決的是有權圖中最短路徑問題。狄克斯特拉算法主要特點是以起始點爲中心向外層層擴展,直到擴展到終

原创 Java遞歸算法——漢諾塔

簡介:    相傳在古印度聖廟中,有一種被稱爲漢諾塔(Hanoi)的遊戲。該遊戲是在一塊銅板裝置上,有三根杆(編號A、B、C),在A杆自下而上、由大到小按順序放置64個金盤(如下圖)。遊戲的目標:把A杆上的金盤全部移到C杆上,並仍保持原有