被程式設計師鄙視的程式 資料結構與演算法

2021-08-30 21:57:39 字數 1059 閱讀 2262

今天看到的乙個很有趣的求解過程,題目如下:

求和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...

程式設計師資料結構筆記2

第二天 轉眼又過了一周了,前面一周裡面我編了一些程式 鍊錶,長整型數相加,三元組表轉置以及一些簡單的函式.其實有些演算法想想是很簡單,不過寫起來還是需要一定耐心和c基礎的,如果你自己覺得各演算法都很懂了,不妨開機編編試試.或許會有一些新的發現與體會.棧和佇列 1 知識點 棧的定義 操作受限的線性表 ...

程式設計師資料結構筆記4

第四天 列舉 揹包問題 列舉策略 1 可能的方案 2n 2 對每一方案進行判斷.列舉法一般流程 while 還有其他可能方案 列舉策略 例 把所有排列列舉出來 p6 6 min 123456 max 654321 a1a2a3a4a5a6 下一排列 比如 312654的下和種情況 314256 遞迴...