原创 數據結構與算法 快速冪

簡介 快速冪是一種快速求冪的方法,通過將形如a^11轉化爲(a^2)^5 * a = ((a^2)^2) * a) * a的形式,把冪層層拆分爲(2*2+1)*2+1的形式,使a的n次方運算轉變爲不斷的平方和乘以a,從而大幅減少運算次數,

原创 數據結構與算法 並查集

簡介 並查集用於將許多元素加入不同的集合(join(x, y))來快速查找某個元素所在的集合。 每個集合有一個代表元素,查找(find(x))時如果兩個元素的代表元素相同,則這兩個元素屬於同一個集合。 實現 集合通過pre數組將pre[i

原创 Java 建造者模式

簡介 建造者模式(Builder Pattern)是使用多個簡單的對象一步一步構建成一個複雜的對象的一種設計模式,是Java23種設計模式中的一種。 使用方式如下: Student student = new Student.Build

原创 Java 單例模式

簡介 單例模式(Singleton Pattern)是 Java 中最簡單的設計模式之一,它提供了一種創建對象的最佳方式。 單例模式的特點是該類只能有一個對象(實例),使用者通過該類提供的靜態方法獲得這個實例,用於當某個類只需要或只能有一