資料是表徵客觀事物的可記錄可識別的符號集合。資料是資訊處理的核心基礎。
資料結構有關的基本概念術語:
1.資料 2.資料元素 3.資料物件 4.資料型別 5.資料型別 6.抽象資料型別 7.資料結構
資料結構是指相互之間存在一種或多種特定關係的資料元素集合。它強調的是帶有結構的資料元素的集合,資料元素之間的相互關係,即資料的組織形式。資料的組織方法與效率密切相關,採用不同資料的組織方法其處理效率不同。
資料結構的內容,即資料結構研究範圍:邏輯結構、儲存結構、運算集合。資料結構注重的是資料元素之間的相互關係。
資料元素的相互關係表示為資料元素間的邏輯關係即邏輯結構。資料元素之間存在四種基本的邏輯結構:
1.集合結構 2.線性結構 3.樹形結構 4.圖形結構
資料元素之間關係在計算機中的表示方法分為:
順序映象(順序儲存結構,如陣列,就是一組連續配置的單元);
非順序映象(非順序儲存結構,如鍊表,是一組任意配置的單元,通過指標連線起來,維持邏輯關係)。
一本正經划水總結一下(咳咳)
當需要用乙個形式引數直接改變對應實參的值時,改形式引數應說明為:與實參同型別指標引數。
演算法效能評價指標演算法的執行時間,和占用空間兩個方面,通過引入問題規模,語句頻度等概念,得到演算法時空效能評價指標:演算法的時間複雜度和演算法空間複雜度。
語句頻度是指該語句在乙個演算法中重複執行的次數。
語句頻度針對單條語句,演算法時間複雜度針對一種演算法。
演算法的時間複雜度即漸進時間複雜度,t(n)=o(f(n))它表示隨問題規模n的增大,演算法執行時間的增長率和f(n)的增長率相同。
演算法中所有語句頻度之和即為演算法時間耗費,演算法的時間耗費越大,演算法越複雜!!!
演算法的定義
演算法是解決特定問題求解決步驟的描述,再計算機中表現為指令的有限序列,並且每條指令表示乙個或多個操作。
演算法的特性
輸入、輸出、又窮性、確定性、可行性
輸入:演算法具有零個或多個輸入
輸出:演算法至少有乙個或多個輸出
有窮性:指演算法再執行有限的步驟之後,自動結束而不會出現無心迴圈,並且每乙個步驟再可接受的時間內完成
確定性:演算法的每乙個步驟都具有確定的意義,不會出現二義性
可行性:演算法的每一步都必須是可行的,也就是說,每一步都能通過執行有限次數完成。
大體分為以下四個層次:
1、演算法程式沒有語法錯誤
2、演算法程式對於合法的輸入資料能夠產生滿足要求的輸出結果
3、演算法程式對於非法的輸入資料能夠得出滿足規格說明的結果
4、演算法程式對於精心選擇的,甚至刁難的測試資料都有滿足要求的輸出結果
資料的邏輯結構:線性結構與非線性結構
線性結構:線性表 棧和佇列 串 陣列與廣義表
非線性結構:樹 圖
資料結構 耿國華版(課設5) 折半查詢
1.編寫函式,建立有序表,採用折半查詢實現某一已知的關鍵字的查詢 採用順序表儲存結構 2.編寫函式,隨機產生一組關鍵字,利用二叉排序樹的插入演算法建立二叉排序樹 3.編寫函式,在以上二叉排序樹中刪除某一指定關鍵字元素 4.編寫乙個主函式,在主函式中設計乙個簡單的選單,分別除錯上述演算法 includ...
耿老師講 vi編輯器的使用
vi編輯器的使用 1.vi visual inte ce 文字編輯器 2.系統預設安裝好的 精簡 3.啟動vi 直接在命令列輸入vi即可,在哪個目錄下啟動,預設儲存在哪個目錄下 4.vi啟動後分為3種模式 插入模式 文字的編輯,內容的輸入 命令模式 執行相應的命令 如 查詢,替換,複製,貼上,剪下....
資料結構第1講
1.1 資料結構討論的範疇 資料結構 演算法 程式設計。例如 數值計算的程式設計問題 結構靜力分析計算 線性代數方程組 非數值計算發的程式設計問題 例1 求一組整數中的最大值?例2 計算機對弈 演算法與模型 例3 足協的資料庫管理 演算法 需要管理的專案?如何管理?使用者介面?概況地說,資料結構描述...