一些基本概念的表述:
演算法:演算法是指解決特定問題求解步驟的描述,在計算機中表現為指令有限序列,並且每條指令表述乙個或者多個操作。
演算法的基本特徵:輸入、輸出、有窮性、確定性和可行性
輸入:演算法有零個或者多個輸入
輸出:演算法具有乙個都多個輸出,輸出表現形式為列印輸出或者返回乙個或者多個值
有窮性:演算法在執行有限的步驟之後,自動結束而不出現無限迴圈,並且每一步在可接受的時間範圍內
確定性:演算法的每一步都具有確定的含義,不會出現二義性
可行性:演算法的每一步必須是可行的,每一步能夠通過執行有限次數完成。
演算法設計的要求:正確性、可讀性、健壯性、時間效率高和儲存量低
正確性:演算法至少應該具有輸入、輸出和加工處理無歧義性、能正確反映問題的需求、能夠找到問題的正確答案
健壯性:輸入不合法時也能做出相應的處理,而不是產生異常或者莫名奇妙的結果
時間效率高和儲存量低:
演算法效率的度量方法:事後統計方法和事前分析估計方法
演算法複雜度:語句總的執行次數t(n)是關於問題規模n的函式,進而分析t(n)隨n的變化情況並確定t(n)的數量級。演算法的時間複雜度,也就是演算法的時間度量,記作:t(n)=o(f(n))。這樣稱之為大o記法。常見的有o(1)叫常數階、o(n)叫線性階、o(n²)叫平方階。
常數階 o(1)<對數階o(log2n)<線性階 o(n)<線性對數階o(nlog2n)<平方階 o(n2)<立方階 o(n3)<…<k次方階 o(nk)<指數階o(2n)
資料結構概念篇
資料 是描述客觀事物的符號,是計算機中科可以操作的物件,是能被計算機識別,並輸入給計算機處理的符號集合。資料項 乙個資料元素可以由若干個資料項組成。資料物件 是性質相同的資料元素的集合,是資料的子集。資料結構 是相互之間存在一種或多種特定關係的資料元素的集合。邏輯結構 是指資料物件中資料元素之間的相...
資料結構 入門篇
前言 在學習過c語言後,我們知道 程式設計 資料結構 演算法,因此對於學資料結構的人來說 首先必須了解資料結構本質,才能在後續的學習中充分理解。到底什麼是資料結構呢?資料結構 是相互之間存在一種或多種特定關係的資料元素的集合 1.資料物件在計算機中的組織方式 a.邏輯結構 是指資料物件中資料元素之間...
資料結構與演算法 基礎概念篇
我們都知道 程式設計 資料結構 演算法 首先我們先來認識資料結構和演算法的基本概念。相關概念 資料 是描述客觀事物的符號,是計算機中能夠操作的物件,能夠被計算機所識別 並輸入給計算機處理的符號集合。資料元素 是組成資料,有一定意義的基本單位,在計算機中常被作為整體處理,也被稱之為記錄。資料項 乙個資...