#include #include int isood(int n);
int compare(int a,int b);
using namespace std;
int main() ;//檔案所有數字輸入的陣列
int b[200]{};//第乙個陣列,從a陣列的第二個數開始分配,分配num個
int c[200]{};//第二個陣列,a陣列num+1個開始分配,分配num個
int num;//每個陣列中分別有多少個數
int mid;//num = 2*mid+1
int midnumber;
int pos = 0;
bool flag = true;
ifstream infile("/users/cristinast/documents/演算法設計/test1/test1.txt");//輸入的檔案
ofstream outfile("/users/cristinast/documents/演算法設計/test1/test2.txt");//輸出的檔案
if(infile)
}else
for (int i = 0; i <= mid-1; ++i)
num = mid;
}if (b[mid] == c[mid])
}else
if (b[mid] < c[mid])
cout << endl;
for (int i = 0; i <= mid-1; ++i)
num = mid;
}if (b[mid] > c[mid])
cout << endl;
for (int i = 0; i <= mid - 1; ++i)
num = mid;
}if (b[mid] == c[mid])}}
cout<<"the middle number in the file is: "<< midnumber;
outfile << midnumberif(aif(a==b)return (a+b)/2;
}
演算法實驗一的第乙個實驗查詢中位數==
演算法分析與設計實驗三 檢索演算法設計
在乙個排好序的陣列t 1 n 中查詢x,如果x在t中,輸出x在t的下標j 如果x不在t中,輸出j 01.順序查詢 從第乙個元素x開始逐個與需要查詢的元素key進行比較,當x key時返回x的下標,如果比較到最後都沒有找到,則返回j 0 2.二分查詢 不斷地將有序陣列進行對半分割,並檢查每個分割槽的中...
演算法設計與分析 實驗1
一 實驗目的和要求 理解分治法的演算法思想,閱讀實現書上已有的部分程式 並完善程式,加深對分治法的演算法原理及實現過程的理解。二 實驗環境 實驗裝置 code blocks13.12 三 實驗原理及內容 一 用分治法實現一組無序序列的兩路合併排序和快速排序。要求清楚合併排序及快速排 序的基本原理,程...
演算法設計與分析 實驗3
一 實驗目的和要求 學習程式設計實現深度優先搜尋狀態空間樹求解實際問題的方法,著重體會求解第乙個可行解和求解所有可行解之間的差別。加深理解回溯法通過搜尋狀態空間樹 同時用約束函式剪去不含答案狀態子樹的演算法思想,會用蒙特卡羅方法估計演算法實際生成的狀態空間樹的結點數。二 實驗環境 實驗裝置 vsia...