1.偽**
//順序查詢的演算法實現,用待查詢數k作限位器
//輸入乙個有n個元素的陣列a和乙個待查詢數k
//輸出第乙個等於待查詢數的位置i,沒找到則返回-1
a[n]⬅k
i⬅0while a[i]≠k do
i⬅i+1
if i2.c++實現
#include
"iostream"
#include
"stdlib.h"
//需要用隨機函式
#include
"time.h"
//需要用time函式
using namespace std;
//順序查詢
intmain()
for(
int i=
0;i<
20;i++
) cout<
cout<<
"請輸入查詢數:"
<
cin>>key;
num[21]
=key;
//提高查詢效率,把key放在陣列最後面
int j=0;
while
(num[j]
!=key)
if(j<21)
cout<<
"目標數在下標為"
<
"的位置"
<
else
cout<<
"沒有找到目標數"
<
return0;
}
3.執行截圖
1.偽**
//該演算法實現了蠻力字串匹配
//輸入乙個n個字元陣列t,代表一段文字
//乙個m個字元陣列p,代表乙個匹配串
//查詢成功則返文字中第乙個匹配串的下標,否則返回-1
for i⬅0 to m-n do
j⬅0while j2.c++實現
//蠻力字串匹配
#include
"iostream"
#include
"string.h"
#include
"cstdio"
using namespace std;
intmain()
}}if(flag==false)
cout<<
"沒有找到匹配的字串."
<
return0;
}
3.執行截圖
列舉法(蠻力思想)和回溯法列出所有彩票號碼
現在有這樣乙個問題 假設彩票號碼有七注,每一注是從1 29的數字中的乙個,每一注數字不能和其他注的重複。現在寫出所有可能的號碼。可以採用列舉法,使用蠻力的思想來解決問題。使用迴圈遍歷來輸出所有可能的結果,這種方法言簡意賅,能直接想到,但是迴圈層數過大,時間複雜度過大,執行時間較長。也可以採用試探法,...
順序查詢法和二分查詢法
方法1 def shunxu f list,temp for index,i in enumerate f list if i temp return index return none方法2 def shunxu f flist,temp for i in range len f flist if...
靜態查詢 順序查詢和折半查詢法
一 靜態查詢 只是起查詢或檢索的作用,不涉及插入 刪除,反之為動態查詢。二 順序查詢 順序查詢過程中往往設定監視哨,在查詢過程中不用每一步都檢查整個表是否查詢完畢。假設,每個元素的查詢概率相同,順序查詢成功時平均查詢長度為 n 1 2 順序查詢不成功時平均查詢長度為 n 1 4 考慮到查詢不成功的情...