一。邏輯結構:
是指資料物件中資料 素之間的相互關係。 其實這也是我 今後最需
要關注的問題
邏輯結構分為以 四種
1. 集合結構 2.線性結構 3.數形結構 4,圖形結構
二。物理結構:
1,順序儲存結,2
2. 鏈式儲存結構
一,時間複雜度t
1. 用常數 取代執行時時中的所有加法常數
2.在修改後的執行次中,只保留最高端項
3. 如果最高端項存在且不是 ,則去除與這個項相乘的常敢 n n方
常數階,線性階, 對數階,平方階, nlogn階, 立方階,指數階
對演算法的分析
一種方法是計算所有情況的平均值,這種時間複雜度 計算方法 稱為平均時間複雜度
另一種方法是計算最壞情況下的時間複雜度,這種方法 稱為最壞時間複雜度。
一般在沒有特殊說明的情況下,都是指最壞時間複雜度。
二,空間複雜度s
一般情況下, 個程式在機器上執行時,除了需要儲存程式本身的指令、常數、變數和輸入資料外, 還需要儲存 對資料操作的儲存單元,
若輸入資料所佔空間只取決於問題 身,和演算法無關,這樣只需要分析該演算法在實現時所需的 助單元即可。
若演算法執行時所簾的輔助空間相對於輸入資料量而言是個常數,則稱此演算法為原地工作,空間複雜度為 0(1)
資料結構基礎知識
時間複雜度和空間複雜度 同一問題可用不同演算法解決,而乙個演算法的質量優劣將影響到演算法乃至程式的效率。演算法分析的目的在於選擇合適演算法和改進演算法。乙個演算法的評價主要從時間複雜度和空間複雜度來考慮。1 時間複雜度 1 時間頻度 乙個演算法執行所耗費的時間,從理論上是不能算出來的,必須上機執行測...
資料結構基礎知識
一種資料的邏輯結根據需要可以表示成多種儲存結構,常用的儲存結構有順序儲存 鏈結儲存 索引儲存等,採用不同的資料結構,其資料處理的效率是不同的。線性表是一種常用的資料結構。在實際應用中,線性表都是以棧 佇列 字串 陣列等特殊線性表的形式來使用的。線性表是一種線性結構。線性表有順序儲存結構和鏈式儲存結構...
資料結構基礎知識
簡單的說,資料結構是一門研究非數值計算的程式設計問題中計算機的操作物件以及它們之間的關係和操作等的學科。描述一類非數值計算問題的數學模型不再是數學方程,而是諸如表 樹和圖之類的資料結構。資料結構 的研究不僅涉及到計算機硬體 特別是編碼理論 儲存裝置和訪問方法等 的研究範圍,而且和計算機軟體的研究有著...