棧和佇列的共同特點是( a )。
a.只允許在端點處插入和刪除元素
b.都是先進後出
c.都是先進先出
d.沒有共同點
用鏈結方式儲存的佇列,在進行插入運算時( d ).
a. 僅修改頭指標
b. 頭、尾指標都要修改
c. 僅修改尾指標
d.頭、尾指標可能都要修改(尾插和頭插)
以下資料結構中哪乙個是非線性結構?( d )
a. 佇列
b. 棧
c. 線性表
d. 二叉樹(樹結構)
設有乙個二維陣列a[m][n],假設a[0][0]存放位置在644(10),a[2][2]存放位置在676(10),每個元素佔乙個空間,問a[3][3](10)存放在什麼位置?腳注(10)表示用10進製表示。c
a.688
b.678
c.692
d.696
樹最適合用來表示( c )。
a.有序資料元素
b.無序資料元素
c.元素之間具有分支層次關係的資料
d.元素之間無聯絡的資料
二叉樹的第k層的結點數最多為( d ).
a.2k-1
b.2k+1
c.2k-1
d. 2k-1
若有18個元素的有序表存放在一維陣列a[19]中,第乙個元素放a[1]中,現進行二分查詢,則查詢a[3]的比較序列的下標依次為( d )
a. 1,2,3
b. 9,5,2,3
c. 9,5,3
d. 9,4,2,3
對n個記錄的檔案進行快速排序,所需要的輔助儲存空間大致為(c)時間複雜度為n^2
a. o(1)
b. o(n)
c. o(1og2n)
d. o(n2)
對於線性表(7,34,55,25,64,46,20,10)進行雜湊儲存時,若選用h(k)=k %9作為雜湊函式,則雜湊位址為1的元素有( d )個,
a.1b.2
c.3d.4
設有6個結點的無向圖,該圖至少應有( a )條邊才能確保是乙個連通圖。
a.5b.6
c.7d.8
通常從四個方面評價演算法的質量:_正確性_、_可讀性_、_健壯性_和_高效性_。
乙個演算法的時間複雜度為(n3+n2log2
n+14n)/n2,其數量級表示為_n_。
假定一棵樹的廣義表表示為a(c,d(e,f,g),h(i,j)),則樹中所含的結點數為_9_個,樹的深度為_3_,樹的度為_3_。
字尾算式9 2 3 + - 10 2 / -的值為_-1_。中綴算式(3+4x)-2y/3對應的字尾算式為_3 4 x * + 2 y * 3 / -_。
若用鍊錶儲存一棵二叉樹時,每個結點除資料域外,還有指向左孩子和右孩子的兩個指標。在這種儲存結構中,n個結點的二叉樹共有_2n_個指標域,其中有_n-1_個指標域是存放了位址,有_n+1_個指標是空指標。
對於乙個具有n個頂點和e條邊的有向圖和無向圖,在其對應的鄰接表中,所含邊結點分別有_e_個和_2e_個。
aov網是一種_有向無環_的圖。
在乙個具有n個頂點的無向完全圖中,包含有_n(n-1)_條邊,在乙個具有n個頂點的有向完全圖中,包含有_2n(n-1)_條邊。
假定乙個線性表為(12,23,74,55,63,40),若按key % 4條件進行劃分,使得同一餘數的元素成為乙個子表,則得到的四個子表分別為_12,40_、_74_、_23,55,63_和_null_。
向一棵b_樹插入元素的過程中,若最終引起樹根結點的**,則新樹比原樹的高度_增加1_。
在堆排序的過程中,對任一分支結點進行篩運算的時間複雜度為_o(log2n),整個堆排序過程的時間複雜度為_no(log2^n)。
在快速排序、堆排序、歸併排序中,_歸併_排序是穩定的。
在如下陣列a中鏈結儲存了乙個線性表,表頭指標為a [0].next,試寫出該線性表。
a 0 1 2 3 4 5 6 7
data 60 50 78 90 34 40
next 3 5 7 2 0 4 1
(78,50,40,60,34,90)
請畫出下圖的鄰接矩陣和鄰接表。
已知乙個圖的頂點集v和邊集e分別為:v=;
e=;用克魯斯卡爾演算法得到最小生成樹,試寫出在最小生成樹中依次得到的各條邊。
(1,2)3-》(4,6)4-》(1,3)5-》(1,4)8-》(2,5)10-》(4,7)20
畫出向小根堆中加入資料4, 2, 5, 8, 3時,每加入乙個資料後堆的變化。 4
2,42,4,5
2,4,5,8
2,3,5,4,8
linklist mynote
(linklist l)
return l;
}
請回答下列問題:
(1)說明語句s1的功能;
查詢鍊錶的尾結點
(2)說明語句組s2的功能;
將第乙個結點鏈結到鍊錶的尾部,作為新的尾結點
(3)設煉表表示的線性表為(a1,a2, …,an),寫出演算法執行後的返回值所表示的線性表。
void
abc(btnode * bt)
}
該演算法的功能是:返回的線性表為(a2,a3,…,an,a1)遞迴地後序遍歷鏈式儲存的二叉樹
二叉搜尋樹的查詢——遞迴演算法:
bool find
(btreenode* bst,elemtype& item)
else
if(itemdata)
return
find
(_bst->left_,item)
;else
return
find
(_bst->right_,item);}
//if
}
統計出單鏈表hl中結點的值等於給定值x的結點數。
int countx(lnode* hl,elemtype x)
int
countx
(lnode* hl,elemtype x)
//while, 出迴圈時i中的值即為x結點個數
return i;
}//countx
資料結構試卷(節選)
1 組成資料的基本單位是 c a 資料項 b 資料型別 c 資料元素 d 資料變數 基本單位是資料元素,資料不可分割的最小單位是資料項,資料型別在資料結構中的定義是乙個值的集合以及定義在這個值集上的一組操作。7 將10階對稱矩陣壓縮儲存到一維陣列a中,則陣列a的長度最少為 c a 100 b 40 ...
資料結構(一)
資料結構是由某一資料元素的集合和該集合中資料元素之間的關係組成的,記為 data structure 資料結構的核心技術是分解與抽象。通過分解可以劃分出資料的層次 再通過抽象就能得到資料的邏輯結構 依據資料元素之間的關係的不同,可以分為線性結構和非線性結構。1.線性結構又稱作線性表。線性表中的每乙個...
資料結構 (一)
1 資料結構是計算機組織和儲存資料的方式。2 資料 資料元素 資料項 最小的標識單位 3 四種邏輯結構 集合 線性結構 樹形結構 圖結構。4 資料儲存結構 順序儲存方式 鏈式儲存方式 索引儲存方式 雜湊儲存方式。5 涉及到的運算 建立 查詢 讀取 插入 刪除等。6 具有線性結構的有 線性表 棧 佇列...