第一篇:數據結構實驗報告填寫要求(2012網工1、2班)
數據結構實驗報告填寫要求
2013/2014學年第一學期
學號:以成績記載簿上的學號為準。
指導老師:王正山
實驗名稱:實驗一 線性表操作及應用實驗二棧的操作及應用實驗三隊列的操作及應用;實驗四二叉樹的操作及應用;實驗五圖的操作及應用;實驗六查找和排序算法實現。課程名稱:數據結構實驗
實驗時間:根據教學進度表中的時間確定,以真實時間為準。
實驗地點:X401或X405(以真實地點為準)
實驗目的:
實驗一:(1)掌握線性表的插入和刪除操作在順序存儲結構上的實現;(2)掌握線性表的建立、插入、刪除、打印和查找操作在鏈式存儲結構上的實現。
實驗二:(1)掌握棧的入棧和出棧操作在順序存儲結構上的實現;(2)掌握棧的入棧和出棧操作在鏈式存儲結構上的實現。
實驗三:(1)掌握隊列的入隊列和出隊列操作在順序存儲結構上的實現;(2)掌握隊列的入隊列和出隊列操作在鏈式存儲結構上的實現。
實驗四:(1)掌握二叉樹的前序遍歷、中序遍歷、后序遍歷和建立二叉樹的算法在鏈式存儲結構上實現;掌握利用遍歷二叉樹的遞歸思想實現建立二叉樹、復制二叉樹、交換二叉樹和求二叉樹中葉子結點數目等算法。
實驗五:(1)掌握建立無向圖(有向圖)的鄰接矩陣和鄰接表算法;(2)掌握無向圖的深度優先遍歷和廣度優先遍歷算法;最小生成樹算法和拓撲排序算法。
實驗六:(1)掌握建立二叉排序樹和在二叉排序樹上查找指定結點的算法在鏈式存儲結構上的實現;
(2)掌握快速排序在順序存儲結構上的實現。
實驗分析與實驗心得:根據自己實際情況填寫(必填)。
問題和建議:根據自己實際情況填寫(必填)。
實驗環境:Windows XP,VC++ 6.0
第二篇:數據結構實驗報告1(范文模版)
南京信息工程大學實驗(實習)報告
實驗(實習)名稱數據結構實驗(實習)日期 2010-10-26得分指導教師周素萍
系信息管理與信息系統專業年級班次姓名學號
實驗一順序表的基本操作及C語言實現
【實驗目的】
順序表的基本操作及 C 語言實現
【實驗要求】
1、用 C 語言建立自己的線性表結構的程序庫,實現順序表的基本操作。
2、對線性表表示的集合,集合數據由用戶從鍵盤輸入(數據類型為整型),建立相應的順序表,且使得數據按從小到大的順序存放,將兩個集合的并的結果存儲在一個新的線性表集合中,并輸出。
3、撰寫實驗報告并附上集合操作的程序和結果。(實驗報告格式等會兒上傳)
【實驗內容】
1、根據教材定義的順序表結構,用 C 語言實現順序表結構的創建、插入、刪除、查找等操作;
2、利用上述順序表操作實現如下程序:建立兩個順序表表示的集合(集合中無重復的元素),并求這樣的兩個集合的并。
【實驗結果】
#include
#include
#define LIST_INIT_SIZE 100
#define LISTINCREMENT 10
#define ERROR 0
#define OVERFLOW-1
typedef struct{
int *elem;int length;int listsize;
}SqList;
void InitList_Sq(SqList &L)
{
//構造一個空的線性表 L.elem=(int *)malloc(LIST_INIT_SIZE*sizeof(int));if(!L.elem)exit(OVERFLOW);L.length=0;L.listsize=LIST_INIT_SIZE;
}//InitList_Sq
void ListInsert_Sq(SqList &L,int i,int e)
{
//在順序表L中的第i個位置之前插入新的元素e int *newbase,*p,*q;if(i<1||i>L.length+1){} q=&(L.elem[i-1]);for(p=&(L.elem[L.length-1]);p>=q;--p)*(p+1)=*p;*q=e;2 exit(ERROR);if(L.length>=L.listsize)newbase=(int*)realloc(L.elem,(L.listsize+LISTINCREMENT)*sizeof(int));if(!newbase)exit(OVERFLOW);L.elem=newbase;L.listsize+=LISTINCREMENT;
++L.length;
}//ListInsert_Sq
void ListDelete_Sq(SqList &L,int i)
{
//在順序線性表L中刪除第i個元素 int *p,*q;exit(ERROR);if((i<1)||(i>L.length))p=&(L.elem[i-1]);q=L.elem+L.length-1;for(++p;p<=q;++p)*(p-1)=*p;--L.length;
}//ListDelete_Sq
void MergeList_Sq(SqList La,SqList Lb,SqList &Lc){
//已知線性表La和Lb中的數據元素按值非遞減排列。//歸并La和Lb得到新的線性表Lc,Lc的數據元素也按值非遞減排列。int *pa,*pb,*pc,*pa_last,*pb_last,i;pa=La.elem;pb=Lb.elem;Lc.listsize=Lc.length=La.length+Lb.length;pc=Lc.elem=(int *)malloc(Lc.listsize*sizeof(int));if(!Lc.elem)exit(OVERFLOW);pa_last=La.elem+La.length-1;pb_last=Lb.elem+Lb.length-1;while(pa<=pa_last&&pb<=pb_last){} while(pa<=pa_last)*pc++=*pa++;while(pb<=pb_last)*pc++=*pb++;for(i=0;i } for(i=0;i }//MergeList_Sq int LocateElem_Sq(SqList L,int e,int(*compare)(int)){ } void sort(SqList a,int n) { } int main()//在順序線性表L中查找第1個值與e滿足compare()的元素位序 int i=1,*p;p=L.elem;while(i<=L.length&&!(*p==e))++i;return i;return 0;if(i<=L.length)else int i,j,t;for(i=0;i SqList a,b,c; int i=0,n1,n2;InitList_Sq(a);InitList_Sq(b);printf(“請輸入第一個順序表的整數數據(以0000為結束標志,100個數據以while(scanf(”%d“,&a.elem[i])&&(a.elem[i]!=0000)&&(++i));a.length=i;n1=i;printf(”請輸入第二個順序表的整數數據(以0000為結束標志,100個數據以i=0;while(scanf(“%d”,&b.elem[i])&&(b.elem[i]!=0000)&&(++i));b.length=i;n2=i;sort(a,n1);printf(“順序表1排序后為:”);for(i=0;i }} i--;printf(“順序表1去除重復數據排序后為:”);for(i=0;i printf(“%d ”,a.elem[i]); printf(“n”); printf(“順序表2去除重復數據排序后為: for(i=0;i printf(”%d “,b.elem[i]); printf(”n“); printf(”合并后從小到大為:“); MergeList_Sq(a,b,c); printf(”n“); return 0; }”); 實驗二電視畫面的取景與構圖(2學時) 一、實驗目的1、了解電視畫面構圖的元素。 2、掌握電視畫面構圖的基本方式。 二、實驗設備和儀器 專業數字攝像機、電池、三角架 三、實驗內容及要求 1、實驗內容 (1)基本構圖法。 (2)靜態構圖法。 (3)動態構圖法。 (4)不規則構圖法。 2、實驗要求:本次實驗分組進行;每組成員4-6人。 四、實驗原理及步驟 1、實驗原理 構圖是攝像人員拍攝電視畫面的一個主要環節,是攝像師將現實形象轉變為屏幕形象時采用的畫面結構形式。攝像構圖就是攝像師為表現某一特定的內容和視覺美感效果,將鏡頭前被攝對象以及攝像的各種造型元素有機地組織安排在畫面中,以形成一定畫面形式的創作活動。作為實驗課,應該注意組織鏡頭元素和鏡頭的使用進行畫面的拍攝。 2、步驟 (1)準備好攝像機、三腳架、SD卡、電池、白紙等。 (2)在三腳架上安裝攝像機,開機,調節白平衡。 (3)靜態構圖拍攝。 (4)動態構圖拍攝。 (5)不規則構圖拍攝。 (6)回放拍攝畫面(在電視或監視器上看)。 (7)關機,取出SD卡。 五、使用注意事項 1、構圖訓練是攝像的基本功,也是學習攝影之后對畫面構圖的新的認識。 2、在構圖拍攝時,可以結合短片或模仿的辦法進行實驗。 3、在實驗拍攝的時候,特別要掌握好如何使用攝像機鏡頭,如光圈、聚焦、變焦的運用。 4、如實驗機時不夠,學生可與實驗室聯系,利用開放機時完成實驗。 六、實驗結果分析及實驗報告要求: 1、實驗結果分析要求 (1)通過實驗,得出鏡頭構圖與動態構圖的區別。 (2)構圖的主要有哪些形式。 (3)記錄在實驗過程中,根據實驗結果得出的其他結論與分析。 2.實驗報告要求 請根據實驗的結果和實驗指導書的要求,如實地撰寫實驗報告。其中,“實驗記錄”填寫實驗的步驟和過程,“問題與討論”根據個人實驗情況如實記錄所發現的問題。 注意:實驗結束后提交一份實驗報告電子文檔 電子文檔命名為“學號+姓名”,如:E01214058宋思怡 《數據結構》實驗報告 (一)學號:姓名:專業年級: 實驗名稱:線性表 實驗日期:2014年4月14日 實驗目的: 1、熟悉線性表的定義及其順序和鏈式存儲結構; 2、熟練掌握線性表在順序存儲結構上實現基本操作的方法; 3、熟練掌握在各種鏈表結構中實現線性表基本操作的方法; 4、掌握用 C/C++語言調試程序的基本方法。 實驗內容: 一、編寫程序實現順序表的各種基本運算,并在此基礎上設計一個主程序完成如下功能: (1)初始化順序表L; (2)依次在L尾部插入元素-1,21,13,24,8; (3)輸出順序表L; (4)輸出順序表L長度; (5)判斷順序表L是否為空; (6)輸出順序表L的第3個元素; (7)輸出元素24的位置; (8)在L的第4個元素前插入元素0; (9)輸出順序表L; (10)刪除L的第5個元素; (11)輸出順序表L。 源代碼 調試分析(給出運行結果界面) 二、編寫程序實現單鏈表的各種基本運算,并在此基礎上設計一個主程序完成如下功能: ???? ???? 小結或討論: (1)實驗中遇到的問題和解決方法 (2)實驗中沒有解決的問題 (3)體會和提高 南京信息工程大學實驗(實習)報告 實驗(實習)名稱數據結構實驗(實習)日期 2011-11-2得分指導教師周素萍 系公共管理系專業信息管理與信息系統年級10級班次1姓名常玲學號2010230700 3實驗一順序表的基本操作及C語言實現 【實驗目的】 1、順序表的基本操作及 C 語言實現 【實驗要求】 1、用 C 語言建立自己的線性表結構的程序庫,實現順序表的基本操作。 2、對線性表表示的集合,集合數據由用戶從鍵盤輸入(數據類型為整型),建立相應的順序表,且使得數據按從小到大的順序存放,將兩個集合的并的結果存儲在一個新的線性表集合中,并輸出。 【實驗內容】 1、根據教材定義的順序表機構,用 C 語言實現順序表結構的創建、插入、刪除、查找等操作; 2、利用上述順序表操作實現如下程序:建立兩個順序表表示的集合(集合中無重 復的元素),并求這樣的兩個集合的并。 【實驗結果】 [實驗數據、結果、遇到的問題及解決] 一. Status InsertOrderList(SqList &va,ElemType x) { } 二. Status DeleteK(SqList &a,int i,int k) {//在非遞減的順序表va中插入元素x并使其仍成為順序表的算法 int i;if(va.length==va.listsize)return(OVERFLOW);for(i=va.length;i>0,x } //注意i的編號從0開始 int j;if(i<0||i>a.length-1||k<0||k>a.length-i)return INFEASIBLE;for(j=0;j<=k;j++)a.elem[j+i]=a.elem[j+i+k];a.length=a.length-k;return OK; 三.// 將合并逆置后的結果放在C表中,并刪除B表 Status ListMergeOppose_L(LinkList &A,LinkList &B,LinkList &C) { LinkList pa,pb,qa,qb;pa=A;pb=B;qa=pa;qb=pb;// 保存pa的前驅指針 // 保存pb的前驅指針 pa=pa->next;pb=pb->next;A->next=NULL;C=A;while(pa&&pb){} while(pa){} qa=pa;pa=pa->next;qa->next=A->next;A->next=qa;if(pa->data data){} else{} qb=pb;pb=pb->next;qb->next=A->next;//將當前最小結點插入A表表頭 A->next=qb;qa=pa;pa=pa->next;qa->next=A->next;//將當前最小結點插入A表表頭 A->next=qa; } } pb=B;free(pb);return OK;qb=pb;pb=pb->next;qb->next=A->next;A->next=qb; 順序表就是把線性表的元素存儲在數組中,元素之間的關系直接通過相鄰元素的位置來表達。 優點:簡單,數據元素的提取速度快; 缺點:(1)靜態存儲,無法預知問題規模的大小,可能空間不足,或浪費存儲空間;(2)插入元素和刪除元素時間復雜度高——O(n) 求兩個集合的并集 該算法是求兩個集合s1和s2的并集,并將結果存入s引用參數所表示的集合中帶回。首先把s1集合復制到s中,然后把s2中的每個元素依次插入到集合s中,當然重復的元素不應該被插入,最后在s中就得到了s1和s2的并集,也就是在s所對應的實際參數集合中得到并集。第三篇:實驗報告填寫要求
第四篇:數據結構實驗報告
第五篇:數據結構實驗報告