新聞中心
蠻力法(brute force method,也稱為窮舉法或枚舉法)是一種簡單直接地解決問題的方法,常常直接基于問題的描述,所以,蠻力法也是最容易應(yīng)用的方法。

成都創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),寧河企業(yè)網(wǎng)站建設(shè),寧河品牌網(wǎng)站建設(shè),網(wǎng)站定制,寧河網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,寧河網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。
選擇排序思想:
在選擇排序開始的時候,掃描整個列表,找到最小元素,然后和第一個元素交換,將最小元素放到它在有序列表的最終位置上。然后我們從第二個元素開始掃描列表,找到最后(n-1)的元素的最小值,再和第二個元素交換,把第二小的元素放在它在列表中的最終位置上。一般來說,在對列表做第 i 遍掃描的時候,(i的值從0~n-2),該算法再最后(n-i)個元素中尋找最小元素,然后拿它和Ai交換,在(n-1)遍之后,該列表就排好序了。
下面是我的代碼實現(xiàn):C++
#include
using namespace std;
int main()
{
int i,j,temp,minn,N;
cin>>N;
int *Arr=new int[N];
for(i=0;i
>Arr[i];
for(i=0;ifor(j=i+1;j
if(Arr[minn]>Arr[j]) minn=j;//記錄最小值的下標(biāo) } temp=Arr[minn]; //交換Arr[minn]和Arr[i]。 Arr[minn]=Arr[i]; Arr[i]=temp; }
for(i=0;i
" ";
return 0; }
算法分析:
輸入的規(guī)模是由元素的個數(shù)n決定的,基本操作是鍵值比較 Arr[minn]>Arr[j]。這個比較的執(zhí)行次數(shù)僅僅依賴于數(shù)組的規(guī)模,
C(n)=∑[i=0,i=N-2] ∑[j=i+1,j=N-1]=∑[i=0,i=N-2] ((N-1)-(i+1)+1))=∑i=0,i=N-2=(n-1)*n/2
即對于任何輸入來說,選擇排序都是一個時間復(fù)雜度為Θ(n2)的算法。鍵的交換次數(shù)是Θ(n) 這使得選擇排序性能較優(yōu)。
名稱欄目:蠻力法求解排序問題
文章路徑:http://fisionsoft.com.cn/article/dpphhpo.html


咨詢
建站咨詢
