原创 N皇后 問題

本內容轉載來自:回溯法求解N皇后問題(Java實現) 回溯法:也稱爲試探法,它並不考慮問題規模的大小,而是從問題的最明顯的最小規模開始逐步求解出可能的答案,並以此慢慢地擴大問題規模,迭代地逼近最終問題的解。這種迭代類似於窮舉並且是

原创 深入JAVA核心 JAVA內存分配原理精講

內容轉載來自:深入JAVA核心 JAVA內存分配原理精講 內容概要: 棧、堆、常量池雖同屬Java內存分配時操作的區域,但其適用範圍和功用卻大不相同。本文將深入Java核心,詳細講解Java內存分配方面的知識。 Java內存分配與管

原创 Java中的克隆clone以及對數組的複製

一、淺克隆和深克隆     1. 淺克隆(shadow clone)     只需要複製對象的字段值,對於8種基本類型,如int,long,float等,則複製值;對於複合數據類型僅複製該字段值,如數組則複製地址,對於對象變量則複製對象的

原创 Eclipse安裝windowbuilder插件,實現Java的可視化編程

一、利用Windowbuilder插件的好處 利用Windowbuilder插件,一個好處就是能夠任意拖動控件,實現一個可視化的界面設計;第二個好處就是能夠提高開發的效率,因爲在你拖動控件後,代碼會自動生成。對於初學者來說還是多去

原创 C++類的靜態變量的初始化

C++類的靜態變量 注意事項: 1.類的靜態變量首先是存在於任何對象之外,它不屬於任何一個類,所以對象中不包含任何與靜態數據成員有關的數據。 2.靜態成員函數不與任何對象綁定在一起,它們不包含this指針。 使用靜態變量: 1. 使用作

原创 【排序算法】計數排序

轉載來自:計數排序之Java實現 計數排序算法介紹 比較排序算法可以通過決策樹模型證明,其下線是O(nlgn)。而本文介紹的是時間效率爲O(n)的計數排序。所謂排序算法,無非就是把正確的元素放到正確的位置,計數排序就是計算相同key

原创 【算法分析】尋找多數元素

解決問題:在一個整數序列A中,如果整數r在A中出現的次數大於序列A的一半,那麼我們把這個r稱爲多數元素。如何更快的找出這個元素呢? Java實現過程如下: package candidate; public class Candi

原创 【數據結構】Java單鏈表的逆序

內容轉載來自:單鏈表逆序         第二個題目是很經典的“單鏈表逆序”問題。很多公司的面試題庫中都有這道題,有的公司明確題目要求不能使用額外的節點存儲空間,有的沒有明確說明,但是如果面試者使用了額外的節點存儲空間做中轉,會得到

原创 【數據結構】棧的鏈表實現

import java.util.EmptyStackException; public class LinkedStack<E> implements Cloneable { private Node<E> top; publ

原创 【正則表達式】正則表達式

內容轉載來自:正則表達式30分鐘教程 內容轉載來自:JAVA正則表達式詳解 正則表達式的貪婪與懶惰模式  當正則表達式中包含能接受重複的限定符時,通常的行爲是(在使整個表達式能得到匹配的前提下)匹配儘可能多的字符。以這個表達式爲例:a

原创 【數據結構】複雜表達式的求值

參考博客:前綴、中綴、後綴表達式 一、表達式的三種表示法 1.  中綴表示法       運算符放在兩個運算對象中間,這是我們書寫的時候最熟悉的一種形式,如:(2 + 3)* 7 2.  前綴表示法      前綴是附加在表達式前面的內容

原创 Java Swing 雙緩衝技術解決圖像閃爍問題

 參考內容:關於雙緩衝        我們看電視時,看到的屏幕稱爲OSD層,也就是說,只有在OSD層上顯示圖像我們才能看到。現在,我需要創建一個虛擬的、看不見但是可以在上面畫圖(比如說畫點、線)的OSD層,我稱之爲offscree

原创 【排序算法】選擇排序

package sort.algorithm.select; public class Select { // 選擇排序的最差情況運行時間是O(n^2) public static void selectionSort(int[]

原创 【數據結構】利用棧來求算術表達式的值

前提是:算術表達式是完全帶括號的數字表達式 import java.util.Scanner; import java.util.Stack; import java.util.regex.Pattern; public clas

原创 【數據結構】棧的數組實現

import java.util.EmptyStackException; public class ArrayStack<T> implements Cloneable { private T[] data; private in