算法與數據結構 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 )