奶昔直播官方版-奶昔直播直播视频在线观看免费版下载-奶昔直播安卓版本免费安装

育路教育網(wǎng),權(quán)威招生服務(wù)平臺
新東方在線

清華大學(xué)2000年研究生考試數(shù)據(jù)結(jié)構(gòu)和程序設(shè)計專業(yè)試題

來源: 時間:2007-06-07 12:06:08

  1、(12分)

  請回答下列關(guān)于圖(Graph)的一些問題:

 �、伲�4分)有n個頂點的有向連通圖最多有多少條邊?最少有多少條邊?

 �、冢�4分)表示一個有1000個頂點、1000條邊的有向圖的鄰接矩陣有多少個矩陣元素?是否稀疏矩陣?

  ③(4分)對于一個有向圖,不用拓撲排序,如何判斷圖中是否存在環(huán)?

  2、(12分)

  斐波那契數(shù)列Fn定義如下:

  F0=0,F(xiàn)1=1,F(xiàn)n= Fn-1 + Fn-2,n=2,3,…

  請就此斐波那契數(shù)列,回答下列問題:

 �、伲�7分)在遞歸計算Fn的時候,需要對較小的Fn-1,F(xiàn)n-2,…,F(xiàn)1,F(xiàn)0精確計算多少次?

 �、冢�5分)若干有關(guān)大O表示法,試給出遞歸計算Fn時遞歸函數(shù)的時間復(fù)雜度是多少?

  3、(17分)

  有一種簡單的排序算法,叫做計數(shù)排序(count sorting)。這種排存算法對一個待排序的表(用數(shù)組表示)進行排序,并將排序結(jié)果存放到另一個新的表中。必須注意的是,表中所有待排序的關(guān)鍵碼互不相同。計數(shù)排序算法針對表中的每個記錄,掃描待排序的表一趟,統(tǒng)計表中有多少個記錄的關(guān)鍵碼比該記錄的關(guān)鍵碼小。假設(shè)針對某一個記錄,統(tǒng)計出的計數(shù)值為c,那么,這個記錄在新的有序表中的合適的存放位置即為c.

 �、伲�3分)給出適用于計數(shù)排序的數(shù)據(jù)表定義;

 �、冢�7分)使用Pascal或C語言編寫實現(xiàn)計數(shù)排序的算法;

 �、郏�4分)對于有n個記錄的表,關(guān)鍵碼比較次數(shù)是多少?

 �、埽�3分)與簡單選擇排序相比較,這種方法是否更好?為什么?

  4、(10分)

  在一棵表示有序集S的二叉搜索樹(binary search tree)中,任意一條從根到葉節(jié)點的路徑將S分為3部分:在該路徑左邊節(jié)點中的元素組成的集合S1;在該路徑上的節(jié)點中的元素組成的集合S2;在該路徑右邊節(jié)點中的元素組成的集合S3.S=S1∪S2∪S3.若對于任意的a∈S1,b∈S2,c∈S3,是否總有a<=b<=c?為什么?

  5、(12分)請回答下列關(guān)于堆(Heap)的一些問題:

  ①(4分)堆的存儲表示是順序的,還是鏈接的?

 �、冢�4分)設(shè)有一個最小堆,即堆中任意節(jié)點的關(guān)鍵碼均大于它的左子女和右子女的關(guān)鍵碼。其具有最大值的元素可能在什么地方?

 �、郏�4分)對n個元素進行初始建堆的過程中,最多做多少次數(shù)據(jù)比較(不用大O表示法)?

  6、(12分)

  已知Q是一個非空隊列,S是一個空棧。僅用隊列和棧的ADT函數(shù)和少量工作變量,使用Pascal或C語言編寫一個算法,將隊列Q中的所有元素逆置。

  棧的ADT函數(shù)有:

  makeEmpty(s:stack);置空棧

  push(s:stack;value:datatype);新元素value進棧

  pop(s:stack):datatype;出棧,返回棧頂值

  isEmpty(s:stack):boolean;判�?辗�

  隊列的ADT函數(shù)有

  enqueue(q:queue;value:datatype);元素value進隊

  deQueue(q:queue):datatype;出隊列,返回隊頭值

  isEmpty(q:queue):boolean;判隊列空否

  7、(13分)

  設(shè)散列表為HT[0……12],即表的大小為m=13.現(xiàn)采用雙散列法解決沖突。散列函數(shù)和在散列函數(shù)分別為:

  H0(key)=key%13;注:%是求余數(shù)運算(=mod)

  Hi=(Hi-1+REV(key+1)%11+1)%13;i=1,2,3,…,m-1

  其中,函數(shù)REV(x)表示顛倒10進制數(shù)x的各位,如REV(37)=73,REV(7)=7等。若插入的關(guān)鍵碼序列為{2,8,31,20,19,18,53,27}.

 �、伲�8分)試畫出插入這8個關(guān)鍵碼后的散列表。

 �、冢�5分)計算搜索成功的平均搜索長度ASL.

  8、(12分)

  從左到右及從右到左遍歷一個單鏈表是可能的,其方法是在從左向右遍歷的過程中將連接方向逆轉(zhuǎn),如圖1所示。在圖中的指針p指向當(dāng)前正在訪問的節(jié)點,指針pr指向指針p所指節(jié)點的左側(cè)的節(jié)點。此時,指針p所指節(jié)點左側(cè)的所有節(jié)點的連接方向都已逆轉(zhuǎn)。

 �、伲�6分)使用Pascal或C語言編寫一個算法,從任一給定位置(pr,p)開始,將指針p右移1個節(jié)點。如果p移出鏈表,則將p置為NULL,并讓pr留在鏈表最右邊的節(jié)點上。

 �、冢�6分)使用Pascal或C語言編寫一個算法,從任一給定位置(pr,p)開始,將指針p左移一個節(jié)點。如果p移出鏈表,則將p置為NULL,并讓pr停留在鏈表最左邊的節(jié)點上。

結(jié)束

特別聲明:①凡本網(wǎng)注明稿件來源為"原創(chuàng)"的,轉(zhuǎn)載必須注明"稿件來源:育路網(wǎng)",違者將依法追究責(zé)任;

②部分稿件來源于網(wǎng)絡(luò),如有侵權(quán),請聯(lián)系我們溝通解決。

有用

25人覺得有用

閱讀全文

2019考研VIP資料免費領(lǐng)取

【隱私保障】

育路為您提供專業(yè)解答

相關(guān)文章推薦
您可能感興趣
為什么要報考研輔導(dǎo)班? 如何選擇考研輔導(dǎo)班? 考研輔導(dǎo)班哪個好? 哪些北京考研輔導(dǎo)班靠譜? 2019考研輔導(dǎo)班大全