什麼是演算法?
在計算機領域裡,演算法是一系列程式指令,用於處理特定運算和邏輯問題。衡量演算法優劣的主要標準是時間複雜度和空間複雜度
什麼是資料結構?
資料結構,即 data structure。是資料的組織、管理和儲存格式。其使用的目的是高效地訪問和修改資料。
資料結構的組成方式?
線性結構。陣列、鍊錶、棧、佇列、雜湊表
樹。二叉樹、二叉堆
圖。什麼是時間複雜度?
乙個演算法執行時間長短的量度。時間複雜度就是把程式的相對執行時間函式t(n)簡化為乙個數量級,這個數量級可以是n、n^2、n^3
演算法a t(n) = 100n 時間複雜度是 o(n)
演算法b t(n) = 5n^2 時間複雜度是 o(n^2)
演算法a執行在a機器上,演算法b執行在b機器上,a、b機器效能一致的情況下,剛開始演算法a執行時長要大於演算法b,隨著n的增大,執行時長接近,隨著n越來越大,演算法a的優勢就顯現出來,演算法b則越來越慢,差距越來越明顯。這就是不同時間複雜度帶來的差距。
什麼是空間複雜度?
乙個演算法在執行過程中臨時占用儲存空間大小的量度
執行時長的長短和占用記憶體空間的大小是衡量程式好壞的重要因素
為什麼要計算時間複雜度和空間複雜度呢?
我們也要精打細算的過日子啊。。計算機的運算速度和空間資源是有限的
但是,魚和熊掌不可兼得。我們需要在時間和空間做出取捨。要麼犧牲時間換取空間,要麼犧牲空間換取時間。大多數情況下,時間複雜度更重要,我們寧可多分配一些記憶體空間,也要提公升程式的執行速度。
資料結構和演算法概述
資料結構是對在計算機記憶體 有時在磁碟中 中的資料的一種安排。資料結構包括陣列,鍊錶,棧,二叉樹,雜湊表等。演算法是對這些結構中的資料進行各種處理。對於大多數資料結構來說,都需要知道如下操作 1.插入一條新的資料項 2.尋找某一特定資料項 3.刪除某一特定資料項 4.迭代訪問某一資料結構中的各資料項...
資料結構和演算法概述
1.什麼是資料結構,什麼是演算法 資料結構指一組資料的儲存結構。演算法就是運算元據的一組方法。2.常用的資料結構 陣列 鍊錶 棧 佇列 雜湊表 二叉樹 堆 跳表 圖 trie 樹。3.常用的演算法 遞迴 排序 二分查詢 搜尋 雜湊演算法 貪心演算法 分治演算法 回溯演算法 動態規劃 字串匹配演算法 ...
資料結構和演算法概述
資料結構 data structure 是帶有結構特性的資料元素的組合。它研究的是資料的邏輯結構和資料的物理結構以及它們之間的相互關係,並對這種結構定義相適應的運算,設計出相應的演算法,並確保經過這些運算以後所得到的新結構仍保持原來的資料型別。簡而言之,資料結構是相互之間存在一種或多種特定關係的資料...