python-冒泡排序

冒泡排序 (穩定) O(n^2)
(穩定:表示相等的數,相對位置會不會改變)
冒泡排序(Bubble Sort)是一種簡單的排序算法,它通過多次遍歷待排序的元素,比較相鄰兩個元素的大小并交換它們,從而將最大(或最小)的元素逐步移到最后。以下是 Python 中冒泡排序的實現:
在這里插入圖片描述

代碼示例:

list=[1,4,3,9,8]
for i in range(0,len(list)-1):for j in range(0,len(list)-1-i):if list[j]>list[j+1]:list[j],list[j+1]=list[j+1],list[j]
print(list)

結果顯示:
在這里插入圖片描述

我的理解:
冒泡排序的思想相對簡單,可以通過以下方式進行簡單理解:

  1. 比較相鄰元素: 從數組的第一個元素開始,依次比較相鄰的兩個元素。

  2. 交換元素位置: 如果前面的元素比后面的元素大(升序排序),則交換它們的位置,將較大的元素移到后面。

  3. 遍歷整個數組: 繼續進行上述比較和交換的操作,直到遍歷整個數組。

  4. 一輪完成: 這樣一輪的操作之后,數組中最大的元素已經被移到了最后。

  5. 重復操作: 重復上述步驟,每一輪都將數組中當前未排序的最大元素移到了正確的位置。

  6. 排序完成: 當數組中不再存在需要交換的元素時,排序完成。

示例理解:

考慮數組 [64, 34, 25, 12, 22, 11, 90]

  • 第一輪:

    • 比較并交換 64 和 34,得到 [34, 64, 25, 12, 22, 11, 90]
    • 比較并交換 64 和 25,得到 [34, 25, 64, 12, 22, 11, 90]
    • 比較并交換 11 和 90,得到 [34, 25, 12, 22, 11, 64, 90]
  • 第二輪:

    • 比較并交換 11 和 64,得到 [34, 25, 12, 22, 11, 64, 90]
  • 第三輪:

    • 比較并交換 11 和 34,得到 [25, 12, 22, 11, 34, 64, 90]
  • 以此類推,最終得到有序數組 [11, 12, 22, 25, 34, 64, 90]

雖然冒泡排序的性能相對較低,但通過上述簡單的比較和交換操作,我們可以將較大的元素逐步“浮”到數組的末尾,從而實現排序。

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

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

相關文章

Kafka 常用功能總結(不斷更新中....)

kafka 用途 業務中我們經常用來兩個方面 1.發送消息 2.發送日志記錄 kafka 結構組成 broker:可以理解成一個單獨的服務器,所有的東西都歸屬到broker中 partation:為了增加并發度而做的拆分,相當于把broker拆分成不同的小塊&…

黨建信息管理系統源碼 支持在線交黨費 附帶完整的搭建教程

傳統的黨建管理模式通常采用手工方式,不僅效率低下,而且容易出錯。隨著組織規模的擴大和黨員數量的增加,這種管理方式已經無法滿足現實需求。此外,傳統的黨建管理模式缺乏在線交黨費功能,給黨員帶來不便。因此&#xf…

Kubernetes 離線部署 Spinnaker

離線部署 Spinnaker 離線部署 spinnaker 需要提前準備以下依賴項 halyard 安裝工具:該hal命令的apt源地址https://us-apt.pkg.dev/projects/spinnaker-community位于國外halyard boms物料清單:Spinnaker 將其halyard boms配置存儲在公共谷歌云存儲 ( g…

Divisibility Trick

Dmitry最近學會了一個簡單的規則來檢查一個整數是否可以被3整除。如果一個整數的位數之和可以被3整除,那么它就可以被3所整除。 后來他還了解到,同樣的規則也可以用來檢查一個整數是否可以被9整除。如果一個整數的位數之和可以被9整除,那么它…

如何在 Web 應用程序中查找端點?

如何在 Web 應用程序中查找端點? 這篇文章主要講述了如何在網絡應用中找到端點。以下是文章的主要要點: 端點是網絡服務的訪問地址,通過引用這個URL,客戶可以訪問服務提供的操作。端點提供了尋址Web服務端點所需的信息。 HTTP消息是服務器和客戶端之間交換數據的方式,包…

Anaconda深度學習環境配置命令參考

提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔 Anaconda深度學習環境配置 Anaconda 管理1. 檢查 Anaconda 版本2. 獲取版本號3. 列出所有的虛擬環境4. 查看環境管理的全部命令幫助5. conda升級6. conda升級后釋放空間 Anac…

2024免費MacBook清理工具CleanMyMac X4.15

CleanMyMac X 是一款專業的Mac清理軟件,可智能清理mac磁盤垃圾和多余語言安裝包,快速釋放電腦內存,輕松管理和升級 Mac 上的應用。同時 CleanMyMac X 可以強力卸載惡意軟件,修復系統漏洞,一鍵掃描和優化 Mac 系統&…

競賽知識點12【樹狀數組】

文章目錄 1、思路引入2、求lowbit(n)3、對某個元素進行加法操作(單點更新)4、查詢前綴和5、統計A[x]~A[y] 的值1、思路引入 如果線段樹每個節點維護的是對應區間的和,比如說計算從 s s s 到 t t t 的和 ( a s + … + a t ) (a_s+…+a_t) (as?+…+at?),在基于線段樹的實…

【ChatGLM3-6B】Docker下部署及微調

【ChatGLM2-6B】小白入門及Docker下部署 注意:Docker基于鏡像中網盤上上傳的有已經做好的鏡像,想要便捷使用的可以直接從Docker基于鏡像安裝看Docker從0安裝前提下載啟動訪問 Docker基于鏡像安裝容器打包操作(生成鏡像時使用的命令&#xff0…

Nginx常用負載均衡策略

Nginx常用負載均衡策略 輪詢(默認) 注意:這里的輪詢并不是每個請求輪流分配到不同的后端服務器,與ip_hash類似,但是按照訪問url的hash結果來分配請求,使得每個url定向到同一個后端服務器,主要…

什么手機30萬?VERTU唐卡手機頂配56.8萬

近日,一則新聞在社交媒體上引發了廣泛關注。一名男子遺失了一部價值30萬的VERTU唐卡定制款手機,而一位女士在撿到這部手機后,誤以為是一部普通的老年機,引發了種種誤會。30萬的手機是什么牌子?VERTU唐卡手機浮出水面 據了解,這部VERTU唐卡定制款手機是一款豪華的奢侈品定制手機…

2-Python與設計模式--前言

0-Python與設計模式–前言 一 什么是設計模式 設計模式是面對各種問題進行提煉和抽象而形成的解決方案。這些設計方案是前人不斷試驗, 考慮了封裝性、復用性、效率、可修改、可移植等各種因素的高度總結。它不限于一種特定的語言, 它是一種解決問題的思…

GoogleNet詳解

一、亮點 AlexNet、VGG都只有一個輸出層。googlenet有三個(其中兩個是輔助分類層) 二、先看看Inception結構 1、Inception 之前的網絡: AlexNet、VGG都是串行結構 Inception: 并行結構 上一層的輸出同時傳入四個并行結構&…

有了傾斜攝影,如何搭建一座智慧城市?

隨著無人機航測、傾斜攝影等全新一代測繪信息技術方法的發展,可以迅速搜集制作精細化的城市三維模型,搭建城市地理信息基礎服務架構。 近期都在重點關注的“智慧城市”究竟是什么,有什么重大作用,同時又面臨著什么難關&#xff0c…

短劇付費變現小程序源碼系統+開通會員+在線充值 附帶完整的搭建教程

大家好啊,今天小編來給大家分享一款短劇付費變現小程序源碼系統。近年來,隨著互聯網技術的飛速發展,短劇成為了一個備受矚目的領域。短劇以其簡潔、緊湊的故事情節和制作周期短、傳播速度快的特點,成為了越來越多人的選擇。然而&a…

小紅書達人類型特點有哪些,創作形式總結!

小紅書自帶的社交電商屬性,吸引了眾多優秀的內容創作者和品牌達人。他們以不同的風格和主題,贏得了粉絲們的喜愛和關注。今天為大家分享下小紅書達人類型特點有哪些,創作形式總結! 1. 內容創作風格 我們從內容上來區分小紅書達人類…

微信小程序開發學習——小程序基本架構

1.創建一個包含:首頁、咨詢、關于我們 3個標簽的小程序,每個標簽都有對應的頁面、圖標和標簽文字。 知識點:app.json文件對小程序進行全局配置,同名.json文件對本窗口進行配置 app.json屬性: pages用于指定小程序由哪…

設計模式之建造者(Builder)模式

目錄 1、什么是建造者Builder模式? 2、建造者Builder模式的利與弊 3、建造者Builder模式的應用場景 4、建造者模式中的指導者(Director)有什么作用? 5、建造者Builder模式與其他模式的關系 小結 1、什么是建造者Builder模式…

百分點科技入選《2023年央國企數字化升級研究報告》

近日,艾瑞咨詢發布了《2023年央國企數字化升級研究報告》,報告總結了央國企數字化升級的方向和特點,并重點研究了基礎平臺及關鍵技術工具、通用及綜合型應用、重要配套建設等方面。報告指出,數據治理是央國企數字化升級過程中的重…

【鴻蒙應用ArkTS開發系列】- 云開發入門實戰二 實現省市地區三級聯動地址選擇器組件(上)

目錄 概述 云數據庫開發 一、創建云數據庫的對象類型。 二、預置數據(為對象類型添加數據條目)。 三、部署云數據庫 云函數實現業務邏輯 一、創建云函數 二、云函數目錄講解 三、創建resources目錄 四、獲取云端憑據 五、導出之前創建的元數據…