今天看到的乙個很有趣的求解過程,題目如下:
求和f(x)=a[0]+a[1]*x+…a[n-1]*x^(n-1)+ a[n]*x^n;
解法一:直接求解
**如下:
//計算多項式f(x)=a[0]+a[1]*x+…a[n-1]*x^(n-1)+ a[n]*x^n;
double f1(double *a,double x,int n)
所得到的結果是沒問題的,但是上面這個求解的方式是被鄙視的。因為還有
解法二:(這種方法要改變一下多項式的表現形式)
**如下:
//計算多項式f(x)=a[0]+x *(…(a[n-1]+x *a[n])…)
double f2(double *a,double x,int n)
說這種方法比第一種好,我做了個測試:
#include < iostream>
#include< cstdlib>
#include< ctime>
#include
using namespace std;
double f1(double *a,double x,int n)
double f2(double *a,double x,int n)
int main()
;double tt,x=1.5;
int n=10;
clock_t start1,start2;
start1=clock();
for(int i=0;i<100000000;i++) //只是1次的話是比不出來的
f1(a,x,n);
tt=(clock()-start1)/clocks_per_sec;
cout for(int i=0;i<100000000;i++) f2(a,x,n); tt=(clock()-start2)/clocks_per_sec; cout }實驗的結果: 今天面試,讓寫乙個氣泡排序和乙個選擇排序,居然沒弄明白這兩種演算法的區別,特此發表一篇文章,以備前車之鑑!希望和我有過同樣經驗的,吸取經驗教訓。以下是對上面所說兩種演算法的闡述!選擇排序 選擇排序是對兩個相鄰數進行比較 public class choicessort sortasc a for i... 第二天 轉眼又過了一周了,前面一周裡面我編了一些程式 鍊錶,長整型數相加,三元組表轉置以及一些簡單的函式.其實有些演算法想想是很簡單,不過寫起來還是需要一定耐心和c基礎的,如果你自己覺得各演算法都很懂了,不妨開機編編試試.或許會有一些新的發現與體會.棧和佇列 1 知識點 棧的定義 操作受限的線性表 ... 第四天 列舉 揹包問題 列舉策略 1 可能的方案 2n 2 對每一方案進行判斷.列舉法一般流程 while 還有其他可能方案 列舉策略 例 把所有排列列舉出來 p6 6 min 123456 max 654321 a1a2a3a4a5a6 下一排列 比如 312654的下和種情況 314256 遞迴...記錄程式設計師的點滴 今天面試被鄙視了
程式設計師資料結構筆記2
程式設計師資料結構筆記4