原创 算法學習之快速排序

快速排序是一種優雅的排序算法。使用分而治之的策略,divide and conquer (D&C)一種著名的遞歸式問題解決方法。是對冒泡排序的改進型。 舉例說明一切: 採用分而治之的策略:需要一個分界值pivot, arr = {4,2,

原创 Hadoop生態圈之基礎組成部分HDFS文件系統

       谷歌關於大數據的篇文章之一就是Google File System,專門存儲超大數據文件;同時,HDFS分佈式文件系統,爲整個生態圈提供最基礎的文件存儲服務。理論依據GFS與HDFS相同,Hadoop整個生態圈都是開源的。

原创 Hadoop生態圈之HDFS文件數據讀寫

問一問自己,Hadoop是如何實現HDFS文件存儲系統的呢? 特點: 1)大數據文件分割存儲    磁盤默認的數據塊大小,是對磁盤數據讀寫時要求的最小單位,通常磁盤的塊是512字節。文件系統構建於磁盤上,所以需要設計成磁盤塊整數倍。HDF

原创 算法學習之K鄰近算法((k-Nearest Neighbor,KNN))

真實項目中需要解決的問題: 算出客戶下單地點,最近的三個自助咖啡機。利用客戶收件地址的經緯度,算出最近的三個點。解決這個問題,就需要KNN(K鄰近算法)。分析這個只是簡單的鄰近求值算法步驟; 1、計算測試數據與各個訓練數據之間的距離; 2

原创 算法學習之Markov Model(馬爾可夫模型)

Markov Model(馬爾可夫模型) 在概率論中,馬爾可夫模型是一種用於對隨機變化的系統建模的隨機模型。 一種假定猜想:假設未來的狀態只依賴於當前狀態,而不依賴於之前發生的事件(也就是說,它假設了Markov屬性)。 通常,這個假設支

原创 算法學習之遞歸算法

      軟件開發過程中,函數調用函數自身的運算方式歸納爲遞歸。通常是一個主要問題分解爲多個相似小問題去解決,計算過程是循環調用自身,直到達到臨界條件,返回退出。       編寫遞歸函數時,必須指定一個函數執行可到達的邊界,當函數達到

原创 JAVA中的IO包之基礎

名詞:字節順序(Endian) Endian(字節序):在各種計算機體系結構中,對於字節、字等的存儲機制有所不同,因而引發了計算機通信領域中一個很重要的問題,即通信雙方交流的信息單元(比特、字節、字、雙字等等)應該以什麼樣的順序進行傳送。

原创 算法學習之冒泡排序

       冒泡排序:循環遍歷要排序的元素,依次比較相鄰的兩個元素,如果他們的順序錯誤就把他們交換位置。每一次循環遍歷,直到數組的末尾。因爲越大的元素會經過交換到數組的前端(升序或降序排列),整個過程就像氣泡最終會上浮到頂端一樣,稱之爲

原创 JKD軟件包1.8java.util之RandomAccess

List所使用的標記接口實現,表明他們支持快速隨機訪問(通常持續時間)。這個接口的主要目的是允許通用算法來改變他們的行爲時提供良好的性能應用於隨機或順序訪問列表。 最好的算法處理隨機訪問列表(如ArrayList)時能產生二次行爲適用於順

原创 JDK 軟件包1.8 java.util之Iterator

軟件包java.util迭代器(Iterator);官方介紹對collection進行迭代的迭代器。迭代器取代了java.collection.Framework中的Enumeration。迭代器與枚舉的不同點: 迭代器允許調用者利用定義

原创 JAVA-WebSocket服務

本篇文章,基於個人知識的理解和適用環境,如果有異議,可以建議修改,本人不升感激,謝謝,我只是一隻小小的蝸牛。 2017.12.26 WebSocket網絡通信 WebSocket協議是基於TCP的一種新的網絡協議。它實現了瀏覽器與服務器

原创 算法學習之算法的理解

       歷史進程中,我們都是在不斷的去分析問題,解決問題。算法是一系列解決問題步驟、方案。算法的特徵:有窮性(Finiteness)算法的有窮性是指算法必須能在執行有限個步驟之後終止。理解:算法運行之後都是有結束點的,不存在死循環和