資料結構和演算法 Day 2

2021-08-07 10:04:38 字數 570 閱讀 7273

演算法的五個基本特徵:輸入、輸出、有窮性、確定性、可行性。

1)輸入:演算法具有零個或多個輸入。

2)輸出:演算法至少有乙個或多個輸出。

3)有窮性:指演算法在執行有限的步驟之後,自動結束而不會出現無限迴圈。

4)確定性:演算法的每乙個步驟都具有確定的含義,不會出現二義性。

5)可行性:演算法的每一步都必須是可行的,也就是說,每一步都能夠通過執行有

限次數完成。

演算法的設計要求:

1)正確性:演算法的正確性是指演算法至少應該具有輸入、輸出和加工處理無歧義性、能正確反映問題的需求,能夠得到問題的正確答案。

正確性分為四個層次:a.演算法程式沒有語法錯誤  

b.演算法程式對於合法輸入能夠產生滿足要求的輸出

c.演算法程式對於非法輸入能夠產生滿足規格的說明 

d.演算法程式對於故意刁難的測試輸入都有滿足要求的

輸出結果

2)可讀性:演算法設計另一目的是為了便於閱讀、理解和交流。

3)健壯性:當輸入資料不合法時,演算法也能做出相關處理,而不是產生異常,崩

潰或莫名其妙的結果。

4)時間效率高和儲存量低

資料結構知識複習 day2

之前的博文中介紹了如何使用動態陣列來實現乙個簡單的佇列,而本文中簡要介紹一下如何使用標準c來實現乙個在記憶體中物理位置不連續的鍊錶。以下分別是link.h以及link.c檔案原始碼 ifndef linked h struct node typedef struct node position ty...

演算法與資料結構 刷題日記day2

拓撲序列,參考 拓撲序列 一棵二叉樹共有 25 個結點,其中 5 個是葉子結點,則度為 1 的結點數為?在任意一棵二叉樹中,度為 0 的葉子結點總是比度為 2 的結點多乙個。證明 一棵樹的節點數n 度為0的節點數n 0 度為1的節點數n 1 度為2的節點數n 2,即 n n 0 n1 n 2n n ...

資料結構day2 堆與優先佇列

1.堆的簡介 堆是用完全二叉樹實現的,用於按某種優先順序存放資料 最大值堆 每個結點的值大於或者等於其所有子結點的值 最小值堆 每個結點的值都小於或者等於其所有子結點的值 值得一提的是,堆結構中,任意兩個兄弟結點之間的大小並沒有必然聯絡。因此,對於給定的一組資料,堆並不是唯一的。2.例項 最大值堆的...