原创 什麼是B+樹?[轉]

目錄 1 B樹與B+樹的區別 2 B+樹的特點 父子節點關係 葉子成鏈 衛星數據 3 B+樹的好處 IO過程少 查詢穩定 便於範圍查找 4 總結 B+樹的特徵 B+樹的優勢 1 B樹與B+樹的區別 一個m階的B樹具有如下幾個特徵: 根結點

原创 如何優化數據庫?[轉]

1 數據庫結構優化 範式優化:表的設計合理化(符合3NF),比如消除冗餘(節省空間); 反範式優化:比如適當加冗餘等(減少join) 拆分表:分區將數據在物理上分隔開,不同分區的數據可以制定保存在處於不同磁盤上的數據文件裏。這樣,當對這個

原创 希爾排序Java代碼實現

希爾排序 希爾排序是希爾(Donald Shell)於1959年提出的一種排序算法。希爾排序也是一種插入排序,它是簡單插入排序經過改進之後的一個更高效的版本,也稱爲縮小增量排序,同時該算法是衝破O(n2)的第一批算法之一。它與插入排序的不

原创 Java的構造函數詳解

什麼是構造函數 構造函數是一種特殊的函數,用來在對象實例化時初始化對象的成員變量。在Java語言中,構造函數具有以下特點: 構造函數必須與類的名字相同,並且不能有返回值(連void也不能寫)。 每個類可以有多個構造函數。當開發人員沒有提供

原创 Java程序的初始化順序

在Java語言中,當實例化對象的時候,對象所在類的所有成員變量首先要進行初始化,只有當所有類成員完成初始化之後,纔會調用對象所在類的構造函數創建對象。   Java程序的初始化一般遵循三個原則: 靜態對象(變量) 優先於 非靜態對象(變量

原创 public static void main (String[] args) 詳解

1 public static void main (String[] args) public static void main (String[] args) 是Java程序的入口方法,JVM在運行程序時,會先查找 main() 方法

原创 UDP協議收發數據 JAVA代碼實現

客戶端代碼:  /* UDP協議發送數據: 1.創建發送端Socket對象。 2.創建數據,並把數據打包。 3.調用Socket對象的發送方法發送數據包。 4.釋放資源。 */ public class

原创 堆排序Java代碼實現

堆排序 堆排序(Heapsort)是指利用堆這種數據結構所設計的一種排序算法。堆積是一個近似完全二叉樹的結構,並同時滿足堆積的性質:即子結點的鍵值或索引總是小於(或者大於)它的父節點。 算法描述 將初始待排序關鍵字序列 (R1,R2….R

原创 選擇排序Java代碼實現

選擇排序 表現最穩定的排序算法之一,因爲無論什麼數據進去都是O(n2) 的時間複雜度,所以用到它的時候,數據規模越小越好。唯一的好處可能就是不佔用額外的內存空間。 選擇排序(Selection-sort)是一種簡單直觀的排序算法。它的工作

原创 快速排序Java實現

快速排序 快速排序的基本思想:通過一趟排序將待排記錄分隔成獨立的兩部分,其中一部分記錄的關鍵字均比另一部分的關鍵字小,則可分別對這兩部分記錄繼續進行排序,以達到整個序列有序。 算法描述 快速排序使用分治法來把一個串(list)分爲兩個子串

原创 冒泡排序Java代碼實現

冒泡排序 冒泡排序是一種簡單的排序算法。它重複地走訪過要排序的數列,一次比較兩個元素,如果它們的順序錯誤就把它們交換過來。 走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。 這個算法的名字由來是因爲越小的元素會經

原创 插入排序Java代碼實現

插入排序 插入排序(Insertion-Sort)的算法描述是一種簡單直觀的排序算法。它的工作原理是通過構建有序序列,對於未排序數據,在已排序序列中從後向前掃描,找到相應位置並插入。插入排序在實現上,因而在從後向前掃描過程中,需要反覆把已

原创 歸併排序Java代碼實現

歸併排序 和選擇排序一樣,歸併排序的性能不受輸入數據的影響,但表現比選擇排序好的多,因爲始終都是O(n log n)的時間複雜度。代價是需要額外的內存空間。 歸併排序是建立在歸併操作上的一種有效的排序算法。該算法是採用分治法(Divide

原创 【王道JAVA】【程序 47 打印星號】

題目:讀取 7 個數(1—50)的整數值,每讀取一個值,程序打印出該值個數的*。 import java.util.Scanner; public class WangDao { public static void main(St

原创 【王道JAVA】【程序 49 子串出現的個數】

題目:計算字符串中子串出現的次數。 import java.util.Scanner; public class WangDao { public static void main(String[] args){ Scanner