資料結構和演算法 Day 3

2021-08-07 10:05:44 字數 570 閱讀 1282

演算法效率的度量方法:

1)事後統計法:這種方法主要是通過設計好的測試程式和資料,利用計算機計時器對不同演算法編制的程式的執行時間進行比較,從而確定演算法效率的高低。

2)事前分析估算法:在電腦程式編寫前,依據統計方法對演算法進行估算。

影響高階語言程式執行時間的因素:

1)演算法採用的策略,方案

2)編譯產生的**質量

3)問題的輸入規模

4)機器執行指令的速度

由此可見,拋開與計算機軟硬體有關的因素(因素2和因素4),乙個程式執行時間依賴於演算法的好壞和問題的輸入規模(因素1和因素3)

我們研究演算法的複雜度,側重的是研究演算法隨著輸入規模擴大增長量的乙個抽象,而不是精確的定位需要執行多少次。

在分析乙個演算法的執行時間時,重要的是把基本操作的數量和輸入模式關聯起來。

函式的漸進增長:給定兩個函式f(n)和g(n),如果存在乙個整數n,使得對於所有的n>n,f(n)總是比g(n)大,那麼我們說f(n)的增長漸進快於g(n)。

判斷乙個演算法的效率時,函式中的常數和其他次項以及主項的係數常常可以忽略,而更應該關注主項(最高次項)的階數。

資料結構和演算法 排序演算法day3

桶排序原理 將陣列分到有限數量的桶裡。每個桶再個別排序 有可能再使用別的排序演算法或是以遞迴方式繼續使用桶排序進行排序 最後依次把各個桶中的記錄列出來記得到有序序列。桶排序是鴿巢排序的一種歸納結果。桶排序適合用在外部排序,例如資料量較大記憶體中放不下就可以,用到桶排序。按照資料特徵將資料分為m個有順...

《大話資料結構》筆記 day3

獲得鍊錶的第i個資料的思路 宣告乙個結點 p 指向鍊錶第乙個結點,初始化 j 從 1 開始 當j i 時,就遍歷鍊錶,讓p的指標向後移動,不斷指向下一結點,j 累加 1 若到鍊錶末尾 p 為空,則說明第 i 個元素不存在 否則查詢成功,返回結點 p 的資料 核心思想 工作指標後移 插入 s next...

資料結構學習筆記day3

1.3 抽象資料型別的表示與實現 抽象資料型別可通過固有資料型別來表示和實現,即利用處理器中已存在的資料型別來說明新的結構,用已經實現的操作來組合新的操作。1 預定義常量和型別 函式結果狀態 define true 1 define false 0 define ok 1 define error ...