具体算法思想及应用介绍的文章网上有很多,这篇推荐给大家http://blog.csdn.net/hbhhww/article/details/8206846。 我就直接上自己的Java代码,之前写的时候也参考了一些其它语…
冒泡排序(Bubble Sort)
维基百科:http://zh.wikipedia.org/wiki/冒泡排序 算法思想: 不断的交换相邻的两个反序元素,使最小元素“上浮”或使最大元素“下沉”;每一趟“冒泡”都会确定一个最大的元素或最小的元素,同选择排序…
LeetCode:Path Sum II
Given a binary tree and a sum, find all root-to-leaf paths where each path’s sum equals the given sum. F…
荷蘭國旗
首先是將數組整理成負數在前,正數在後 思想:一次快排,標杆選爲第一個數,確定其最終位置即可 void negtive_front(int a[],int n) { int temp=a[0]; int i=0,j=n-1…
動態規劃
算法:動態規劃 動態規劃與分治法相似,都是通過組合子問題的解來求解原問題的方法。 分治法:是將原問題劃分爲互不相交的子問題,遞歸地求解子問題,再將它們的解組合起來,求出原問題的解。 動態規劃:應用於子問題重疊的情況,即不…
13. Roman to Integer
Roman numerals are represented by seven different symbols: I, V, X, L, C, D …
華容道再研究
這次我又給自己挖了一個更大的坑,已經確定華容道一共可分爲六個領域,或者叫森林。分別爲0到5 橫式,比如0橫式,表示佈局爲一個曹操,0個橫將,5個豎將,4個兵; 2橫式,表示佈局爲一個曹操,2個橫將,3個豎將,4個兵; 六…
數據結構 P36-37 算法實現 雙向循環鏈表的插入與刪除
/*雙向鏈表的插入與刪除*/ #include<iostream> using namespace std; struct node &n…
嚴蔚敏書筆記之KMP算法
背景:在長串A中查找子串B 變量:i———->匹配的過程中,指向父串A待匹配的字符,是它的下標 j———>匹配的過程中,指向…
HDU's ACM 1028 Ignatius and the Princess III
原題鏈接:HDU’s ACM 1028 Ignatius and the Princess III 分析:此爲母函數第一滴血,可參見母函數-Wikipedia。思路是轉換爲多項式乘法的結果,對應次方的係數表示…
最大公約數(Gcd)兩種算法(Euclid && Stein)轉載
寫的不錯,代碼看起來很舒服。 歐幾里德算法和擴展歐幾里德算法 歐幾里德算法 歐幾里德算法又稱輾轉相除法,用於計算兩個整數a,b的最大公約數。其計算原理依賴於下面的定理: 定理:gcd(a,b) = gcd(b,a mod…
不使用第三个变量交换两个数的值
在很多的时候,都需要用到交换2个数的值。比如在快排算法里,就需要用到swap函数。在这里提供2种不需要创建第三个变量就能交换2个变量的值的方法。 这里以快排中,交换已知2个下边对应的元素作为例子 先来看需要创建第三个变量…