線性查詢的遞迴演算法

2023-01-26 08:27:04 字數 833 閱讀 3404

摘要 本文介紹了乙個線性遞迴查詢演算法的基本思想,闡述了該演算法的設計與集體實現,包括演算法採用的資料結構,程式中各功能模組的功能,並對演算法進行了分析。

關鍵詞:線性遞迴查詢;遞迴規則;查詢;演算法

1. 問題描述

在一列給定的值中進行搜尋,從一端開始逐一檢查每個元素,直到找到所需元素的過程。線性查詢又稱為順序查詢,如果查詢池是某種型別的乙個表,比如乙個陣列,簡單的查詢方法是從表頭開始,一次將每乙個值與目標元素進行比較,最後,或者查詢到目標,或者達到表尾,而目標不存在於組中,這個方法稱為線性查詢。

2. 問題分析

從陣列的第乙個元素開始一一遍歷陣列,如果找到當前被遍歷的值與所查詢的值相同,則返回當前陣列元素的下標;如果到最後乙個陣列元素還沒有找到,則返回-1。

3. 演算法描述

整個演算法思想是:從陣列的第乙個元素開始一一遍歷陣列,如果找到當前被遍歷的值與所查詢的值相同,則返回當前陣列元素的下標;如果到最後乙個陣列元素還沒有找到,則返回-1。

4. 具體演算法

4.2線性查詢的非遞迴演算法

#include<>

#include<>

#define size 100

int main()

910return-1;//未找到

11}5. 結果分析

線性查詢擺脫了陣列排序的約束,不足之處是不適合大型資料查詢,並且查詢方法比較老套,如果要找的數在陣列中最後乙個數n,那麼搜尋從0開始,一直檢索到n,要經過n次遍歷,時間複雜度:o(n);遞迴演算法是把問題轉化為規模縮小了的同類問題的子問題。然後遞迴呼叫函式(或過程)來表示問題的解。

乙個過程(或函式)直接或間接呼叫自己本身,這種過程(或函式)叫遞迴過程(或函式)。

資料結構與演算法 遞迴與非遞迴的轉換

pop s,p if stackempty s 2 中序遍歷 a 遞迴方式 void inorder recursive bitree t 中序遍歷二叉樹的遞迴演算法 b 非遞迴方式 void inorder nonrecursive bitree t 3 後序遍歷 a 遞迴方式 void post...

19第十六課查詢 線性查詢法

一 現在我們可能知道的知識 在web 搜尋中,把包含輸入的關鍵字的 從全世界 中記錄的文字中查詢處理,並且把匹配成功的 一覽表示出來。搜尋 是指從多個資料中找到目標資料的演算法。在計算機所執行的處理中,搜尋 和 排序 一樣都是執行很頻繁而且重要的操作。二 線性查詢演算法介紹 從隨機擺放的數列中查詢目...

關於《演算法與程式設計》之對分查詢演算法的質疑與對策

摘要 浙江省教育出版社普通高中課程標準實驗教科書 演算法與程式設計 中關於對分查詢演算法的內容存在有明顯的邏輯錯誤。針對課本中的疑問,如何化解學生的疑慮,引導學生學習 理解和掌握對分查詢演算法的思想和方法,從而培養學生獨立思考 不迷信教材 不迷信權威的科學學習態度和鑽研精神,我們對教材中對分演算法進...