資料結構是對在計算機記憶體(有時在磁碟中)中的資料的一種安排。資料結構包括陣列,鍊錶,棧,二叉樹,雜湊表等。演算法是對這些結構中的資料進行各種處理。
對於大多數資料結構來說,都需要知道如下操作:
1.插入一條新的資料項
2. 尋找某一特定資料項
3.刪除某一特定資料項
4.迭代訪問某一資料結構中的各資料項,以便進行顯示和其他操作
5.排序
資料結構
優點缺點
陣列插入快,如果知道下標可以快速訪問
查詢慢,刪除慢,大小固定
有序陣列
比無序陣列查詢快
刪除和插入慢,大小固定
棧提供後進先出方式的訪問
訪問其他項很慢
佇列提供先見先出方式的訪問
訪問其他項很慢
鍊錶插入快,刪除快
查詢慢二叉樹
查詢,插入,刪除都快(如果樹保持平衡)
刪除演算法複雜
紅-黑樹
查詢,插入,刪除都快。樹總是平衡的
演算法複雜
2-3-4樹
查詢,插入,刪除都快。樹總是平衡的。類似的演算法對磁碟儲存有用
演算法複雜
雜湊表如果關鍵字已知,則訪問極快。插入快
刪除慢,如果不知道關鍵字則訪問很慢,對儲存空間使用不充分
堆插入,刪除快。對最大資料項的訪問很快
對其他資料項訪問慢
圖對現實世界建模
有些演算法慢且複雜
我們需要一種快捷的方法來評價計算機演算法的效率。在電腦科學中,這種粗略的度量方法被稱作「大o」表示法。
我們需要的是乙個可以描述演算法的速度是如何與資料項的個數相聯絡的比較。
用大o表示法表示執行時間
演算法大o表示法表示執行的時間
線性查詢
o(n)
二分查詢
o(logn)
無序陣列插入
o(1)
有序陣列插入
o(n)
無序陣列刪除
o(n)
有序陣列刪除
o(n)
大o表示法的實質並不是對執行時間給出實際值,而是表達了執行時間是如何受資料項個數影響的。
資料結構和演算法概述
1.什麼是資料結構,什麼是演算法 資料結構指一組資料的儲存結構。演算法就是運算元據的一組方法。2.常用的資料結構 陣列 鍊錶 棧 佇列 雜湊表 二叉樹 堆 跳表 圖 trie 樹。3.常用的演算法 遞迴 排序 二分查詢 搜尋 雜湊演算法 貪心演算法 分治演算法 回溯演算法 動態規劃 字串匹配演算法 ...
資料結構和演算法概述
資料結構 data structure 是帶有結構特性的資料元素的組合。它研究的是資料的邏輯結構和資料的物理結構以及它們之間的相互關係,並對這種結構定義相適應的運算,設計出相應的演算法,並確保經過這些運算以後所得到的新結構仍保持原來的資料型別。簡而言之,資料結構是相互之間存在一種或多種特定關係的資料...
資料結構和演算法概述
2 鏈式儲存結構 下面我們用一些實際的案例體驗一些演算法。案例1 計算1到100的和。package com.sunxiaping 定義兩個整型變數 執行100次加法運算 列印結果到控制台 author 許大仙 version 1.0 since 2020 12 04 11 19 public cl...