中國科學院2001年數據結構試題

一、單項選擇題(每空2分,共20分)
1.下列函數中漸近時間復雜度最小的是( )。
A.T1(n)=nlog2n+5000n B.T2(n)=n2-8000n
C.T3(n)=nlog221-6000n D.T4(n)=2nlog2n-7000n
2.線性表的靜態鏈表存儲結構與順序存儲結構相比優點是( )。
A.所有的操作算法實現簡單
B.便于隨機存取
C.便于插入和刪除
D.便于利用零散的存儲器空間
3.設棧的輸入序列為1,2,…,n,輸出序列為a1,a2,…,an,若存在1≤k≤n使得ak=n,則當k≤i≤n時,ai為( )。
A.n-i+l B.n-(i-k) C.不確定
4.設高度為h的二叉樹(根的層數為1)上只有度為0和度為2的節點,則此類二叉樹中所包含的節點數至少為( )。
A.2h B.2h-1 C.2h+l D.h+l
5.設指針p指向線索樹中的某個結點,則查找p在某種次序下的前驅或后繼不能獲得加速的是( )。
A.前序線索樹中查找
p的前序后繼
B.中序線索樹中查找p的中序后繼
C.中序線索樹中查找
p的中序前繼
D.后序線索樹中查找*p的后序前繼
6.假定有k個關鍵字互為同義詞,若用線性探測法將這k個關鍵字存入散列表中,至少需要進行( )次探測。
A.k-1 B.k C.k+l D.k(k+1)/2
7.若待排序元素基本有序,則下列排序中平均速度最快的排序是( );若要求輔助空間為O(1),則平均速度最快的排序是( );若要求排序是穩定的,且關鍵字為實數,則平均速度最快的排序是( )。
A.直接插入排序 B.直接選擇排序 C.Shell排序
D.冒泡排序 E.快速排序 F.堆排序
C.歸并排序 H.基數排序
8.對于多關鍵字而言,( )是一種方便而又高效的文件組織文式。
A.順序文件 B.索引文件 C.散列文件 D.倒排文件
二、問答題(共25分)
1.設A[-2:6;-3:6]是一個用行主序存儲的二維數組,已知A[-2,-3]的起始存儲位置為loc(-2,-3)=1000,每個數組元素占用4個存儲單元,求:(6分)
1)A[4,5]的起始存儲位置loc(4,5);
2)起始存儲位置為1184的數組元素的下標。
2.給定二叉樹的先序和后序遍歷序列,能否重構出該二叉樹?若能,試證明之,否則給出反例。(6分)
3.在含有n個關鍵字的m階B-樹中進行查找,至多讀盤多少次?完全平衡的二叉排序樹的讀盤次數大約比它大多少倍?(設兩種樹中的每個節點均是一個存儲塊)。(8分)
4.用向量表示的循環隊列的隊首和隊尾位置分別為1和max_size,試給出判斷隊列為空和為滿的邊界條件。(5分)
三、閱讀程序題(共10分)
1.設G是一個有向無環圖,試指出下述算法的功能,輸出的序列是G的什么序列?(10分)
void Demo (ALGraph G)
{//G是圖的逆鄰接表,向量outdegree的各分量初值為0。
for(i=0;i<G.NodeNum;i++)
for(p=G.adjlist[i].firstedge;p;p=p->next)
//掃描i的入邊表
outdegree[p->adjvex]++; //設p->adjvex=j,則將<i,j>的起點
j的出度加1
initStack(&s); //設置空棧s
for(i=0;i<G.NodeNum;i++)
if(outdegree[i]==0)
Push(&s,i); //出度為0的頂點i入棧
while(!StackEmpty(s)) //棧s非空
{ i=Pop(&Q); //出棧,相當于刪去頂點i
prinft(“%c”,G.adjlist[i].vertex);//輸出頂點i
for(p=G.adjlist[i].firstedge;p;p=p->next)
{ //掃描i的入邊表
j=p->adjvex; //j是i的入邊<j,i>的起點
outdegree[j]–; //j的出度減1,即刪去i的入邊<j,i>
if(!outdegree[j])
Push(&s’,j); //若j的出度為0,則令其入棧
}//endfor
}//endwhile
}//endDemo
四、算法題(每題15分,共45分)
1.試設計算法在O(n)時間內將數組A[1..n]劃分為左右兩個部分,使得左邊的所有元素值均為奇數,右邊的所有元素值均為偶數,要求所使用的輔助存儲空間大小為O(1)。
2.試寫一遞歸算法,從大到小輸出二叉排序中所有的值不小于x的關鍵字,要求算法的時間為O(h+m),其中h為樹的高度,m為輸出的關鍵字個數。
3.設G是以鄰接表表示的無向圖,v0是G中的一個頂點,k是一個正的常數。要求寫一算法打印出圖中所有與v0有簡單路徑相通,且路徑長度小于等于k的所有頂點(不含v0),路徑長度由路徑上的邊數來定義。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/62760.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/62760.shtml
英文地址,請注明出處:http://en.pswp.cn/web/62760.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

MySQL數據表記錄刪操作

刪除操作&#xff1a;作用刪除表里的記錄行&#xff08;都是整行整行的刪除的&#xff09; 1.單表的刪除 語法 delete from 表名 where 要刪除的記錄篩選條件; 案例&#xff1a;刪除員工編號大于203的員工信息 delete from employees where employee_id>203; 2.多表的刪除…

網絡原理04

可靠傳輸&#xff0c;是TCP最核心的特性 可靠傳輸不是說數據100%傳輸給接收方了 1&#xff09;發送方發出數據后&#xff0c;能過知道接收方是否收到數據 2&#xff09;一旦發現對方沒收到&#xff0c;可以通過一定的方法”補救” 1. 確認應答 發送方&#xff0c;把數據已…

微信小程序5-圖片實現點擊動作和動態加載同類數據

搜索 微信小程序 “動物覓蹤” 觀看效果 感謝閱讀&#xff0c;初學小白&#xff0c;有錯指正。 一、功能描述 a. 原本想通過按鈕加載背景圖片&#xff0c;來實現一個可以點擊的搜索button&#xff0c;但是遇到兩個難點&#xff0c;一是按鈕大小調整不方便&#xff08;網上搜索…

Java里局部變量和成員變量的隱式初始化

注&#xff1a;本文是對另一篇文檔&#xff08; https://blog.csdn.net/duke_ding2/article/details/142365872 &#xff09;的補充。 文章目錄 環境初始化局部變量&#xff08;棧&#xff09;成員變量&#xff08;堆&#xff09;其它數組 分析安全性性能成員變量 VS. 局部變量…

孚盟云 MailAjax.ashx SQL注入漏洞復現

0x01 產品簡介 上海孚盟軟件有限公司是一家外貿SaaS服務提供商,也是專業的外貿行業解決方案專業提供商。 全新的孚盟云產品,讓用戶可以用云模式實現信息化管理,讓用戶的異地辦公更加流暢,大大降低中小企業在信息化上成本,用最小的投入享受大型企業級別的信息化服務,主要…

“切片賦值”創建列表批量操作“新”方法(Python)

[start:end]切片賦值&#xff0c;擴展了list批量增減元素的操作能力。 (筆記模板由python腳本于2024年12月06日 15:07:56創建&#xff0c;本篇筆記適合研python基礎的coder翻閱) 【學習的細節是歡悅的歷程】 Python 官網&#xff1a;https://www.python.org/ Free&#xff1a;…

LabVIEW實現GPS通信

目錄 1、GPS通信原理 2、硬件環境部署 3、程序架構 4、前面板設計 5、程序框圖設計 6、測試驗證 本專欄以LabVIEW為開發平臺,講解物聯網通信組網原理與開發方法,覆蓋RS232、TCP、MQTT、藍牙、Wi-Fi、NB-IoT等協議。 結合實際案例,展示如何利用LabVIEW和常用模塊實現物聯網系…

Java簡介:打開通往變成世界的大門

Java是什么&#xff1f;為什么它是全球開發者廣泛使用的語言&#xff1f;本篇文章介紹Java的特點、應用場景以及“寫一次&#xff0c;隨處運行”的核心特性&#xff0c;讓零基礎的你建立對Java語言的初步認知。 注&#xff1a;此文章可以僅作了解&#xff0c;不影響之后的學習。…

Unraid實現相冊同步與展示的方案探討

背景&#xff1a;Unraid作為一個NAS系統&#xff0c;能夠實現基本的NAS文件管理功能&#xff0c;但是不提供額外的功能如影音、同步、辦公、和內網穿透等&#xff0c;這些在其他的NAS產品如群暉、綠聯、威聯通等都是提供支持的。然而unraid也有其他方案&#xff0c;即通過特別方…

常見的網絡攻擊手段

IP 欺騙 IP 是什么? 在網絡中&#xff0c;所有的設備都會分配一個地址。這個地址就仿佛小藍的家地址「多少號多少室」&#xff0c;這個號就是分配給整個子網的&#xff0c;「室」對應的號碼即分配給子網中計算機的&#xff0c;這就是網絡中的地址。「號」對應的號碼為網絡號…

積分形式的輻射傳輸方程

The Equation of Transfer in Integral Form Let L L L be the streaming-collision operator, and S S S is scattering operator, we have L I Ω ? ? I ( r , Ω ) σ ( r , Ω ) I ( r , Ω ) LI\Omega\cdot\nabla I(r,\Omega)\sigma(r,\Omega)I(r,\Omega) LIΩ??…

JS中reduce方法

JavaScript 中的 reduce 方法是一個非常強大的數組方法&#xff0c;它允許你對數組中的所有元素執行一個“reducer”函數&#xff0c;從而將數組“減少”到一個單一的值。以下是 reduce 方法的詳細介紹&#xff1a; 語法 array.reduce(function(accumulator, currentValue, c…

印閃網絡:阿里云數據庫MongoDB版助力金融科技出海企業降本增效

客戶背景 上海印閃網絡科技有限公司&#xff0c;于2017年1月成立&#xff0c;投資方包括紅杉資本等多家國際知名風投公司。公司業務聚焦東南亞普惠金融&#xff0c;常年穩居行業頭部。創始團隊來自騰訊&#xff0c;中國團隊主要由運營、風控及產研人員組成&#xff0c;核心成員…

【后端面試總結】HTTPS工作原理詳解

引言 在現代網絡通信中&#xff0c;數據的安全性至關重要。HTTP&#xff08;Hypertext Transfer Protocol&#xff09;作為互聯網上傳輸數據的協議&#xff0c;雖然應用廣泛&#xff0c;但其數據以明文形式傳輸&#xff0c;存在被竊取和篡改的風險。為此&#xff0c;HTTPS&…

51c嵌入式~單片機~合集2

我自己的原文哦~ https://blog.51cto.com/whaosoft/12362395 一、不同的電平信號的MCU怎么通信&#xff1f; 下面這個“電平轉換”電路&#xff0c;理解后令人心情愉快。電路設計其實也可以很有趣。 先說一說這個電路的用途&#xff1a;當兩個MCU在不同的工作電壓下工作&a…

Java 基礎知識——part 1

1.目前Java平臺有三種版本&#xff1a; Java SE&#xff1a;用于開發桌面應用程序 Java EE&#xff1a;用于編寫企業級應用程序 Java ME&#xff1a;用于開發設備應用程序 2.Applet可嵌入Web文檔的一種小型程序&#xff0c;因網絡傳輸速度關系都很短小 3.Appilication&…

【云計算】虛擬化技術

目錄 1. 虛擬化技術在云計算中的那些地方發揮了關鍵作用&#xff1f; 2. 比較VMare&#xff0c;Xen等虛擬化產品的關鍵技術&#xff0c;以及對云計算技術提供的支持&#xff1f; 3. 服務器虛擬化&#xff0c;存儲虛擬化和網絡虛擬化都有哪些實現方式&#xff1f; 4. 討論桌面…

力扣題目 - 2931.購買物品的最大開銷

題目 還需要你前往力扣官網查看詳細的題目要求 地址 思路 這邊需要你去力扣官網詳細查看題目看了題目提供的示例 已經有了解法, 先把values轉成1維數組,排序之后進行累加即可 代碼 var maxSpending function (values) {let list values.flat();list.sort((a, b) > a - …

嵌入式驅動開發詳解6(RTC)

文章目錄 前言RTC簡介RTC驅動分析RTC驅動框架RTC驅動實現 RTC應用后續 前言 實時時鐘是很常用的一個外設&#xff0c;通過實時時鐘我們就可以知道年、月、日和時間等信息。 因此在需要記錄時間的場合就需要實時時鐘&#xff0c;可以使用專用的實時時鐘芯片來完成此功能&#x…

單片機:實現跑馬燈(附帶源碼)

單片機實現跑馬燈 跑馬燈&#xff08;也稱作流水燈&#xff09;是一種常見的電子效果&#xff0c;通過依次點亮和熄滅多個LED燈&#xff0c;模擬出一個燈光流動的效果。跑馬燈常見于裝飾性電子產品中&#xff0c;也是一種展示單片機控制多路輸出的基礎應用。 在本項目中&…