通用演算法
A. 用逐步求精設計方法,設計求解一元二次方程axx+bx+c=0的通用演算法
a(x2+b/ax)+c=0
a(x2+b/ax+b2/4a2)-b2/4a+c=0
a(x+b/2a)2-(4ac-b2)/4a=0
解x1=-b/2a+根號下4ac-b2/2
x2==-b/2a-根號下4ac-b2/2
B. java:設計一個通用的排序演算法.
import java.util.Arrays;
class Stu implements Comparable{
String name;
int id;
public Stu (String n, int i){
name = n;
id = i;
}
public int compareTo(Object o){
Stu m = (Stu) o;
if (id > m.id){
return 1;
} else if(id < m.id){
return -1;
} else return 0;
}
public String toString(){
return "("+name+","+id+")";
}
}
class Rec implements Comparable{
int c, k;
public Rec (int m, int n){
c = m;
k = n;
}
int area (){
return c*k;
}
public int compareTo(Object o){
Rec m = (Rec) o;
if (this.area() > m.area()){
return 1;
} else if(this.area() < m.area()) {
return -1;
}else return 0;
}
public String toString(){
return "(" + "邊長為" + c + "和" + k + "面積為" + this.area() + ")";
}
}
public class TestSort {
public static void main (String [] args){
Stu [] a = new Stu [5];
a[0] = new Stu("ZhangSan",6);
a[1] = new Stu("LiSi",3);
a[2] = new Stu("WangWu",9);
a[3] = new Stu("ZhaoLiu",12);
a[4] = new Stu("QianQi",4);
sort (a);
for (int i=0; i<a.length; i++){
System.out.println("name="+ a[i].name + " " + "id=" + a[i].id);
}
Rec[] b = {new Rec(4,5), new Rec(7,2), new Rec(8,3), new Rec(2,11), new Rec(5,5)};
System.out.println();
Arrays.sort(a); //此為調用Arrays.sort()方法自動排序;
System.out.println("排序後"+Arrays.toString(a));
Arrays.sort(b);
System.out.println("排序後"+Arrays.toString(b));
}
/*下面為用冒泡排序法排序;本人學藝不精,有一點小問題,編譯時可以通過,但是不起作用。主要是定義Comparable對象c來傳遞o對象的值時出現傳遞不成功的現象。
static void sort (Comparable[] o){
int m = o.length-1;
for(int i=m; i>1; i--){
for(int j=0; j<i; j++){
if(o[j].compareTo(o[j+1])>1){
Comparable c =(Comparable) o[j];
o[j] = o[j+1];
o[j+1] = c;
}
}
}
}*/
}
C. 有沒有通用的進制轉換演算法
往下話除法,二進制處二,八進制除八,往上就更簡單,乘法
D. 編寫一個從1加到n的通用演算法程序,並列印輸出相應的運算結果。
你好!
n;{從1加到n的和}
writeln('..+';{讀入n的值}
s:=0;):
var
n,s,i:integer;
begin
write('Input
n:'1+.:=1
to
n
do
s:=s+i;
for
i;
readln(n)pascal,'='
我的回答你還滿意嗎~~
E. 什麼是Denavit-Hartenberg 演算法
Denavit-Hartenberg 於1955年提出了一種通用演算法,用齊次變換來描述個連桿相對於固定坐標系的空間幾何關系,
F. 什麼是專業通用演算法,精進演算法
A*演算法:A*(A-Star)演算法是一種靜態路網中求解最短路徑最有效的直接搜索方法。估價值與實際值越接近,估價函數取得就越好
A* (A-Star)演算法是一種靜態路網中求解最短路最有效的直接搜索方法。
注意是最有效的直接搜索演算法。之後涌現了很多預處理演算法(ALT,CH,HL等等),在線查詢效率是A*演算法的數千甚至上萬倍。
公式表示為: f(n)=g(n)+h(n),
其中 f(n) 是從初始點經由節點n到目標點的估價函數,
g(n) 是在狀態空間中從初始節點到n節點的實際代價,
h(n) 是從n到目標節點最佳路徑的估計代價。
保證找到最短路徑(最優解的)條件,關鍵在於估價函數f(n)的選取:
估價值h(n)<= n到目標節點的距離實際值,這種情況下,搜索的點數多,搜索范圍大,效率低。但能得到最優解。並且如果h(n)=d(n),即距離估計h(n)等於最短距離,那麼搜索將嚴格沿著最短路徑進行, 此時的搜索效率是最高的。
如果 估價值>實際值,搜索的點數少,搜索范圍小,效率高,但不能保證得到最優解。
G. 通用演算法庫 <algorithm>
去看c++ STL入門導引
或者看:c++ STL中文版
前者新書,後者老書,但是可以在網上下載。
H. java中的演算法,一共有多少種,哪幾種,怎麼分類。
就好比問,漢語中常用寫作方法有多少種,怎麼分類。
演算法按用途分,體現設計目的、有什麼特點
演算法按實現方式分,有遞歸、迭代、平行、序列、過程、確定、不確定等等
演算法按設計范型分,有分治、動態、貪心、線性、圖論、簡化等等
作為圖靈完備的語言,理論上」Java語言「可以實現所有演算法。
「Java的標准庫'中用了一些常用數據結構和相關演算法.
像apache common這樣的java庫中又提供了一些通用的演算法
I. 雞兔同籠問題的通用演算法
用雞的只數X雞有幾只腳+免的只數X免有幾只腳=總腳數,要先設未知數喲!