⑴ 這是一道數據結構與演算法(c語言版)的題目,希望大家能幫我看看!
這道題你網路一下關鍵字約瑟夫就明白了。
演算法思路全部入隊,初始值岩弊旁為1,報到9的人設為粗橡0,扔掉15個人之後結束。
查看值為零的的位置就是卜姿海盜的位置
⑵ 數據結構課程設計(C語言版) 一元稀疏多項式的運算
數據關系:R=約定a1為棧底,an
為棧頂。基本操作:Push(&s,e)
初始條件:棧s已經存在。
操作結果:插入元素e為新的棧頂元素
Pop(&s,&e)
初始條件:棧s已經存在且非空。
操作結果:刪除s的棧頂元素,並用e返回其值
⑶ 數據結構與演算法分析第二版 C語言描述 中文的課後答案 機械工業出版社的~一定要中文的啊~
我個人覺得還是書更好,買個二手書的話便宜又更加實用!!
⑷ 《數據結構與演算法分析(C語言描述原書第2版)》習題答案
我有, 請給分
⑸ 求《數據結構精講與習題詳解》全文免費下載百度網盤資源,謝謝~
《數據結構精講與習題詳解》網路網盤pdf最新全集下載:
鏈接:https://pan..com/s/1dHBN4Zlo0s-Sv3wB70qt9w
簡介:本書是清華大學出版鉛寬鋒仔社出版的《數據結構(C語言版)》(第2版)的槐基亮配套教材,對「數據結構」課程常用習題進行了解析,對許多不易通過自學理解的概念和知識做了深入講解,並針對「數據結構」課程的學習給出了指導性建議
⑹ 數據結構(c語言版)題目求答案
3.28
void InitCiQueue(CiQueue&Q)//初始化循環鏈表表示的隊列Q
{
Q=(CiLNode*)malloc(sizeof(CiLNode));
Q->next=Q;
}//InitCiQueue
voidEnCiQueue(CiQueue&Q,int x)//把元素x插入循環列表表示的隊列Q,Q指向隊尾元素,Q->next指向頭結點,Q->next->next指向隊尾元素
{
p=(CiLNode*)malloc(sizeof(CiLNode));
p->data=x;
p->next=Q->next;//直接把p加在Q的後面
Q->next=p;
Q=p;//修改尾指針
}
Status DeCiQueue(CiQueue&Q,int x)//從循環鏈表表示的隊列Q頭部刪除元素x
{
if(Q==Q->next)return INFEASIBLE;//隊列已空
p=Q->next->next;
x=p->data;
Q->next->next=p->next;
free(p);
rturn OK;
}//DeCiqueue
3.31
int Palindrome_Test()
{
InitStack(S);InitQueue(Q);
while((c=getchar())!='@')
{
Push(S,c);EnQueue(Q,c);
}
while(!StackEmpty(S))
{
pop(S,a);DeQueue(Q,b);
if(a!=b)return ERROR;
}
return OK;
}
⑺ C語言版數據結構哈希演算法題:設m=16,HASH函數為H(key)=key mod 13,現採用再哈希法Hi=RHi(key)處理沖突
應該是這個意思:
第一次沖突就是散列的位置+1,這次發生沖突了就繼續第二次
第二次用的是平方取中,55^2= 3025,當然第二次沖突的RH2就是02了,答案(2)
⑻ 數據結構c語言版問題
A[0][0]-A[1][0]-A[2][0]-A[3][0]-A[4][0]-A[5][0]-A[6][0]-A[7][0]-A[8][0]-A[9][0]-A[0][1]-A[1][1]-A[2][1]-A[3][1]-A[4][1]-A[5][1]-A[6][1]-A[7][1]-A[8][1]-A[9][1]-A[0][2]-A[1][2]-A[2][2]-A[3][2]-A[4][2]-A[5][2]-A[6][2]-A[7][2]-A[8][2]-A[9][2]-
按列序(就是固定列的索引,先存儲列索引為0、行索引0-9的元素。然後列索引+1,存儲列索引為1、行索引為0-9的元素……)存儲的二維數組,所以A[6][2]的地址是200+1*26=226
⑼ 急需數據結構C語言版(清華大學出版社)的期末考試試題及答案
《數據結構》期末考試試卷( A )
一、 選擇題(每小題2分,共24分)
1.計算機識別、存儲和加工處理的對象被統稱為( A )
A.數據 B.數據元素
C.數據結構 D.數據類型
2.棧和隊列都是( A )
A.限制存取位置的線性結構 B.順序存儲的線性結構
C.鏈式存儲的線性結構 D.限制存取位置的非線性結構
3.鏈棧與順序棧相比,比較明顯的優點是( D )
A.插入操作更加方便 B.刪除操作更加方便
C.不會出現下溢的情況 D.不會出現上溢的情況
4.採用兩類不同存儲結構的字元串可分別簡稱為( B )
A.主串和子串 B.順序串和鏈串
C.目標串和模式串 D.變數串和常量串
5. 一個向量第一個元素的存儲地址是100,每個元素的長度為2,則第5個元素的地址是:B
A. 110 B .108
C. 100 D. 120
6.串是一種特殊的線性表,其特殊性體現在:B
A.可以順序存儲 B .數據元素是一個字元
C. 可以鏈接存儲 D. 數據元素可以是多個字元
7.設高度為h的二叉樹上只有度為0和度為2的結點,則此類二叉樹中所包含的結點數至少為: C
A. 2h B .2h-1
C. 2h+1 D. h+1
軟體開發網
8.樹的基本遍歷策略可分為先根遍歷和後根遍歷;二叉樹的基本遍歷策略可分為先序遍歷、中序遍歷和後序遍歷。這里,我們把 由樹轉化得到的二叉樹叫做這棵樹對應的二叉樹。下列結論哪個正確? A
A. 樹的先根遍歷序列與其對應的二叉樹的先序遍歷序列相同
B .樹的後根遍歷序列與其對應的二叉樹的後序遍歷序列相同
C. 樹的先根遍歷序列與其對應的二叉樹的中序遍歷序列相同
D. 以上都不對
9.一個有n個頂點的無向圖最多有多少邊?C
A. n B .n(n-1)
C. n(n-1)/2 D. 2n
10.在一個圖中,所有頂點的度數之和等於所有邊數的多少倍?C
A. 1/2 B .1
C. 2 D. 4
11.當在二叉排序樹中插入一個新結點時,若樹中不存在與待插入結點的關鍵字相同的結點,且新結點的關鍵字小於根結點的關鍵字,則新結點將成為( A )
A.左子樹的葉子結點 B.左子樹的分支結點
C.右子樹的葉子結點 D.右子樹的分支結點
軟體開發網
12.對於哈希函數H(key)=key%13,被稱為同義詞的關鍵字是( D )
A.35和41 B.23和39
C.15和44 D.25和51
二、已知某棵二叉樹的前序遍歷結果為A,B,D,E,G,C,F,H,I,J,其中中序遍歷的結果為D,B,G,E,A,H,F,I,J,C。請畫出二叉的具體結構。(注意要寫出具體步驟)(10分)
原理見課本128頁
三、有圖如下,請寫出從頂點c0出發的深度優先及寬度優先遍歷的結果。(10分)
深度優先;C0-C1-C3-C4-C5-C2
寬度優先:C0-C1-C2-C3-C4-C5
四、有圖如下,按Kruskal演算法求出其最小生成樹。要求寫出完整的步驟。(10分)
原理見課本250頁
五、給定線性表(12,23,45,66,76,88,93,103,166),試寫出在其上進行二分查找關鍵字值12,93,166的過程。並寫出二分查找的演算法。(20分)
0 1 2 3 4 5 6 7 8
12 23 45 66 76 88 93 103 166
過程:
mid=(0+8)/2=4
high=3,low=0 mid=1
high=0,low=0 mid=0(找到12)
high=8,low=5,mid=6(找到93)
high=8,low=7,mid=7
high=8 low=8 mid=8
演算法:見課本84頁上
六、知單鏈表的結點結構為
Data next
下列演算法對帶頭結點的單鏈表L進行簡單選擇排序,使得L中的元素按值從小到大排列。
請在空缺處填入合適的內容,使其成為完整的演算法。 (可用文字說明該演算法的基本思想及執行的過程,10分)
void SelectSort(LinkedList L)
{
LinkedList p,q,min;
DataType rcd;
p= (1) ;
while(p!=NULL) {
min=p;
q=p->next;
while(q!=NULL){
if( (2) )min=q;
q=q->next;
}
if( (3) ){
rcd=p->data;
p->data=min->data;
min->data=rcd;
}
(4) ;
}
}
本題不會。嘿嘿。。。。
七、一個完整的演算法應該具有哪幾個基本性質?分別簡要說明每一性質的含意。(5分)
輸入:
四個基本性質:1.輸入:有零個或多個有外部提供的量作為演算法的輸入
2:輸出:演算法產生至少一個量作為輸出
3.:確定性:組成演算法的每條指令是清晰的,無歧異的。
4.:有限性:演算法中每條指令的執行次數是有限的,執行每條指令的時間也是有限的
八、何謂隊列的"假溢"現象?如何解決?(5分)
隊列的假溢現象是指數組實現的順序隊列中,隊尾指針已到達數組的下表上界產生上溢而隊頭指針之前還有若干 空間閑置的現象。解決的辦法之一是利用循環隊列技術使數組空間的首尾相連。
九、說明並比較文件的各種物理結構。(6分)