數據結構算法--1 順序查找二分查找

順序查找時間復雜度為O(n)

我們可以借助Python中的函數enumerate,通過enumerate遍歷列表返回其索引和值

def linnear_search(li, val):for ind, v in enumerate(li):if v == val:return indelse:return None

也可以通過列表長度依次遍歷:

def linear_search(li, val):     # 順序查找復雜度為O(n)for i in range(len(li)):if li[i]==val:return ireturn

O(1)<O(logn)<O(n)<O(nlogn)<O(n*n)

但是二分查找時間復雜度為O(logn):

def binary_search(li,val):left=0right=len(li)-1while left<=right:mid=(left+right) // 2if li[mid]==val:    # 最后會找到midreturn midelif li[mid]>val:   # mid值大與查找值,就需要去左半側查找,right指針就改變right=mid-1else:left=mid+1else:return None

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

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

相關文章

瀏覽器渲染原理 - 輸入url 回車后發生了什么

目錄 渲染時間點渲染流水線1&#xff0c;解析&#xff08;parse&#xff09;HTML1.1&#xff0c;DOM樹1.2&#xff0c;CSSOM樹1.3&#xff0c;解析時遇到 css 是怎么做的1.4&#xff0c;解析時遇到 js 是怎么做的 2&#xff0c;樣式計算 Recalculate style3&#xff0c;布局 la…

創建react native項目的筆記

創建react native項目的筆記 重新下載 ruby安裝 watchman安裝 cocoapods安裝 react native 項目創建好項目后安裝 ios 依賴清除設備緩存安裝 android 依賴鏈接 網易 mumu 模擬器安裝路由 Navigation頁面之間的跳轉邏輯自定義頭部樣式判斷不同設備平臺代碼示例安裝 Axios安裝本地…

java mysql druid mybatis-plus里使用多表刪除出錯的一種處理方式

今天在出來多表刪除的時候在mapper.xml用了下面的多個delete語句 <?xml version"1.0" encoding"UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"…

Spring Cloud 系列之OpenFeign:(7)鏈路追蹤zipkin

傳送門 Spring Cloud Alibaba系列之nacos&#xff1a;(1)安裝 Spring Cloud Alibaba系列之nacos&#xff1a;(2)單機模式支持mysql Spring Cloud Alibaba系列之nacos&#xff1a;(3)服務注冊發現 Spring Cloud 系列之OpenFeign&#xff1a;(4)集成OpenFeign Spring Cloud …

PHP酒店點菜管理系統mysql數據庫web結構apache計算機軟件工程網頁wamp

一、源碼特點 PHP 酒店點菜管理系統是一套完善的web設計系統&#xff0c;對理解php編程開發語言有幫助&#xff0c;系統具有完整的源代碼和數據庫&#xff0c;系統主要采用B/S模式開發。 代碼下載 https://download.csdn.net/download/qq_41221322/88232051 論文 https://…

前端技術Vue學習筆記--005

Vue學習筆記 一、非父子通信-event bus 事件總線 作用&#xff1a;非父子組件之間&#xff0c;進行簡易消息傳遞。&#xff08;復雜場景用----Vuex&#xff09; 使用步驟&#xff1a; 創建一個都能訪問的事件總線 &#xff08;空Vue實例&#xff09;-----utils/EventBus.js /…

兩個數組的交集-C語言/Java

描述 給定兩個數組 nums1 和 nums2 &#xff0c;返回 它們的交集 。輸出結果中的每個元素一定是 唯一 的。我們可以 不考慮輸出結果的順序。&#xff08;1 < nums1.length, nums2.length < 1000&#xff0c;0 < nums1[i], nums2[i] < 1000&#xff09; 示例1 輸入…

【golang】通道(channel)的基本原理(一)

通道類型的值本身就是并發安全的&#xff0c;這也是Go語言自帶的、唯一一個可以滿足并發安全性的類型。 聲明一個通道類型變量的時候&#xff0c;我們首先要確定該通道類型的元素類型&#xff0c;決定了我們可以通過這個通道傳遞什么類型的數據。 在初始化通道的時候&#xf…

一鍵批量修改文件夾名稱,中文瞬間變日語,輕松搞定重命名

大家好&#xff01;現在為了更好地適應全球化發展&#xff0c;許多人都有了海外交流、旅行、學習的需求。但是難免遇到一個問題&#xff1a;在電腦中的中文文件夾名稱如何快速翻譯成日語&#xff1f; 首先&#xff0c;第一步&#xff0c;我們需要打開文件批量改名&#xff0c;…

【Unity】編輯器下查找制定文件下的所有特定資源

需求上很簡單&#xff0c;就是在編輯器下&#xff0c;找到某個制定文件下的所有特定資源&#xff08;UnityEngine.Object&#xff09;。Unity 沒有提供專門的 API&#xff0c;我一開始想在網上搜索代碼&#xff0c;發現沒有現成可以直接用的。 功能實現本身并不復雜&#xff0c…

AWS EKS 集群自動擴容 Cluster Autoscaler

文章目錄 一&#xff0c;需求工作需求說明 二&#xff0c;部署精簡命令執行1&#xff0c;要求2&#xff0c;查看EC2 Auto Scaling groups Tag3&#xff0c;創建Serviceaccount需要的Policy&#xff0c;Role4&#xff0c;部署Cluster Autoscaler5&#xff0c;驗證6&#xff0c;常…

zotero在不同系統的安裝(win/linux)

1 window系統安裝 zotero 官網&#xff1a; https://www.zotero.org/ 官方文檔 &#xff1a;https://www.zotero.org/support/ (官方)推薦常用的插件: https://www.zotero.org/support/plugins 入門視頻推薦&#xff1a; Zotero 文獻管理與知識整理最佳實踐 點擊 exe文件自…

【環境配置】Windows 10 安裝 PyTorch 開發環境,以及驗證 YOLOv8

Windows 10 安裝 PyTorch 開發環境&#xff0c;以及驗證 YOLOv8 最近搞了一臺Windows機器&#xff0c;準備在上面安裝深度學習的開發環境&#xff0c;并搭建部署YOLOv8做訓練和測試使用&#xff1b; 環境&#xff1a; OS&#xff1a; Windows 10 顯卡&#xff1a; RTX 3090 安…

Bug日記-webstorm運行yarn 命令報錯

在windows中輸入yarn -v正確輸出&#xff0c;在webstrom終端中運行yarn命令輸出錯誤 問題&#xff1a;可能是由于 WebStorm 配置問題導致的。 解決方案&#xff1a; 檢查 WebStorm 的終端配置&#xff1a;在 WebStorm 中&#xff0c;點擊菜單欄的 “File”&#xff08;文件&am…

DeepSort:基于檢測的目標跟蹤的經典

本文來自公眾號“AI大道理” DeepSORT在SORT的基礎上引入了深度學習的特征表示和更強大的目標關聯方式&#xff0c;有效地減少了身份切換的數量&#xff0c;緩解了重識別問題。 ? 1、DeepSORT簡介 DeepSORT的主要思想是將目標檢測和目標跟蹤兩個任務相結合。 首先使用目標檢…

排序算法分析——什么時候 用 什么排序

排序算法 & 分析 排序算法歷史排序算法分析很快的排序較快的排序中等的排序很慢的排序 分析的結果0.沒有要求1.對速度有要求2.邊排序邊操作3.條件1&條件24.在有序數中操作5.條件1&條件4 了解各種排序&#xff0c;詳見排序專欄 排序算法歷史 縱觀排序算法的歷史&a…

硬件產品經理:從入門到精通(新書發布)

目錄 簡介 新書 框架內容 相關課程 簡介 在完成多款硬件產品從設計到推向市場的過程后。 筆者于2020年開始在產品領域平臺輸出硬件相關的內容。 在這個過程中經常會收到很多讀者的留言&#xff0c;希望能推薦一些硬件相關的書籍或資料。 其實&#xff0c;筆者剛開始做硬…

10. 實現業務功能--退出登錄

目錄 1. 實現 Controller 2. 單體測試 3. 實現前端界面 退出的具體實現邏輯如下&#xff1a; 1. 用戶訪問退出接口 2. 服務器注銷 Session( 在 Controller 中可以直接進行處理 &#xff09; 3. 返回成功或失敗 4. 如果返回成功瀏覽器跳轉到相應頁面 5. 結束 一般來說&#…

使用VS2015打開.pro文件后,編譯報錯

編譯報錯內容&#xff1a; MSB8036 找不到 Windows SDK 版本10.0.18362.0。請安裝所需的版本的 Windows SDK 或者在項目屬性頁中或通過右鍵單擊解決方案并選擇“重定解決方案目標”來更改 SD 方法&#xff1a; 1.右鍵點擊 Solution上&#xff0c;在彈出的框中點擊“Retarget…