1.線性表順序表倒置演算法:
int len=strlen(l);
int i=0;
while(iint tmp=l[i];
l[i]=l[len-i-1];
l[len-i-1]=tmp;
2.畫二叉排序樹
每次與子樹根節點比較,從而向下左右選擇移動,左小右大。
中序遍歷可得到有序序列。
3.線索二叉樹
1) 擴充套件結點結構,增加兩個標誌域,以記錄左右孩子域記錄的為孩子還是前驅後繼。標誌域為0,表示指示孩子;為1,表示指示前驅後繼。另外,增設一頭結點,其資料域不儲存資料,左孩子域指向二叉樹根結點,右孩子域指向遍歷的最後乙個結點,故而ltag為0,rtag為1。而二叉樹在某種遍歷下的第乙個結點的前驅以及最後乙個結點的後繼都指向該頭結點。
2) 找前驅後繼(以中序為例)
node inprenode(node p)
a[i]=x;
3)建堆:按層次遍歷順序的逆序,倒著對每個雙親對應子樹進行篩選。
void f2(type *a)
int kruskal(){
int ans=0;
for(int i=1;i<=node_num;i++) p[i]=i;
for(int i=1;i<=edge_num;i++) r[i]=i;
sort(&r[1],&r[edge_num+1],cmp);
for(int i=1;i<=edge_num;i++){
int e=r[i];
int x=find(node_u[e],y=find(node_v[e]);
if(x!=y) ans+=node_w[e],p[x]=y;
return ans;
10.雜湊表對應平均查詢長度(asl)
11.排序演算法的時空複雜度
考研系列之資料結構 資料結構概述
表示法 d,s,p d 資料物件 s d上的關係集 p 對d的基本操作集 adt格式 adt 抽象資料型別名adt 抽象資料型別名 基本操作的格式 基本操作名 參數列 初始條件 初始條件描述 操作結構 操作結果描述 原子型別的值是不能分解的,如c中基本資料型別 結構型別的值是可分解的,是由結構型別和...
考研資料結構
一 考研中的變數型別 1 基本型別 int float char 2 指標型別 3 結構體型 陣列,結構體 4 void型 考研中 定義無返回值函式。二 控制語句 1 判斷語句if 做決策 2 迴圈語句 做重複的事 for while 講講break與continue break結束整個迴圈 con...
2020考研資料結構 順序表系列操作
刪除順序表指定兩個元素之間的所有元素 include include define maxsize 10 typedef int elemtype typedef struct sqlist sqlist 刪除線性表的所有元素位於s和x之間的元素 int deletebetween sqlist l...