青島大學計算機910資料結構題型精講

2021-10-13 12:00:53 字數 1435 閱讀 2257

作為乙個2020考研上岸的學子,這裡給考青島大學計算機系的同學們準備了一些歷年常考題型及解析,供大家學習。

1.如果只想得到乙個序列的第k個最小元素之前的部分排序序列,最好採用什麼方法?為什麼?

最好採用堆排序。首先堆排序的時間複雜度是o(n+k*log n)k<=n,時間複雜度小。其次,每次調整堆時都能選擇乙個最小的元素。

2. 堆排序和二叉排序樹的區別?

堆排序是一種排序演算法,而二叉排序樹用於查詢。

堆排序的父親節點要比左右孩子節點大或者小,但左右孩子無大小之分,而二叉排序樹左孩子要小於父親節點,右孩子要大於父親節點。

3. 這樣乙個序列得到前四個最小元素序列,比較了多少次?

建堆過程:比較了20次,輸出6。

第一次調整:比較了5次,輸出7。

第二次調整:比較了4次,輸出9。

第三次調整:比較了5次,輸出11。

所以,一共比較了34次。

4. 求「2(3+4)-1」的字尾表示式?*

234+*1-

5. 乙個二維陣列a[10][20]按行存放於乙個連續的儲存空間中,a[0][0]的儲存位址是200,每個陣列元素佔乙個儲存位元組,求a[6][2]的位址?

首先這個二維陣列是10行20列,列編號是從0-19,有的同學以為是0-20,其實不是,a[10][20]這裡的20是表示有20列。所以答案應該是:200+(20*6+2)=322。

6. 廣義表的表頭和表尾怎麼看?

廣義表:在我的理解就是列表的巢狀,列表中還可以有列表。

表頭:廣義表第乙個元素。

表尾:除去表頭剩下的所有元素組成的廣義表。

例如(a,b,(c,d))

表頭a;表尾(b,(c,d))

7. 演算法:求二叉樹樹高?

若是空樹,返回深度-1。若不是空樹,比較它的左子樹深度和右子樹深度,返回較大深度值加1,即:return (rightdep>leftdep) ? rightdep+1 : leftdep+1;

int

treedepth

(bitree t)

8. 求完全二叉樹t中某一節點p的父親節點?採用層次遍歷,遍歷所有節點,找到p的父親節點即返回,否則返回null。

bitree pfather

(bitree t, bitree p)

return

null

;}

青島大學王卓老師資料結構 C 實現順序棧

青島大學王卓老師資料結構 c 實現順序棧 廢話不多說 直接上 下面展示 include using namespace std define maxsize 100 typedef int selemtype 定義棧的順序表示 typedef struct sqstack 順序棧的初始化 intin...

計算機基礎 資料結構

佇列 rear指向最後元素的下乙個 串樹 赫夫曼樹 生成樹 無向。圖有n個點,有n 1條邊 b樹 磁碟頁對應b樹的節點,只要那些包含元素地節點大小不超過磁碟頁大小,樹的高度決定訪問磁碟次數 一次磁碟io後就進入記憶體進行比較 它比二叉樹的優勢在於,只要樹矮一些,就能提高查詢效率,適合資料量大的查詢。...

計算機學習方向 資料結構

方法是給他 她 一張紙一支筆,讓他 她 用自己最了解的語言寫乙個算階乘的函式,這個 問題你一看肯定說很簡單,好,接著我會往下問,可以有多少種方法來實現 迴圈,遞迴 還有嗎?你能寫出多少種來?基本結構模式的考察 質量如何?有沒有考慮錯 誤處理 太多人寫的 會進入死迴圈比如輸入的是負數 int 的上限是...