2012-12-28 107 views

回答

1

維基百科:

Abstract data types是純理論性的實體,使用(除其他事項外),以簡化的抽象算法的描述中,進行分類和評估數據結構

在計算機科學中,data structure是一種在計算機中存儲和組織數據的特殊方式,以便可以有效地使用它

描述stack的一種方法是作爲後進先出(LIFO)抽象數據類型pe和線性數據結構。一個堆棧可以具有任何抽象數據類型作爲元素,但其特徵在於兩個基本操作,稱爲push和pop(或pull)。

因此,可以得出結論,抽象數據類型是理論上的,但實現時稱爲數據結構。

更清楚:

數據類型可以被認爲是抽象的,當它在它的操作來定義的,它的實現是隱藏的(這樣我們就可以始終與另一個替換一個實施,例如, ,效率原因,這不會影響程序中的任何內容)。

+1

棧是抽象數據類型,因爲它隱藏它是如何像使用數組實現,或者連接list.But它組織進行有效管理和檢索所以它的數據結構also.Am我服用它以正確的方式數據? – user1849655

+0

是的。絕對。 – Azodious

+0

謝謝你,我的理解清楚你的解釋。 – user1849655

0

棧是一個抽象的數據類型和它也被稱爲線性數據結構。它如下後進先出(LIFO)strategy.so其數據結構的一部分...

0

的抽象數據類型(ADT)是數據集的一組理論規則和可以對一組數據執行的一組操作。數據類型在與各種具體實現無關時被稱爲抽象。

假設整數支持加法,乘法,除法運算。

這些操作不會對字符串數據的工作,因爲他們不能支持multiplication.hence Integer是不是ADT。

現在u得到的地步,

如果你的數據類型的操作並不關心數據的叫做抽象數據Structure.eg堆棧,列表,隊列...這裏這些東西的類型支持像推送業務( ),pop(),add(),delete()不關心我們推送,彈出,刪除。

這取決於(列表,堆棧,隊列),我們需要決定如何將這些ADT的管理類型實施。

爲什麼Stack是抽象數據類型?

`Stack s = new Stack<>(); 
List l = new LinkedList<>(); 
s.push(45); 
s.push("str"); 
//s.push("String"); 
if(s.peek().equals(45)){ 
    System.out.println("Treu"); 
}` 

我不認爲需要更多解釋。