原创 用概率模擬法求圓周率pi

用概率模擬法求圓周率pi package a; /*概率模擬發求圓周率*/ public class MyA { public static void main(String[] args) { final int N = 100

原创 樹型選擇排序

http://zhouyunan2010.iteye.com/blog/1217462

原创 廣度優先遍歷_改造爲遞歸方式

import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; /**第05講-廣度優先遍歷_改造爲遞

原创 井字棋代碼

井字棋代碼 package a; import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Scanner

原创 通用菜單_完善功能

爲通用控制檯菜單完善功能: 1. 增加“退出”功能,可以在任意位置放棄選擇 2. 增加“返回到主菜單”功能,可以在任意深度回到主菜單,而不是逐級向上。 3. 爲每個葉子節點(就是最終執行命令)增加一個整數信息,將來選擇結束時返回這個整數信

原创 雙棧結構_表達式求值

import java.util.HashMap; import java.util.Map; import java.util.Stack; public class MyA { //定義計算的方法 static void c

原创 分酒問題_求最大不能組合出的數字

import java.util.Scanner; /* 小明開了一家糖果店。他別出心裁:把水果糖包成4顆一包和7顆一包的兩種。糖果不能拆包賣。 小朋友來買糖的時候,他就用這兩種包裝來組合。當然有些糖果數目是無法組合出來的,比如要買

原创 迷宮問題_按要求操作

小明正在玩一個“翻硬幣”的遊戲。 桌上放着排成一排的若干硬幣。我們用 * 表示正面,用 o 表示反面(是小寫字母,不是零)。 比如,可能情形是:**oo***oooo 如果同時翻轉左邊的兩個硬幣,則變爲:oooo***oooo

原创 數組與動態數組_驗證步驟

角谷定理說: 任何一個正整數,如果是偶數,則除以2,如果是奇數則乘以3再加1,如此反覆,必能最終得到1。 這裏不要求你證明這個定理,只需要驗證10000以內的所有整數哪個經過了最長的步驟,最後纔得到1, 並輸出這個步驟。 比如對9,輸出:

原创 Set接口與應用_推算年齡

美國數學家維納(N.Wiener)智力早熟,11歲就上了大學。他曾在1935~1936年應邀來中國清華大學講學。 一次,他參加某個重要會議,年輕的臉孔引人注目。於是有人詢問他的年齡,他回答說: “我年齡的立方是個4位數。我年齡的4次方是個

原创 智能數組

java提供的數組有個特點: 當數組元素的個數確定後,就不能再追加元素了。 也就是說,數組的大小在創建的時候就固定了。 現在請你來寫一個智能數組類 SmartArray,它能夠根據需要動態地分配空間。 實際上,它只不過是在其它位置分配新的

原创 廣度優先遍歷-示例

import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; public class Test {

原创 最短路徑-迪傑斯特拉解法-Dijkstra法

import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.uti

原创 一般樹形結構_求通路長度

如果定義一顆二叉樹的高度就是從根到葉子的最長距離。試編碼求二叉樹的高度。 其實,二叉樹的高度就是它的左子樹和右子樹中高度最大值 + 1 另外考慮: 當待排序的數據本來就是有序的情況,會發生什麼? 請參考《數據結構》教材解決這個問題。 im

原创 試探與回溯-差三角問題

/**仔細觀察下面的數字組成的三角形:    3  1 4 5 6 2 看出什麼特徵嗎? 首先,它包含了1~6的連續整數。 重要的是:每個數字都是其下方相鄰的兩個數字的差(當然是大數減去小數) 滿足這樣特徵的三角形,稱爲:差三角。 你的任