算法與數據結構 2014春實驗指導書

實驗一 時間複雜度的計算

編寫程序計算下列語句中“x ”的執行頻率並將結果輸出。

#include

Void main()

{ int x=0,n,i,j,k,t=0;

Printf(“請輸入整數n:”);

Scanf(“%d”,&n);

x ; t ;

printf(“1的執行頻率是:%d

”,t);

t=0;

for (i=1;i<=n;i ) { x ; t ;}

printf(“2的執行頻率是:%d

”,t);

t=0;

for (i=1;i<=n;i )

for (j=1;j<=n;j ) { x ; t ;}

printf(“3的執行頻率是:%d

”,t);

t=0;

for (i=1;i<=n;i )

for (j=1;j<=i;j ) { x ; t ;}

printf(“4的執行頻率是:%d

”,t);

t=0;

for (i=1;i<=n;i )

for (j=1;j<=n;j )

for (k=1;k<=n;k ) { x ; t ;}

printf(“5的執行頻率是:%d

”,t);

t=0;

for (i=1;i<=n;i )

for (j=1;j<=i;j )

for (k=1;k<=j;k ) { x ; t ;}

printf(“6的執行頻率是:%d

”,t); }

實驗二 順序表操作

1.在有序表中插入一個元素並保持該表仍然有序。

#include

#define DATATYPE int

#define MAXSIZE 100

typedef struct

{ DATATYPE datas[MAXSIZE];

int last;

}SEQUENLIST;

main( )

{ SEQUENLIST a;

int i, k, m, x;

printf("請輸入順序表元素,元素為整型量,用空格分開,-99為結束標誌 :");

a.last = 0; i = 0; scanf("%d",&i);

while (i != -99) {

/*輸入順序表元素,建立有序表*/

k = a.last;

while((k>=1) && ( i

for(m = a.last; m >= k 1; m--) a.datas[m 1] = a.datas[m];

a.datas[k 1] = i;

a.last ;

scanf("%d",&i); }

printf("輸入要插入的元素值(整型) : ");

scanf("%d",&x);

printf("

插入前有序表元素列表 :");

for (i = 1; i <= a.last; i )