原创 曾經的Mysql學習筆記

文件保存數據缺點: ​ 文件的安全性問題 ​ 文件不利於數據查詢和管理 ​ 文件不利於存儲海量數據 ​ 文件在程序中控制不方便 連接服務器 mysql -h 127.0.0.1(默認本地連接) -P 330

原创 JavaSE之徹底搞懂try,catch,finally與return的執行

版權聲明:本文爲CSDN博主「狼王神起」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。 原文鏈接:https://blog.csdn.net/qq_36262896/article/details/

原创 Java虛擬機是怎樣運行Java字節碼的?

以標準 JDK 中的 HotSpot 虛擬機爲例,從虛擬機以及底層硬件兩個角度來看Java 虛擬機具體是怎麼運行 Java 字節碼的。   虛擬機視角 從虛擬機視角來看,執行 Java 代碼首先需要將它編譯而成的 class 文件加載到

原创 數據結構 —— 圖

圖 樹是一種非線性表的數據結構,圖也是,圖和樹比起來,是一種更加複雜的非線性表數據結構。 涉及圖的算法有很多,也非常複雜,比如圖的搜索、最短路徑、最小生成樹、二分圖等等。   樹中的元素稱爲節點,而圖中的元素稱爲頂點。 圖中的一個頂點可以

原创 堆的應用

優先級隊列 優先級隊列首先是一個隊列,他符合隊列的基本特性,先進先出。 不過,在優先級隊列中,數據的出隊順序不是先進先出,而是按照優先級來,優先級最高的,最先出隊。 實現優先級隊列的方法有很多,用堆來實現是最直接、最高效的。 堆和優先級隊

原创 階段總結(四)——爲什麼同爲O(n log n),快速排序的性能比堆排序要好?

在平均情況下,快速排序和堆排序的時間複雜度都是O(n log n),堆排序的時間複雜度甚至比快速排序的時間複雜度穩定。 因爲快速排序最壞情況下時間複雜度是O(n²)。 但是,在實際的軟件開發中,快速排序的性能要比堆排序好。爲什麼?   主

原创 數據結構 —— 紅黑樹

紅黑樹 紅黑樹本質上是二叉平衡查找樹,二叉平衡查找樹有很多種,包括AVL樹,Splay Tree(伸展樹)、Treap(樹堆)等 紅黑樹是平衡二叉查找樹中的一種,也是最常用的一種。   二叉查找樹在頻繁的動態更新過程中,可能會出現樹的高度

原创 遞歸樹——分析遞歸算法的時間複雜度

遞歸樹   遞歸的思想就是,將大問題分解爲小問題來求解,然後再將小問題分解爲小小問題。 這樣一層一層地分解,直到問題的數據規模被分解得足夠小,不用繼續遞歸分解爲止。 如果我們把這個一層一層的分解過程畫成圖,它其實就是一棵樹。我們給這棵樹起

原创 階段總結(三)——爲什麼有了散列表我們還需要二叉樹

二叉查找樹最大的特點就是,支持動態數據集合的快速插入、刪除、查找操作。 散列表也是支持這些操作的,而且散列表的這些操作比二叉查找樹更高效,時間複雜度是 O(1)。 既然散列表如此高效,那麼散列表是不是可以完全替代二叉樹呢。 或者說有沒有什

原创 二叉樹的存儲方式 以及 爲什麼會有完全二叉樹這一概念和定義???

二叉樹的存儲方式 存儲一棵二叉樹有兩種方法,一種是基於指針或者引用的二叉鏈式存儲法,一種是基於數組的順序存儲法。   鏈式存儲法 用鏈表來表示一棵二叉樹,即用鏈來指示元素的邏輯關係。二叉鏈 每個節點有三個字段,其中一個存儲數據,另外兩個

原创 教你一秒鐘得出 N個節點的完全二叉樹有多少個葉子節點 / 度爲1或2的節點個數

沒耐心的同學們可以直接拉到最底下看結論,有興趣的話可以瀏覽全篇文章     完全二叉樹的節點計算基本是幾類,要麼是求完全二叉樹中的葉子節點個數或者度爲1或者2的節點的個數。 其實這些問題根本上一一類問題,求解方法也是基本相同的。   先把

原创 數據結構——二叉樹基礎

樹   樹的特徵 樹是由n(n>=1)個有限結點組成一個具有層次關係的集合。 把它叫做“樹”是因爲它看起來像一棵倒掛的樹,也就是說它是根朝上,而葉朝下的。    樹?非樹?     樹的概念 樹中的每個元素都叫做節點,用來連線相鄰節點

原创 二叉樹的遍歷以及遞歸、非遞歸實現 / 層次遍歷

二叉樹的遍歷 二叉樹遍歷的經典方法有四種,前序遍歷、中序遍歷、後序遍歷和層次遍歷。 其中,前、中、後序,表示的是節點與它的左右子樹節點遍歷打印的先後順序。   前序遍歷是指,對於樹中的任意節點來說,先打印這個節點,然後再打印它的左子樹,最

原创 散列函數的設計方法

本文轉自:https://www.cnblogs.com/zhuyf87/archive/2012/12/17/2821785.html   好的散列函數要求:(1)計算簡單,至少散列函數的計算時間不應該超過其他查找技術與關鍵字比較的時間

原创 數據結構——散列表(Hash Table)(哈希表)

散列表 散列表英文是hash table,經常被叫做Hash表,或者哈希表。 哈希表其實就是由數組演化而來的,利用的就是數組支持按照下標隨機訪問數據的特性,可以說散列表就是數組的一種擴展。   百度文庫對散列表的解釋: 根據關鍵碼值(Ke