回覆列表
  • 1 # 凌晨三點的燈

    順序佇列的"假上溢"現象:由於頭尾指標不斷前移,超出向量空間。這時整個向量空間及佇列是空的卻產生了"上溢"現象。 為了克服"假上溢"現象引入迴圈向量的概念,是把向量空間形成一個頭尾相接的環形,這時佇列稱迴圈佇列。 判定迴圈佇列是空還是滿,方法有三種: ·一種是另設一個布林變數來判斷; ·第二種是少用一個元素空間,入隊時先測試((rear+1)%m = front)? 滿:空; ·第三種就是用一個計數器記錄佇列中的元素的總數。 資料結構的定義:·邏輯結構:從邏輯結構上描述資料,獨立於計算機。·線性結構:一對一關係。 ·線性結構:多對多關係。 ·儲存結構:是邏輯結構用計算機語言的實現。·順序儲存結構:如陣列。 ·鏈式儲存結構:如連結串列。 ·索引儲存結構:·稠密索引:每個結點都有索引項。 ·稀疏索引:每組結點都有索引項。 ·雜湊儲存結構:如散列表。 ·資料運算。·對資料的操作。定義在邏輯結構上,每種邏輯結構都有一個運算集合。 ·常用的有:檢索、插入、刪除、更新、排序。 ************************************************************************ 資料型別:是一個值的集合以及在這些值上定義的一組操作的總稱。·原子型別:由語言提供。 ·結構型別:由使用者藉助於描述機制定義,是匯出型別。 抽象資料型別ADT:·是抽象資料的組織和與之的操作。相當於在概念層上描述問題。 ·優點是將資料和操作封裝在一起實現了資訊隱藏。 ************************************************************************ 程式設計的實質是對實際問題選擇一種好的資料結構,設計一個好的演算法。演算法取決於資料結構。 ************************************************************************ 演算法是一個良定義的計算過程,以一個或多個值輸入,並以一個或多個值輸出。 評價演算法的好壞的因素:·演算法是正確的; ·執行演算法的時間; ·執行演算法的儲存空間(主要是輔助儲存空間); ·演算法易於理解、編碼、除錯。 ************************************************************************ 時間複雜度:是某個演算法的時間耗費,它是該演算法所求解問題規模n的函式。 漸近時間複雜度:是指當問題規模趨向無窮大時,該演算法時間複雜度的數量級。 評價一個演算法的時間效能時,主要標準就是演算法的漸近時間複雜度。 演算法中語句的頻度不僅與問題規模有關,還與輸入例項中各元素的取值相關。 時間複雜度按數量級遞增排列依次為:常數階O(1)、對數階O(log2n)、線性階O(n)、線性對數階O(nlog2n)、平方階O(n^2)、立方階O (n^3)、……k次方階O(n^k)、指數階O(2^n)。 空間複雜度:是某個演算法的空間耗費,它是該演算法所求解問題規模n的函式。 演算法的時間複雜度和空間複雜度合稱演算法複雜度。

  • 中秋節和大豐收的關聯?
  • 二戰後,雅爾塔會議放棄分割德國,為何德國還是被分裂40餘年?