主要內容:什麼是資料結構,什麼是演算法,最大子串行和,時間複雜度,空間複雜度
解決問題的效率與什麼有關?
解決問題的效率與資料組織的方式是相關的(查詢和新增圖書的效率與擺放圖書的方式有關)
解決問題的效率與空間利用效率是有關的 (遞迴與非遞迴的比較)
與演算法的巧妙程度有關 (多項式求和有兩種演算法可以實現 但剝皮演算法比直接計算更為巧妙 則第二種更快)
資料型別的定義:
資料型別
在資料結構
中的定義是乙個值的集合以及定義在這個值集上的一組操作。
什麼是演算法?(演算法的要素)
乙個有限指令集
接受一些輸入(有些情況下不需要輸入)
產生輸出
一定在有限步驟之後終止
每一條指令必須
有充分明確的目標,不可以有歧義
計算機能處理的範圍之內
描述應不依賴於任何一種計算機語言以及具體的實現手段
空間複雜度--根據演算法寫成的程式在執行時占用儲存單元的長度。這個長度往往與輸入資料的規模有關。
空間複雜度過高的演算法可能導致使用的記憶體超限,造成程式非正常中斷。
時間複雜度--根據演算法寫成的程式在執行時耗費時間的長度。這個長度往往也與輸入資料
的規模有關。時間複雜度過高的低效演算法可能導致很長時間都沒有結果。
在分析一
一是 最壞情況複雜度
二是 平均複雜度
一般分析時喜歡分析最壞情況複雜度。
求最大子列和
演算法複雜度比較
乙個專業的程式設計師一旦看到n次方的時間複雜度的演算法時,本能的反應就是能不能將之化為nlogn。演算法效率會提高非常多
複雜度分析小竅門:
大話資料結構 第一章 簡介
基本觀念和術語 資料 是描述客觀事物的符號,是計算機中可以操作的物件,是能被計算機識別,並輸入給計算機處理的符號集合。資料元素 是組成資料的 有一定意義的基本單位,在計算機中通常作為整體處理。也被稱為記錄。資料項 乙個資料元素可以由若干個資料項組成。資料項是資料不可分割的最小單位。資料物件 是性質相...
資料結構第一章
1.程式設計的實質 資料表示和資料處理。資料表示的核心是資料結構,資料處理的核心是演算法。資料結構 演算法 程式 2.資料是資訊的載體,在電腦科學中是指所以所有能 輸入到計算機中並能被識別電腦程式和處理的符號集合。資料的分類 一是整體,實數等數值資料 二是文字,聲音,圖形和影象等非數值資料。資料元素...
資料結構第一章
資料結構第一章 1.1廣播方式傳送檔案 傳送機傳送一次,所有都可接收。優 程式設計容易 傳送速度快 卻 容易丟包 1.2單播方式傳送 一次乙個 1.3改進方式 多級單播傳輸 類傳銷方式 順序儲存 陣列 鏈式 鍊錶 雜湊儲存 資料元素的儲存位置由值確定。資料元素之間的關係通過指標表達。查詢 如果i 某...