原创 紅黑樹的插入與刪除(二)

上文回溯 在上一篇插入節點分析中已經提過,紅黑樹的插入節點相對於AVL樹來講,需要的調節平衡的操作比較少,一方面表示紅黑樹的平衡定義與AVL樹不同,另一方面也說明了紅黑樹不是嚴格意義上的平衡樹,即查詢操作不是嚴格的O(log n)。不過

原创 InnoDB存儲引擎_數據庫隔離級別(一)

併發訪問在許多地方都被使用,用以提高對資源的利用率,例如操作系統中多道程序訪問,提高CPU和內存的利用率。與併發緊密相關的就是共享資源的安全訪問,通常利用加鎖或者限制訪問數量的機制來保證數據結構的一致性和操作結果的正確性。 數據庫中引入事

原创 equals函數與hash計算

應用場景 在Java中常用來判斷兩個對象是否相等的函數有equals和hashCode方法,最常見的就是在集合容器中,例如HashSet和HashMap中,保存兩個不同的對象,所以需要提供一個合理的關於equals和hashCode的配置

原创 適配器模式

定義 適配器模式從名字與其結構上可以看出,其體現出的是一個轉化作用。將已有的功能轉化爲客戶端所期待的功能,也可以理解爲,將客戶端實際使用的接口在暗中轉接到一個已存在的類上,該移花接木操作對客戶端而言是透明的。 結構 從定義中可以看出,該模

原创 紅黑樹的插入與刪除(一)

紅黑樹定義 紅黑樹作爲同樣提供O(log n)查詢的樹結構(其實準確點說不是log n,紅黑樹雖然是平衡樹,但是沒有AVL樹那麼平衡),通常用於關聯數組的使用中,相對於AVL樹,在插入和刪除操作中能夠以更少的調節操作來位置平衡,AVL樹的

原创 AVL平衡二叉樹

平衡二叉樹定義 AVL樹也就是所謂的平衡二叉樹,查找、刪除、插入最壞情況下爲O(log n),維持樹的平衡只需要幾次旋轉即可。保證任意一個節點的左子樹高度與右子樹高度相差不大於1,默認樹爲空時高度爲0。 節點結構 爲了後續操作簡潔性,先給

原创 操作系統進程與線程

操作系統作爲計算機硬件和用戶(用戶程序)的中間層,負責管理硬件資源和軟件資源,協調程序對硬件的使用,相當於定義了一套訪問規則,起到類似於協議的作用。 進程的定義 操作系統的併發特性,意思就是無論是單處理器或者多處理器,同一時間都存在多個正

原创 InnoDB存儲引擎_數據庫隔離級別(二)

InnoDB存儲引擎提供了兩個特點1.事務 2.行鎖 關於事務的四種隔離級別,在上篇已經說過了,關於可重複讀隔離策略能夠防止“幻讀”問題,需要根據InnoDB的加鎖策略來分析。 InnoDB支持的行鎖是指通過索引實現對結果記錄集合加鎖,可

原创 計算樹中兩點之間的距離

今天看到的一個編程題,拿上來僅供大家參考,存在問題的地方,望大家不吝指出! 題目: 要求倒不麻煩,一個節點數據不重複的二叉樹,設其元素類型爲整型,找出最小元素與最大元素之間的路徑長度,即兩個節點之間的連線距離,不是節點個數。 過程: 以數

原创 奇偶節點的排序和完全平方數問題

遇到塗鴉的兩個題目,拿來寫一下,有理解不對的地方,望大家不吝指正。 1、將鏈表中的所有元素爲奇數的節點移到元素爲偶數節點的前面,並保證奇數之間順序不變,偶數之間順序不變。 示例: 4→5→3→1→2  ==> 5→3→1→4→2  1==

原创 DNS域名解析

DNS(Domain Name System)域名系統,即域名解析系統,作用就是將瀏覽器中輸入的網址解析爲IP地址,然後發起http請求。 雖然不知道最初什麼原因產生的域名系統,但是一個很明顯的驅動力就是直接輸入地址來訪問網站是太麻煩的。

原创 堆排序

排序定義 堆排序是利用樹的結構特性,構造大頂堆或者小頂堆,通過替換與調整在原有數組上進行排序。 實現形式 以遞增排序爲例,將待排序數組構造爲大頂堆(不需額外的數據空間,在自身數組上進行操作,原地排序,),所謂大頂堆也就是非葉子節點的節點元

原创 觀察者模式

模式定義 我們知道面向對象的一個主題就是類實例的實體化,即每個實體都有自己的狀態和行爲,而仿照真實世界的不同客觀實體之間是存在諸多聯繫的,則一個很常見的對象聯動方式就是反饋行爲的發生。最常見的場景如:班車進站,衆旅客上車,這是一個典型的對

原创 JVM內存分佈

定義 JVM的結構可以分爲三個部分:類加載系統、運行時數據區、執行引擎與本地方法接口,本文關注的只是運行時數據區。JVM內存結構可以分爲:堆、棧(虛擬機棧,本地方法棧)、方法區和程序計數器(CPU寄存器暫且不說)幾個部分,按照線程隔離性又

原创 TCP擁塞控制和流量控制

定義 TCP作爲面向連接的提供全雙工可靠服務協議,具有差錯控制、擁塞控制和流量控制等功能。此處所謂的擁塞控制和流量控制,就是將發送端發送能力、接收端接收信息的能力以及當前的網絡環境參與考慮,在網絡擁塞情況嚴重或者接收端接收能力有限的情況下