原创 數據庫系統相關概念

數據庫系統 定義: 數據庫:相互有關聯關係的數據集合 數據庫管理系統:管理數據庫的一種系統軟件 數據庫語言:通過數據庫語言開發數據庫應用程序 現實世界>>>>>信息世界>>>>>計算機世界 由現實世界到信息世界:我們需要對數據進

原创 無序鏈表和有序鏈表

鏈表–無序鏈表 無序鏈表的相關接口 尋秩訪問–rank2data(head,rank),時間複雜度爲O(rank),複雜度與rank成正比,以均勻分佈爲例,期望的時間複雜度爲O(n),其中n爲鏈表的長度 <pre> publi

原创 原型模式、建造者模式、裝飾器模式

原型模式 必須讓目標了實現Cloneable接口,該接口中沒有任何方法,這樣的接口僅僅爲一個“標記接口”,作用是告訴Jvm,任何實現了Cloneable接口的類的對象都可以被克隆! 必須寫Java.lang.Object的clo

原创 二分查找與斐波那契查找

數據結構–查找 二分查找 方法一:軸點取中點,逐步遞歸。算法時間複雜度O(log[n])。主要思路如下圖: <pre> public class LinearRecur { public static void main(

原创 設計模式:七大設計原則

緒論: 設計模式是前輩們不斷總結,不斷打磨出的設計方法,不同設計模式適應於不同的場景 設計模式,公認的有23種設計模式,不同的設計模式適用於不同的場景 設計模式有優點,也有缺點不要爲了使用設計模式而使用設計模式,切記防

原创 圖的構建深度優先和廣度優先

圖結構 1. 圖的構建 <pre> package GraphPackage; import java.util.Arrays; class Edge{ String beginCity; String endCity; i

原创 棧--中綴表達式與逆波蘭表達式

棧 構造一個棧類 <pre> class StackArray{ public int maxiSize; public int[] stack; public int top; public StackArray(int

原创 數組擴容--無序數組

數據結構 數組擴容–如何對一個數組進行有效的擴容 靜態空間管理:開闢內部數組並適用一段地址連續的物理空間,capacity爲總容量,size爲當前的實際規模。若採用靜態空間策略管理,容量capacity固定,則存在明顯的不足。

原创 選擇排序和插入排序

選擇排序和插入排序 選擇排序 選擇排序:選擇排序的思路是從一組元素中逐次選擇最大的元素,放在無序元素末端,具體的實現過程如下圖所示。因此選擇排序需要存在以下幾個接口: 1.selectMax(p,n):從節點p開始,在節點p前n個

原创 二叉樹

二叉樹 二叉樹結點的構建 <pre> class BinNode{ public int data; public int height; public BinNode parent; public BinNode lef

原创 二叉樹的前序中序後續遍歷

二叉樹的遍歷 遍歷:按照某一種次序依次訪問各個結點,每個結點恰好訪問一次。 二叉樹前序遍歷 1.遞歸實現前序遍歷 <pre> public static void main(String[] args) { //設置結點之間的