第一章 概論
什麼是資料結構?有一定組織結構的資料。
為什麼用資料結構?提高程式的執行效率。
什麼是演算法? 執行特定任務的過程。
大多數演算法直接應用到某類資料結構上,我們需要知道演算法主要是:插入新值、查詢給定的值和刪除給定的值等操作,還有迭代,排序和遞迴。
具體的資料結構有:組,有序組,棧,隊,鍊錶,二叉樹,多叉樹,雜湊表,堆,圖。
組:快速插入及取值;查詢刪除慢長度固定
有序組:查詢快於無序組;插入刪除慢長度固定
棧:後進先出;取值慢
隊:先進先出;取值慢
鍊錶:插入刪除快;查詢慢
二叉樹:查詢刪除插入快;刪除演算法複雜
多叉樹:查詢刪除插入快,樹型儲存;演算法複雜
雜湊表:若鍵值固定取值快插入快;若鍵值不固定取值刪除慢,消耗記憶體。
堆:插入刪除快;取值慢
圖:現實世界模型;一些演算法複雜且慢;
物件導向的程式設計思想:類封裝了資料及方法,宣告引用並生成物件,方法的提供者和使用者。繼承多型。
java資料結構與演算法(一)
資料結構是對計算機記憶體中 有時在磁碟中 的資料的一種安排。資料結構包括陣列 鍊錶 棧 二叉樹 雜湊表等等。演算法對這些結構中的資料進行各種處理,例如,查詢一條特殊額資料項或對資料進行排序。資料結構的特性 資料結構 優點 缺點 陣列 插入快,如果知道下標,可以非常快地訪問 查詢慢,刪除慢,大小固定 ...
資料結構及演算法知識(一)
一 有序表的歸併演算法 思想 在不破壞原有表的情況下 將兩個有序表合併成乙個有序表可以採用二路歸併演算法。分別掃瞄la和lb兩個有序表,當兩個有序表都沒有掃瞄完時迴圈 比較la lb的當前元素,將其中較小的元素放入lc中,再從較小元素所在的有序表中取出下乙個元素。重複這一過程直到la或lb比較完畢,...
資料結構及演算法
總所周知,程式的實質就是 對資料的表示,以及對資料的處理。資料要能被計算機處理,首先必須能夠儲存在計算機的記憶體中,這項任務就是資料的表示,其核心就是資料結構。對乙個實際問題的求解必須滿足實際處理的要求,這項任務就是資料處理,其核心是演算法。有這樣乙個著名公式 是誰提出的有點記不住了 資料結構 演算...