資料結構和演算法,資料結構演算法

來源:互聯網
上載者:User

資料結構和演算法,資料結構演算法
什麼是資料結構?

資料結構分為資料和結構。數字、字元、圖形、聲音等都是資料。結構分邏輯結構和儲存結構。邏輯結構就是資料間的抽象化關係。儲存結構就是資料在電腦儲存空間(記憶體、磁碟)的儲存方式。資料結構研究的就是資料如何在電腦記憶體儲的問題。資料結構包括數組、棧、二叉樹、雜湊表等等。

什麼是演算法?

演算法就是電腦內對給定問題的處理過程,說白了就是對資料結構中的資料進行各種處理,比如對資料排序、尋找等。

資料結構和演算法的關係?

電腦處理資料的過程:資料的輸入—->電腦的處理—>資料輸出
對於未經處理資料如何進行組織,如何在電腦記憶體儲,便於節省空間的和電腦處理;如何選擇合適的演算法提高解決問題的效率和可靠性,都是很重要的,不能孤立討論。
演算法只有在合適的資料結構上才能發揮作用,資料結構的不同,會影響演算法的選擇和效率。
有科學家這樣總結:演算法+資料結構=程式

資料結構和演算法有什麼用?

前面概念有一定瞭解後,瞭解一下應用情境。
現實資料存放區:
將現實世界的電腦外部的物理實體資料存放區在電腦裡。比如一條人事檔案記錄一個真實人的資訊。
程式員的工具:
用鏈表、棧、隊列等結構作為工具來簡化另一些操作。
對現實世界進行建模:
用資料結構對現實世界進行構造模型。像圖,用它表示城市之間的航線、電路的串連等。
大致瞭解資料結構的特性:

資料結構 優點 缺點
數組 插入快,知道下標可快速存取 尋找慢,刪除慢,大小固定
有序數組 比無序數組尋找快 插入、刪除慢,大小固定
後進先出的方式存取 存取其他項很慢 
隊列 先進先出的方式存取 存取其他項很慢
鏈表 插入、刪除快 尋找慢
二叉樹 插入、刪除、尋找都快(如果樹保持平衡) 刪除演算法複雜
紅-黑樹 插入、刪除、尋找都快(樹總是平衡的) 演算法複雜
2-3-4樹 插入、刪除、尋找都快(樹總是平衡的)類似的樹對磁碟儲存有用 演算法複雜
雜湊表 如果關鍵字已知,存取極快,插入快 刪除慢,關鍵字未知,儲存慢,對磁碟空間利用不充分
插入、刪除快,對最大資料項目的存取很快 對其他資料項目存取慢
對現實世界建模 有些演算法慢且複雜

以上除數組外,其他稱為抽象資料結構(ADT)。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.