what will we learn from this course?
資料結構(datastructure)是計算機中儲存、組織資料的方式。通常情況下,精心選擇的資料結構可以帶來最優效率的演算法(algorithm)。根據操作決定不同的結構
the efficiency of a method/algorithm highly depends on theorganization&amount of the data.and theoccupation of ram.效率決定:資料的組織、大小;硬體的限制
資料結構是對實際事物的一種描述,需要對實際事物的全面、有效、模式結構化的分析,從而找到影響事件效率的關鍵因素,找出處理問題的最佳方法
ex1how to arrange books on the bookshelf?
operation 1: how to insert new books?
operation 2: how to find/access an existing book?
完整的描述問題(分情況討論):書本的多少、書架的需求(書架需要什麼功能——完成什麼操作)
演算法效率依賴資料結構
不依賴於implementations.
only care about「how to design」the objective data sets and related operations, not how to「implement」a data structure.
資料結構與演算法(1)
演算法 資料結構 一 演算法 1.演算法的幾個特徵是什麼。2.演算法複雜性的定義。大o 小o分別表示的含義。3.遞迴演算法的定義 遞迴演算法的兩要素。4.分治演算法的思想,經典的分治演算法 全排列 二分搜尋 歸併排序 快速排序 線性時間選擇 最接近點對問題 5.動態規劃演算法解題框架,動態規劃演算法...
資料結構與演算法(1)
1 線性表 2 棧 3 佇列 4 字串 補充 遞迴 1 樹與二叉樹 2 圖 1 查詢 2 排序 編寫相關演算法 資料結構 入門問題 1.為什麼學習資料結構?1 高階程式設計的理論指導 2 提公升編碼能力 3 面試中經常被問及,看發展潛力 2.有哪些資料結構?2.11線性結構 線性表 棧 佇列 陣列 ...
資料結構與演算法 1
cpu 處理器central process unit gpu 圖形處理器graphics processing unit,又稱顯示核心 視覺處理器 顯示晶元或繪圖晶元,是一種專門在個人電腦 工作站 遊戲機和一些移動裝置 如平板電腦 智慧型手機等 上執行繪圖運算工作的微處理器。其用途是將計算機系統所...