模型抽象
建立演算法
解決演算法
資料:資料元素:資料基本單位
資料項:資料不可分割最小單位
資料物件:性質相同/型別相同的資料元素的集合
資料結構:相互之間有一種多種特定關係的資料元素的集合
四類基本結構:集合、線性結構、樹形結構、圖狀結構
邏輯結構:線性結構-線性表、棧、佇列、陣列、廣義表、字串
非線性介面-樹二叉樹、圖
資料的儲存結構:
資料型別:
抽象資料型別:
演算法的五個特性:有窮性、確定性、可行性、輸入、輸出
演算法的設計要求:正確性、可讀性、健壯性、高效和低儲存
演算法時間複雜度:o(1)2n)2n)2)3)n)
插入新元素後,新元素後面的向後移動。
移動元素的期望是n/2
刪除元素的移動次數期望值是(n-1)/2
優點:是一種隨機訪問結構,訪問任何元素的時間是乙個常數,速度快
結構簡單,邏輯上相鄰的元素物理上也相鄰
不需要使用指標,節省儲存空間
缺點:插入和刪除要移動大量元素,消耗大量時間。
需要連續的儲存空間
插入元素可能溢位
自由區中的儲存空間不能被其他資料占用,存在浪費空間問題
不帶表頭單鏈表:
帶表頭單鏈表:
華中科技大學 找位置
題目描述 對給定的乙個字串,找出有重複的字元,並給出其位置,如 abcaaab12ab12 輸出 a,1 a,4 a,5 a,10,b,2 b,11,1,8 1,12,2,9 2,13。輸入描述 輸入包括乙個由字母和數字組成的字串,其長度不超過100。輸出描述 可能有多組測試資料,對於每組資料,按照...
華中科技大學複試 對稱矩陣
題目描述 輸入乙個n維矩陣,判斷是否對稱。輸入描述 輸入第一行包括乙個數 n 1 n 100 表示矩陣的維數。接下來的n行,每行包括n個數,表示n n矩陣的元素。輸出描述 可能有多組測試資料,對於每組資料,輸出 yes 表示矩陣為對稱矩陣。輸出 no 表示矩陣不是對稱矩陣。示例輸入4 16 19 1...
華中科技大學複試 找位置
題目描述 對給定的乙個字串,找出有重複的字元,並給出其位置,如 abcaaab12ab12 輸出 a,1 a,4 a,5 a,10,b,2 b,11,1,8 1,12,2,9 2,13。輸入描述 輸入包括乙個由字母和數字組成的字串,其長度不超過100。輸出描述 可能有多組測試資料,對於每組資料,按照...