目錄
堆排序演算法原理
Python實作堆排序演算法
首頁 後端開發 Python教學 Python中實作堆排序演算法的概念及程式碼

Python中實作堆排序演算法的概念及程式碼

Jan 22, 2024 pm 07:39 PM
演算法的概念

堆排序算法概念 Python实现堆排序算法

了解堆排序演算法的前提是要知道完全二元樹和堆資料結構。堆排序演算法是將陣列視覺化為完全二元樹,因此也稱為「堆」。

堆排序演算法原理

1、根據最大堆屬性,資料組中最大的項目儲存在根節點

2、去掉根元素,放到陣列的最後(第n個位置),把樹的最後一項,放到空缺的地方。

3、將堆的大小減少1。

4、再次堆化根元素

5、重複這個過程,直到清單中的所有項目都被排序

Python實作堆排序演算法

指定数组arr= 1 12 9 5 6 10

def heapify(arr, n, i):
      largest = i
      l = 2 * i + 1
      r = 2 * i + 2
  
      if l < n and arr[i] < arr[l]:
          largest = l
  
      if r < n and arr[largest] < arr[r]:
          largest = r
  
heapifying
      if largest != i:
          arr[i], arr[largest] = arr[largest], arr[i]
          heapify(arr, n, largest)
  
def heapSort(arr):
      n = len(arr)
  
      for i in range(n//2, -1, -1):
          heapify(arr, n, i)
  
      for i in range(n-1, 0, -1):
          arr[i], arr[0] = arr[0], arr[i]
  
          heapify(arr, i, 0)
  
  arr = [1, 12, 9, 5, 6, 10]
  heapSort(arr)
  n = len(arr)
  print("Sorted array is")
  for i in range(n):
      print("%d " % arr[i], end=&#x27;&#x27;)
登入後複製

以上是Python中實作堆排序演算法的概念及程式碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

深入剖析灰狼優化演算法(GWO)及其優點與弱點 深入剖析灰狼優化演算法(GWO)及其優點與弱點 Jan 19, 2024 pm 07:48 PM

深入剖析灰狼優化演算法(GWO)及其優點與弱點

解析麻雀搜尋演算法(SSA)的原理、模型與構成 解析麻雀搜尋演算法(SSA)的原理、模型與構成 Jan 19, 2024 pm 10:27 PM

解析麻雀搜尋演算法(SSA)的原理、模型與構成

探究嵌套採樣演算法的基本原理與實作流程 探究嵌套採樣演算法的基本原理與實作流程 Jan 22, 2024 pm 09:51 PM

探究嵌套採樣演算法的基本原理與實作流程

資訊增益在id3演算法中的作用是什麼 資訊增益在id3演算法中的作用是什麼 Jan 23, 2024 pm 11:27 PM

資訊增益在id3演算法中的作用是什麼

鯨魚最佳化演算法 (WOA) 的數值最佳化原理與分析 鯨魚最佳化演算法 (WOA) 的數值最佳化原理與分析 Jan 19, 2024 pm 07:27 PM

鯨魚最佳化演算法 (WOA) 的數值最佳化原理與分析

尺度轉換不變特徵(SIFT)演算法 尺度轉換不變特徵(SIFT)演算法 Jan 22, 2024 pm 05:09 PM

尺度轉換不變特徵(SIFT)演算法

Wu-Manber演算法簡介及Python實作說明 Wu-Manber演算法簡介及Python實作說明 Jan 23, 2024 pm 07:03 PM

Wu-Manber演算法簡介及Python實作說明

深入探索貝葉斯方法和貝葉斯網路的概念 深入探索貝葉斯方法和貝葉斯網路的概念 Jan 24, 2024 pm 01:06 PM

深入探索貝葉斯方法和貝葉斯網路的概念

See all articles