Java資料結構和演算法(一):綜述

來源:互聯網
上載者:User

標籤:優點   處理   方法調用   border   大數   資料結構和演算法   strong   padding   演算法   

資料結構和演算法能起到什麼作用?

  資料結構是指資料在電腦記憶體空間或磁碟中的組織形式。資料結構包括數組、鏈表、棧、二叉樹、雜湊表等等。演算法對這些結構中的資料進行各種處理,例如,尋找一條特殊的資料項目或對資料進行排序。

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

  許多將要討論到的演算法直接適用於某些特殊的資料結構。對於大多數資料結構來說,都需要知道如何

  • 插入一條新的資料項目
  • 尋找某一特定的資料項目
  • 刪除某一特定的資料項目

  還需要知道如何迭代地訪問某一資料結構中的各資料項目,以便進行顯示或其他動作。另一種重要的演算法範疇是排序,排序有許多種演算法,後面將會討論到。遞迴的概念在設計某些演算法時十分重要。遞迴意味著一個方法調用它自身。

 

Java資料結構和演算法(一):綜述

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.