原创 平衡二叉樹和AVL樹-代碼實現

目錄 一、平衡二叉樹 二、計算節點的高度和平衡因子 1、計算節點高度 2、計算平衡因子 3、節點高度和平衡因子的維護 三、檢查二分搜索樹性質和平衡性 四、旋轉操作 1、旋轉操作的基本原理 2、左旋轉(LL)和右旋轉(RR)的實現 3、LR

原创 github 和 gitee(碼雲) 的使用

在我們執行了git commit -m '' 指令之後,我們的代碼是被放到了本地倉庫,而且一個本地倉庫可以對應多個遠程倉庫。 因爲github有時候連不上,所以我們可以使用gitee當作遠程備份倉庫。 一、創建github 和 gitee

原创 並查集-代碼實現

目錄 一、並查集-數組模擬Quick Find-1 1、數組模擬Quick Find 二、改進:Quick Union-2 三、基於size的優化-Quick Union-3 四、基於Rank的優化-Quick Union-4 五、路徑壓

原创 SQL數據庫-介紹簡易版

目錄 一、關於SQL數據庫 二、關係模型 1、主鍵和外鍵 2、索引 唯一索引和唯一約束 三、數據操作 1、查詢 2、修改 四、數據庫事務 隔離級別 (1)Read Uncommitted-髒讀 (2)Read Committed-不可重複

原创 二分搜索樹-代碼實現

目錄 一、樹 1、二叉樹 2、二分搜索樹Binary Search Tree 二、二分搜索樹的代碼實現 1、向二分搜索樹中添加元素 2、二分搜索樹的查詢 3、二分搜索樹的遍歷 (1)前序遍歷 (1)中序遍歷(排序樹) (3)後續遍歷 4、

原创 優先隊列和堆-代碼實現

目錄 一、優先隊列 二、堆-樹的一種 1、滿二叉樹 2、完全二叉樹 3、二叉堆 (1)用數組存儲二叉堆 (2)向堆中添加元素sift up (3)取出堆中的最大元素和sift down (4)堆的時間複雜度分析 (5)Heapify整理成

原创 鏈表與遞歸-代碼實現

目錄 一、鏈表的使用:LeetCode例題 1、解法一:不使用虛擬頭節點 2、解法二:使用虛擬頭節點 二、遞歸 1、鏈表的天然遞歸性 2、遞歸運行機制 一、鏈表的使用:LeetCode例題 刪除鏈表中等於給定值val的所有元素。 示例:給

原创 快速上手SpringBoot定時任務

目錄 一、創建SpringBoot定時任務 1、@SpringBootApplication啓動 (1)@Configuration (2)@EnableAutoConfiguration (3)@ComponentScan 2、@Ena

原创 Trie/字典樹/前綴樹-代碼實現

目錄 一、什麼是Trie? 二、Trie的實現-字典樹 三、Trie和前綴搜索 一、什麼是Trie? 字典:如果有n個條目,使用樹結構,查詢的時間複雜度爲O(logn),如果有100萬個條目(2^20)logn大約爲20; Trie:查詢

原创 線段樹(區間樹)-查詢和更新

目錄 一、爲什麼需要使用線段樹 二、創建線段樹 三、線段樹的查詢 四、線段樹的更新 一、爲什麼需要使用線段樹 在一個區間內,需要同時實現兩個操作:更新+查詢,如果我們僅僅使用數組來實現,它的時間複雜度時O(n)級別的,相對來說,如果我們使

原创 集合和映射-代碼實現

目錄 一、基於二分搜索樹實現集合Set 二、基於鏈表實現集合Set 三、集合的時間複雜度分析 集合的總結 四、映射Map 1、基於鏈表實現的Map 2、基於二分搜索樹實現Map 五、Map的時間複雜度分析 有序映射和無序映射 集合和映射的

原创 鏈表結構的代碼實現

目錄 一、鏈表Linked List 1、往鏈表中添加元素 (1)往鏈表頭部添加元素 (2)往鏈表中間和末尾添加元素 2、鏈表的查詢和修改 3、從鏈表中刪除元素 二、鏈表的時間複雜度分析 1、添加操作 2、刪除操作 3、查找操作 4、修改

原创 Java線程池和SpringBoot異步線程池

目錄 一、SpringBoot異步線程池 1、定義線程池 2、線程池的使用 二、ThreadPoolTaskExecutor和ThreadPoolExecutor區別 1、ThreadPoolExecutor的處理流程  2、四種Reje

原创 快速啓動一個Servlet程序

目錄 一、WEB服務器、Servlet、Tomcat Web服務器(使用B/S模式) Servlet Tomcat 二、Servlet的實現 1、創建Servlet (1)ServletTest——XML配置方式 (2)ServletDe

原创 數據結構——數組

目錄 一、數組和索引 二、數組的封裝——增刪改查 三、數組的優化——泛型和動態數組 四、簡單的時間複雜度分析 均攤複雜度和複雜度的震盪 一、數組和索引 數組是用於儲存多個相同類型數據的集合,可以通過索引來訪問數組中具體的元素。但是因爲數組