演算法是有輸入輸出的計算過程。
解決當前未能解決的問題
為當前已經解決的問題提供更好的解決方案
速率,解決同樣的事情所需要的時間。
給出現實生活中需要排序的乙個例子或者現實說中需要計算凸殼的乙個例子?拍照時,需要按照身高排序;
除速度外,在真實環境中還有可能使用哪些其他有關效率的度量?空間、資源等
選擇一種你以前已知的資料結構,並討論其優勢和侷限?陣列
優勢:記憶體占用少
按照索引查詢元素速度快
資料可隨機訪問
侷限:大小確定
只能儲存一種資料
操作效率低
需要開發者自定義相關操作方法
演算法導論11(雜湊表)
11.1 直接定址表 struct node node directaddresssearch node t,int k void directaddressinsert node t,node x void directaddressdelete node t,node x 11.2 雜湊表 通過...
演算法導論程式11 堆排序演算法(Python)
堆排序演算法 def heapsort self,a 開始的時候,利用build max heap將輸入陣列a建成最大堆。因為陣列中的最大元素總在根結點a 0 中。通過把它與a len a 1 交換。可以讓元素a 0 放到正確的位置。這個時候,我們從堆中去掉a中的最後乙個結點。即heap size ...
演算法導論 第一章 1 1 演算法 排序
演算法導論 第一章 1.1演算法 排序 演算法的定義 演算法的形式定義可以看作是任意乙個良定義 該定義是可行的 的計算過程,它以乙個或一些值作為輸入,並產生乙個或一組值作為輸出。因而,乙個演算法也就是一系列的將輸入轉換為輸出的計算步驟。第乙個事例 插入排序 這種演算法對少量的元素進行排序較為有效。插...