如何把現實中大量而複雜的問題以特定的資料型別和特定的儲存結構儲存到主儲存器(記憶體)中,以及在此基礎上為實現某個功能(比如查詢某個元素,刪除某個元素,對所有元素進行排序)而執行的相應操作, 這個相應的操作也叫演算法
1. 時間複雜度
大概程式要執行的次數,而非執行的時間
2. 空間複雜度
演算法執行過程中大概所占用的最大記憶體
3. 難易程度
4. 健壯性
資料結構是軟體中最核心的課程
程式 = 資料的儲存 + 資料的操作 + 可以被計算機執行的語言
連續儲存[陣列]
離散儲存[鍊錶]
線性結構的兩種常見應用之一 棧
線性結構的兩種常見應用之二 佇列
樹
圖
折半查詢
排序:冒泡
插入選擇
快速排序
歸併排序
資料結構內容
1 基本概念 邏輯結構 儲存結構 演算法及三者之間的關係 演算法的特徵及設計目標 了解演算法時間 空間需求的大o表示法 2 向量 鍊錶 棧 隊 向量 順序表 鍊錶 靜態鍊錶 單鏈表 雙向鍊錶 迴圈鍊錶 及相關演算法 棧 隊,了解其應用,理解遞迴 串及c語言中串的表示 串的模式匹配演算法 了解多維陣列...
資料結構 資料結構的起源和研究內容
1,本文論述資料結構的起源和資料結構研究內容 2,高手往往能夠看到初學者看不到的問題 3,為什麼有程式存在 1,程式是為了解決實際問題而存在的 2,從本質上講,程式是解決問題的步驟描述 有了這些步驟,計算機照做就可以了 4,理解實際問題 1,確認問題型別 1,如 數值計算,求最小值個數,排序等 2,...
1 資料結構的內容
在資料結構課程的資料結構總共可以分為三大部分 資料的邏輯結構,資料的儲存結構,資料運算。圖1 資料結構課程的結構 資料的邏輯結構通常指的是我們以人類的思維方式來看待資料是什麼樣的,然後可以針對資料設計乙個數學模型,而當我們用程式設計去解決這個問題的時候,必須要解決資料在計算機中儲存的問題。也就是說當...