原创 POJ3083 -- BFS和DFS

這個題目就是考了圖的BFS和DFS。 BFS用於求最短路徑,這個非常簡單。 DFS用於求左優先和右優先的路徑,難點在於它的下一步方向是由上一步的方向確定的,因此每一步我們都需要確定當前的正方向。   一.在這裏,我們定義了一個數據類型,用

原创 POJ2503 -- 字典樹

該題的主要注意點,一是輸入,二是字典樹的考察。 一。輸入 Sample Input dog ogday cat atcay pig igpay froot ootfray loops oopslay atcay ittenkay o

原创 POJ1328 -- 貪心算法和快速排序

<pre class="cpp" name="code">  一 。貪心策略:將雷達放置在合適的地方,使得包含的島嶼數量最多。 二。貪心策略具體分析 我們採用從左到右放置雷達。假設左邊第一個島嶼是A(Xa,Ya),從左到右的島嶼依次是A

原创 POJ1700 -- 貪心算法

一。貪心策略:用最少的時間過河   二。過河方法分析:有倆種方法將最慢的那倆個人送過河。 eg:1 2 5 10 方法1:每次最快的1和次快的2過河,然後最快的1回來,最慢的10和次慢的5過河,最快的2再回來。             此

原创 POJ1753 -- BFS和位運算

該題倆個考點,一個是BFS廣度優先遍歷,另外一個是通過位的運算。   一。位運算 1.將輸入的“0001 1001 1011 1001”字符串轉換爲十進制數6585,在這裏是通過將輸入的‘0’或‘1’進行位的左移運算實現。 代碼如下:

原创 多線程 -- interrupt()方法

interrupt()方法不會中斷一個正在運行的線程,它用於提前退出線程的阻塞狀態,也就是說當線程通過Object.wait() / Thread.sleep() / Thread.join() / 方法進入阻塞狀態後,如果調用線程中斷方

原创 接口與繼承 -- 訪問相同變量

interface A{ int x = 0; } class B { int x = 1; } public class Object1 extends B implements A { public static

原创 Android開發 -- .9圖片原理和Draw 9-patch工具的使用

一. .9圖片的介紹 .9圖片的作用: 1. 主要防止圖片被拉伸後變形。因爲在一個像素裏如果是相同色塊,那麼它被拉伸不會變形。但如何該像素裏有不同色塊,就將導致它變形。 2.通過.9圖片可以把圖片做的很小,不佔資源,減少apk的大小 下

原创 構造方法 -- super()方法

class Father{ public Father(int i){ System.out.println("父類構造方法 -- Father(int i)"); } } public class Child_Constr

原创 多線程 -- sleep()方法和wait()方法區別

sleep()和wait()方法最大的區別就是: 1. wait()方法會釋放對象的鎖,即在線程A wait期間,其他線程可以調用它的synchronized同步方法。 但是線程A sleep的時候,不會釋放對象的鎖。 其他的區別: 2.

原创 POJ3278 -- BFS

這是一道非常簡單的BFS。在這裏需要注意的是,要對數據進行剪枝,否則會浪費時間。 在這裏,我們用了倆種數據結構,分別是隊列和數組的方式,來實現BFS。 一。首先我們來看一下通過自定義循環隊列的BFS具體實現: int BFS(int Pe

原创 繼承和多態性 -- 方法和變量的覆蓋和隱藏

隱藏: 子類在繼承父類的時候,會隱藏父類的變量(不管是靜態變量還是實例變量)和父類的static靜態方法。此時,子類不能訪問父類的方法和變量,但是如果將子類強制轉換爲父類,則可以訪問父類隱藏的變量(不管是靜態變量還是實例變量)和stat

原创 POJ2001 -- 字典樹和字符串的前綴

該題和POJ2503一樣,採用字典樹。思維大同小異。 直接附上源碼。 <pre name="code" class="java">#include <stdio.h> #include <stdlib.h> typedef stru

原创 String -- 倆種實例化方式的區別

String有倆種實例化方式: 1.通過直接賦值:String str1 = "A";  2.通過new方法: String str2 = new String("A"); 下面來看一段簡單的代碼: public class Strin

原创 java -- 對象和對象的引用

1.創建對象的三個步驟:聲明 -- > 創建 --> 賦值 Value v = new Value ();  a. Value v  -- >聲明引用變量v(也叫對象的引用),它是存放在棧內存的 b. new Value ()  --