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

2021-09-02 08:51:18 字數 1097 閱讀 7271

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吧 ,但我解釋不清楚!

資料結構中的順序棧的進棧和出棧問題

include define stacksize 100typedef char datatype typedef struct seqstack void initstack seqstack s int stackempty seqstack s int stackfull seqstack s...

關於資料結構c語言鏈棧的問題

你的while迴圈寫錯了,你想借助s遍歷,但是迴圈條件用的還是top,而top在迴圈內部沒有修改,所以專就進入死循屬環了,應該這麼改 while s null 用s 還有,print函式應該是不想修改鏈棧的吧,只是讀取。所以引數就不要用a的地址了,直接用a傳遞就行了,保證函式體內不會意外修改a。函式...

資料結構鏈棧出棧的函式有問題,幫忙改一下!(C語言裡面取地址

flag pop s,e 這裡不該這樣呼叫,直抄接使用flag pop s,e 函式定義裡 表示引用實參,也即是說使用e物件本身進行運算,而如果沒有 則是使用e物件的拷貝進行運算 關於資料結構 c語言 鏈棧的問題 你的while迴圈寫錯了,你想借助s遍歷,但是迴圈條件用的還是top,而top在迴圈內...