2023年福建省資料總結大綱

2021-11-01 18:13:08 字數 931 閱讀 4726

1、根據二叉排序樹中序遍歷所得結點值為增序的性質,在遍歷中將當前遍歷結點與其前驅結點值比較,即可得出結論,為此設全域性指標變數pre(初值為null)和全域性變數flag,初值為true。若非二叉排序樹,則置flag為false。

#define true 1

#define false 0

typedef struct node

*btree;

void judgebst(btree t,int flag)

// 判斷二叉樹是否是二叉排序樹,本演算法結束後,在呼叫程式中由flag得出結論。

//不是完全二叉樹

judgebst (t->rlink,flag);// 中序遍歷右子樹

}//judgebst演算法結束

2、我們用l代表最長平台的長度,用k指示最長平台在陣列b中的起始位置(下標)。用j記住區域性平台的起始位置,用i指示掃瞄b陣列的下標,i從0開始,依次和後續元素比較,若區域性平台長度(i-j)大於l時,則修改最長平台的長度k(l=i-j)和其在b中的起始位置(k=j),直到b陣列結束,l即為所求。

void platform (int b[ ], int n)

//求具有n個元素的整型陣列b中最長平台的長度。

//區域性最長平台

i++; j=i新平台起點

printf(「最長平台長度%d,在b陣列中起始下標為%d」,l,k);

}// platform

3、本題要求建立有序的迴圈鍊錶。從頭到尾掃瞄陣列a,取出a[i](0<=ilinkedlist creat(elemtype a,int n)

//由含n個資料的陣列a生成迴圈鍊錶,要求鍊錶有序並且無值重複結點

//查詢a[i]的插入位置

if(p==h || p->data!=a[i重複資料不再輸入

}//for

return(h);

}演算法結束

2023年福建省資料總結大綱

1 根據二叉排序樹中序遍歷所得結點值為增序的性質,在遍歷中將當前遍歷結點與其前驅結點值比較,即可得出結論,為此設全域性指標變數pre 初值為null 和全域性變數flag,初值為true。若非二叉排序樹,則置flag為false。define true 1 define false 0 typede...

2023年福建省資料總結摘要

while s next q next p s next q l next s linklist reverse 4 矩陣中元素按行和按列都已排序,要求查詢時間複雜度為o m n 因此不能採用常規的二層迴圈的查詢。可以先從右上角 i a,j d 元素與x比較,只有三種情況 一是a i,j x,這情況...

2023年福建省資料總結摘要

1 設一棵二叉樹的結點結構為 llink,info,rlink root為指向該二叉樹根結點的指標,p和q分別為指向該二叉樹中任意兩個結點的指標,試編寫一演算法ancestor root,p,q,r 該演算法找到p和q的最近共同祖先結點r。2 根據二叉排序樹中序遍歷所得結點值為增序的性質,在遍歷中將...