原创 最短路徑:學習總結

最短路徑 最小生成樹是以無向帶權圖爲基準,而最短路徑則是以加權有向圖爲基準 最短路徑樹 給定一幅加權有向圖和一個頂點s。 以s爲起點的一棵最短路徑樹是圖的一幅子圖,它包含s和從s可達的所有頂點。 根節點爲s,到葉子結點的每條路徑

原创 有向圖:學習總結

有向圖 相較於無向圖,有向圖的邊是帶有方向性的。v→w,那麼v的鄰接點鏈表中會有w,但是w的鄰接點鏈表不存在v。因此就鄰接表來說,體現有向性是通過鏈表中的節點有無來實現的。 public class Digraph { p

原创 LeetCode刷題(二):樹的遞歸部分

樹 – 遞歸部分 1.求樹的高度 – : 沒什麼難度,分別對左子樹和右子樹求高度,取兩者的較大值。 +1是爲了囊括結點本身的高度 public class MaxDepth_104 { public int maxDe

原创 無向圖:學習整理

無向圖 使用的數據結構: 鄰接表:使用一個以頂點爲索引的列表數組 – 每個元素都是和該頂點相鄰的頂點列表 空間和V+E成正比 添加一條條邊所需的時間爲常數 遍歷頂點v的所有相鄰頂點所需的時間和v的度數成正比 基本數據結構

原创 快速排序:學習記錄

快速排序 快速排序的基本思想是: 選擇一個排序的切分點,對剩餘的部分進行從前至後的遍歷 從左邊開始向右,找到第一個比切分點大的值 從右邊開始向左,找到第一個比切分點小的值 交換兩個值的位置 這樣保證切分點左邊比切分點小,右邊比

原创 歸併排序:學習記錄

歸併排序 要點: 基於分治的思想,將需要比較的數組分爲左右兩部分。 自頂向下進行分組,知道lo >= hi時,開始遞歸出棧。 將出棧後的數組依次進行遞歸,藉助一個輔助數組aux對數組結果臨時儲存 歸併操作 從開頭和中間兩個位置

原创 堆排序:學習記錄

堆排序 核心要點: 通過下沉的方式,自底向上進行建堆 ,可以保證當檢測到有父節點的堆有序時,其所有子堆都是滿足堆的成立條件。即父節點大於任意兩個子節點 下沉排序的過程,實質上是在刪除最大元素後,堆的自我調整過程。調整的過程中,堆

原创 其他排序算法:學習整理

其他排序算法整理 選擇排序 選一個最小的放在最前面,然後前面的就有序了,最簡單的排序。 public static void selectSort(int[] arr){ for (int i = 0; i < arr.l

原创 JMM 理解

JMM 理解 read:將主內存中的數據讀取出來 load:緊跟在read之後,將數據寫入到線程內部的私有數據副本中 use:線程內部的方法將調用數據副本中的數據進行操作 assign:如果數據副本的值在方法中發生改變,那麼又

原创 紅黑樹:整理學習

紅黑樹 紅黑樹定義 紅色結點均爲左節點 – 紅色結點與黑色結點合併會得到一個-3結點 沒有任何一個結點同時和兩個紅色結點相連 任一空連接到根節點的長度和黑色結點的數目相同 結點定義 // 紅色結點記爲true,黑色記爲fal

原创 OPC UA JAVA開發筆記(五):milo nodeparser解析XML文件獲取結點集

市面上各種收費的UA軟件都有一個誘人的功能,那就是直接解析XML獲取結點集,而開源的OPC庫中,據我所知只有open62541有,這可以極大的簡化我們的流程,並且OPC UA Foundation已經建立了相應的NodeSet文件

原创 力扣刷題記錄(一):鏈表

雙指針問題 兩個鏈條求交點,每一條鏈條到達尾端的時候,執行一次鏈條的切換,可以最終使兩個鏈條達到同步運行的效果。這裏注意到達尾部的條件是爲null,而不是下一個結點爲null public ListNode getIntersec

原创 Docker學習三:Dockerfile

摘自B站UP主狂神的學習筆記,歡迎大家去看原視頻學習:BV1og4y1q7M4 DockerFIle dockerfile用來構建docker鏡像的文件!命令參數腳本 構建步驟: 編寫一個dockerfile文件 docker

原创 XML學習筆記(三)--- 通過JavaScript解析XML

以下內容多爲筆者在菜鳥教程中的摘抄,主要用於個人學習,如侵權請聯繫我刪除 XML解析器 XML 解析器把 XML 文檔轉換爲 XML DOM 對象 - 可通過 JavaScript 操作的對象。 解析XML文檔: if (wi

原创 OPC UA Java 開發筆記(三):open62541建立基礎服務器

前兩天一直在搞open62541,因爲milo庫的server sdk沒有辦法根據xml生成結點文件,於是準備用open62541來搭建服務器,milo結合Spring Boot來構件客戶端。 網絡上大多是建立一個open6254