數據結構:線性表查找的三種方式

只要是靜態查找表即可

#define ElemType int
typedef struct {
ElemType *d;
int length;
}SSTable;

順序查找 S(n)=O(1) 哨兵空間

int Search_Seq(SSTable t,ElemType key)
{t.d[0]=key;for (int i = t.length; i >0 ; i--) {if(t.d[i]==t.d[0]){return i;}}return 0;
}

折半查找(二分查找):要求必須是順序存儲,且元素內有序

非遞歸

int Search_bin_notDG(SSTable t,ElemType key)
{int low=1,high=t.length-1;while (low<=high){int mid=(high+low)/2;if(t.d[mid]==key){return mid;}else if(t.d[mid]>key){high=mid-1;} else{low=mid+1;}}return 0;
}

遞歸

int Search_bin_DG(SSTable t,ElemType key,int high,int low)
{if(low>high){return 0;}int mid=(low+high)/2;if(t.d[mid]==key){return mid;}else if(t.d[mid]<key){Search_bin_DG(t,key,high,mid+1);}else{Search_bin_DG(t,key,mid-1,low);}}

分塊查找:主要是利用索引表進行查找,塊間有序,塊內有無序決定塊內查找方式

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/67518.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/67518.shtml
英文地址,請注明出處:http://en.pswp.cn/web/67518.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

記錄一次,PyQT的報錯,多線程Udp失效,使用工具如netstat來檢查端口使用情況。

1.問題 報錯Exception in thread Thread-1: Traceback (most recent call last): File "threading.py", line 932, in _bootstrap_inner File "threading.py", line 870, in run File "main.py", line 456, in udp_recv IndexError: list…

電路研究9.2.5——合宙Air780EP中GPS 相關命令使用方法研究

注&#xff1a;本命令僅適用于合宙 4G CAT1 模塊&#xff08;Air780EG 系列&#xff09;。 正好&#xff0c;我們使用的Air780EP好像也有4G CAT1模塊&#xff0c;好像也屬于Air780EG系列吧。 這個例子好像比較少就個。 18.9 使用方法舉例 18.1GPS 開關&#xff1a;ATCGNSPWR 這…

【C語言】在Windows上為可執行文件.exe添加自定義圖標

本文詳細介紹了在 Windows 環境下,如何為使用 GCC 編譯器編譯的 C程序 添加自定義圖標,從而生成帶有圖標的 .exe 可執行文件。通過本文的指導,讀者可以了解到所需的條件以及具體的操作步驟,使生成的程序更具專業性和個性化。 目錄 1. 準備條件2. 具體步驟步驟 1: 準備資源文…

python編程環境安裝保姆級教程--python-3.7.2pycharm2021.2.3社區版

第1步安裝解釋器python-3.7.2&#xff0c;第2步安裝pycharm編程軟件 1、安裝解釋器 1.1 什么是解釋器 就是將Python高級程序語言翻譯成為計算機可以識別的0、1代碼 1.2 安裝解釋器python-3.7.2&#xff08;根據自己的操作系統安裝適配的解釋器&#xff0c;以Windows為例&…

STM32 TIM輸入捕獲 測量頻率

輸入捕獲簡介&#xff1a; IC&#xff08;Input Capture&#xff09;輸入捕獲 輸入捕獲模式下&#xff0c;當通道輸入引腳出現指定電平跳變時&#xff0c;當前CNT的值將被鎖存到CCR中&#xff0c;可用于測量PWM波形的頻率、占空比、脈沖間隔、電平持續時間等參數 每個高級定時器…

21.3-啟動流程、編碼風格(了解) 第21章-FreeRTOS項目實戰--基礎知識之新建任務、啟動流程、編碼風格、系統配置 文件組成和編碼風格(了解)

21.3-啟動流程、編碼風格(了解) 啟動流程 第一種啟動流程(我們就使用這個): 在main函數中將硬件初始化、RTOS系統初始化&#xff0c;同時創建所有任務&#xff0c;再啟動RTOS調度器。 第二種啟動流程&#xff1a; 在main函數中將硬件初始化、RTOS系統初始化&#xff0c;只…

【AI非常道】二零二五年一月(二),AI非常道

經常在社區看到一些非常有啟發或者有收獲的話語&#xff0c;但是&#xff0c;往往看過就成為過眼云煙&#xff0c;有時再想去找又找不到。索性&#xff0c;今年開始&#xff0c;看到好的言語&#xff0c;就記錄下來&#xff0c;一月一發布&#xff0c;亦供大家參考。 有關AI非…

Mac Electron 應用簽名(signature)和公證(notarization)

在MacOS 10.14.5之后&#xff0c;如果應用沒有在蘋果官方平臺進行公證notarization(我們可以理解為安裝包需要審核&#xff0c;來判斷是否存在病毒)&#xff0c;那么就不能被安裝。當然現在很多人的解決方案都是使用sudo spctl --master-disable&#xff0c;取消驗證模式&#…

1、開始簡單使用rag

文章目錄 前言數據存放申請api開始代碼安裝依賴從文件夾中讀取文檔文檔切塊將分割嵌入并存儲在向量庫中檢索部分代碼構造用戶接口演示提示 整體代碼 前言 本章只是簡單使用rag的一個示例&#xff0c;為了引出以后的學習&#xff0c;將整個rag的流程串起來 數據存放 一個示例…

C 標準庫 - `<errno.h>`

C 標準庫 - <errno.h> 引言 在C語言編程中,正確處理錯誤是保證程序穩定性和可靠性的關鍵。C標準庫中的<errno.h>頭文件提供了錯誤碼定義和宏,使得開發者能夠更好地管理和處理程序運行過程中可能出現的錯誤。本文將詳細介紹<errno.h>頭文件的作用、常用錯…

愛書愛考平臺說明

最近我開發了一個綜合性的考試平臺&#xff0c;內容包括但不限于職業資格證考試、成人教育、國家公務員考試等內容。目前1.0版本已經開發完成&#xff0c;其他的功能陸續完善中。 微信小程序搜索"愛書愛考" 微信小程序圖標如下圖: 目前維護了java相關的面試題的考題…

ZZNUOJ(C/C++)基礎練習1011——1020(詳解版)

目錄 1011 : 圓柱體表面積 C語言版 C版 1012 : 求絕對值 C語言版 C版 1013 : 求兩點間距離 C語言版 C版 1014 : 求三角形的面積 C語言版 C版 1015 : 二次方程的實根 C語言版 C版 1016 : 銀行利率 C語言版 C版 1017 : 表面積和體積 C語言版 C版 代碼邏輯…

Java面試題2025-設計模式

1.說一下開發中需要遵守的設計原則&#xff1f; 設計模式中主要有六大設計原則&#xff0c;簡稱為SOLID &#xff0c;是由于各個原則的首字母簡稱合并的來(兩個L算一個,solid 穩定的)&#xff0c;六大設計原則分別如下&#xff1a; 1、單一職責原則 單一職責原則的定義描述非…

認識小程序的基本組成結構

1.基本組成結構 2.頁面的組成部分 3.json配置文件 4.app.json文件(全局配置文件&#xff09; 5.project.config.json文件 6.sitemap.json文件 7.頁面的.json配置文件 通過window節點可以控制小程序的外觀

git中有關old mode 100644、new mode 10075的問題解決小結

在 Git 版本控制系統中&#xff0c;文件權限變更是一種常見情況。當你看到類似 old mode 100644 和 new mode 100755 的信息時&#xff0c;這通常表示文件的權限發生了變化。本文將詳細解析這種情況&#xff0c;并提供解決方法和注意事項。 問題背景 在 Git 中&#xff0c;文…

20個整流電路及仿真實驗匯總

0、 前言 以下是關于“20個整流電路及仿真實驗匯總”的前言部分: 在現代電力電子技術領域,整流電路作為將交流電(AC)轉換為直流電(DC)的關鍵電路,廣泛應用于各類電源設計、信號處理以及電力電子設備中。整流電路不僅能夠為電子設備提供穩定的直流電源,還在電力傳輸、…

截取窗口的完整矩形不包括陰影區域(含邊框和標題欄)

在Windows編程中&#xff0c;GetWindowRect 函數用于獲取窗口的矩形區域&#xff0c;包括窗口的邊框和標題欄。如果你希望獲取窗口的客戶區&#xff08;不包含窗口邊框、標題欄和陰影區域&#xff09;&#xff0c;可以使用 GetClientRect 函數。 區別 GetWindowRect&#xff1…

第30章 測試驅動開發中的設計模式解析(Python 版)

寫在前面 這本書是我們老板推薦過的&#xff0c;我在《價值心法》的推薦書單里也看到了它。用了一段時間 Cursor 軟件后&#xff0c;我突然思考&#xff0c;對于測試開發工程師來說&#xff0c;什么才更有價值呢&#xff1f;如何讓 AI 工具更好地輔助自己寫代碼&#xff0c;或許…

2025美賽復盤總結反思(論文手)

充實的經歷&收獲 美賽這個過程&#xff0c;確實逼著自己學了不少東西&#xff0c;excel本身&#xff0c;以及發現Ai確實能幫忙處理不少的了&#xff0c;也第一次發現原來自己熬通宵也能很精神&#xff08;當然確實是傷身體的&#xff09; 好的經驗&#xff1a; 積極搜索…

從0開始使用面對對象C語言搭建一個基于OLED的圖形顯示框架(協議層封裝)

目錄 協議層設計&#xff0c;以IIC為例子 關于軟硬件IIC 設計的一些原則 完成協議層的抽象 刨析我們的原理 如何完成我們的抽象 插入幾個C語言小技巧 完成軟件IIC通信 開始我們的IIC通信 結束我們的IIC通信 發送一個字節 &#xff08;重要&#xff09;完成命令傳遞和…