支援子程式呼叫的資料結構是A 棧B 樹C 佇列D 二叉樹

時間 2021-09-02 08:50:24

1樓:逆

參考書答案給的是a,我也在看這道題!(**額 理論上來說所有資料結構都支援子程式的呼叫。。。這個題的意思應該是子程式呼叫的時候能看成什麼樣的資料結構。

嚴格來說是棧——因為遞迴呼叫子程式的時候就是先入後出的而且是線性的。雖然子程式也可以這樣呼叫

f[i]=f[i-1]+f[i-1]

看起來像是樹,但是實際上還是深度優先遍歷一棵樹,本質上是個棧。

所以說這個題的題意不清。如果說「能夠使用子程式呼叫的資料結構」就是全選,如果是「子程式呼叫的時候能看成什麼樣的資料結構「就是棧。)

2樓:匿名使用者

b)樹因為子程式呼叫強調的是層次關係,且子程式呼叫功能模組可以有多個,而棧和佇列側重的是先後關係;二叉樹只能有兩個後件,所以。。。可能你會被a項困擾。**:

棧只是為子程式呼叫提供儲存空間,而層次呼叫是樹型結構的特點,樹型結構為實現它的特點應用了棧技術,所以實現呼叫的還是數型結構。)

3樓:

是棧,棧是限定只在一端進行插入與刪除的線性表,通常稱插入、刪除的這一端為棧頂,另一端為棧底。棧頂元素總是後被插入的元素,也是最先被刪除的元素;棧底元素總是最先被插入的元素,也是最後被刪除的元素。棧是按照「先進後出」或「後進先出」的原則組織資料的。

4樓:愛程式設計小子

答案:b

子程式呼叫是一種層次關係,子程式呼叫功能模組,呼叫功能模組的個數也不確定,可以是一個,也可以是多個。選項a、c中元素之間是一種前後件關係,前後元素之間沒有層次之分,每個結點有一個前件也只有一個後件。二叉樹是一種很有用的非線性結構,二叉樹不同於樹形結構。

二叉樹具有以下兩個特點:①非空二叉樹只有一個根結點;②每一個結點最多有兩棵子樹,且分別稱為該結點的左子樹與右子樹。選項d規定每個結點只能有兩個後件。

在子程式呼叫中,呼叫的功能模組可以是多個,可以呼叫超過兩個功能模組。所以選項a、c、d均不正確。

故本題答案為b。

5樓:

a 不大清楚題目的意思,函式呼叫的時候要入棧,返回要出棧,所以需要用到棧結構

6樓:春風化雨

b吧 ,但我解釋不清楚!

求資料結構棧簡單程式,送300積分

方法1 非遞迴演算法 staitic noss s return c 方法2 遞迴演算法 static nos2 s else nos2 0 include define sz 1000 typedef struct stack void init stack s 初始化棧 void push st...

程式和資料結構有什麼關係,什麼是資料結構?什麼是演算法?演算法與程式有什麼關係?

有一個定理樓主聽說過嗎,程式 資料結構 演算法 資料結構就是告訴你資料是一和形式儲存的,集合,線性表,樹,還是圖或網。你要學好資料結構,才知道遇到什麼問題用什麼方法解決,才能編出好的程式。下面是官方的說法 選擇了資料結構,演算法也隨之確定,是資料而不是演算法是系統構造的關鍵因素。這種洞見導致了許多種...

關於資料結構進棧和出棧的問題望賜教(就剩20分了,您別嫌少)

和 這種操作符!放在變數的前面為 如i 1 等式 i 2 4 是先計算這個值,再執行等式的!而 i 2 3 是先計算等式,之後再計算i的值,等式計算後i的值才是 2 進棧 s elem s top 程式內部會這樣分為兩步執行 s elem s top s top s top 1 出棧 s elem ...