資料結構的研究內容
計算機處理問題一般有三個步驟:1.具體問題抽象問數學模型。2.設計演算法。3.編寫程式,除錯,直到解決問題。其中的第乙個步驟,首先要分析問題,提取操作物件,然後找出操作物件之間的關係,最後用數學語言對操作物件和操作物件之間的關係進行描述。這也就是我們所說的資料結構。
例題1學生學籍管理系統
諸如此類的線性**結構,計算機處理的物件是各種表,元素之間存在簡單一對一的線性關係,這類問題的數學模型就是線性表,施加於物件上的操作有查詢,插入和刪除。這類數學模型稱為「線性」的資料結構。
例題3人機對弈問題,由圖可見,每下一步棋就會構成乙個新的棋盤格局,且對於上乙個棋盤可能選擇有很多種形式。因此整個對局過程就像是「乙個倒長的樹」,在這個樹上,從初始狀態(根)到某一最終格局(葉子)的一條路徑,就是乙個具體的對弈過程。
人機對弈的數學模型就是如何用樹結構表示棋盤和棋子,演算法就是規則和策略。,諸如此類還有計算機的檔案系統等。在這類問題中見算計處理的是樹結構,元素的對應關係是一對多的層次關係。施加於物件上的操作有查詢,插入和刪除。這類數學模型稱為「樹」的資料結構
例題3最短路徑問題
最短路徑問題的數學模型就是圖結構,演算法是求解兩點之間的最短路徑。諸如此類的圖結構還有網路工程圖等,在這類問題中,元素之間是多對多的網路關係,施加於物件上的操作有查詢,插入和刪除。這類數學模型稱為「圖的資料結構」。
文章借鑑:《資料結構》(c語言版)(第二版)人民郵電出版社;青島大學–王卓老師
資料結構基礎知識
時間複雜度和空間複雜度 同一問題可用不同演算法解決,而乙個演算法的質量優劣將影響到演算法乃至程式的效率。演算法分析的目的在於選擇合適演算法和改進演算法。乙個演算法的評價主要從時間複雜度和空間複雜度來考慮。1 時間複雜度 1 時間頻度 乙個演算法執行所耗費的時間,從理論上是不能算出來的,必須上機執行測...
資料結構基礎知識
一種資料的邏輯結根據需要可以表示成多種儲存結構,常用的儲存結構有順序儲存 鏈結儲存 索引儲存等,採用不同的資料結構,其資料處理的效率是不同的。線性表是一種常用的資料結構。在實際應用中,線性表都是以棧 佇列 字串 陣列等特殊線性表的形式來使用的。線性表是一種線性結構。線性表有順序儲存結構和鏈式儲存結構...
資料結構基礎知識
簡單的說,資料結構是一門研究非數值計算的程式設計問題中計算機的操作物件以及它們之間的關係和操作等的學科。描述一類非數值計算問題的數學模型不再是數學方程,而是諸如表 樹和圖之類的資料結構。資料結構 的研究不僅涉及到計算機硬體 特別是編碼理論 儲存裝置和訪問方法等 的研究範圍,而且和計算機軟體的研究有著...