
数据结构实验报告35000字.docx
66页数据结构实验报告35000字 课 程 实 验 报 告课程名称: 数据结构专业班级:学 号:姓 名:指导教师:报告日期:计算机科学与技术学院目 录1 课程实验概述 ............................................................................................................................... 2 2 实验一 基于顺序结构的线性表实现2.1 问题描述 ........................................................................................................................... 32.2 系统设计 ........................................................................................................................... 32.3 系统实现 ........................................................................................................................... 42.4 效率分析 ......................................................................................................................... 11 3 实验二 基于链式结构的线性表实现3.1 问题描述 ......................................................................................................................... 133.2 系统设计 ......................................................................................................................... 133.3 系统实现 ......................................................................................................................... 143.4 效率分析 ......................................................................................................................... 14 4 实验三 基于二叉链表的二叉树实现4.1 问题描述 ......................................................................................................................... 234.2 系统设计 ......................................................................................................................... 234.3 系统实现 ......................................................................................................................... 244.4 效率分析 ......................................................................................................................... 345 实验总结与评价 ......................................................................................................................... 351 课程实验概述本课程实验为数据结构试验,包括三个实验内容,实验目的在于:1.加深对数据结构和算法的理解,进一步提高学生编程能力;2.培养和提高学生分析问题与解决问题的综合能力;3.整理资料,撰写规范的实验报告。
2 实验一 基于顺序结构的线性表实现2.1 问题描述基于顺序存储结构,实现线性表的基本的、常见的运算 实验要求: ⑴ 提供一个实现功能的演示系统⑵ 具体物理结构和数据元素类型自行选定⑶ 线性表数据可以使用磁盘文件永久保存2.2 系统设计线性表的顺序存储表示:typedef struct {ElemType *elem; 指针,指向顺序存放的一串数据元素int length; 表长(实际数据元素个数)int size; 表的大小(最多存贮数据元素个数)}SqList;相关函数的算法思想描述:InitList(&L) (创建表,此处是指表的初始化):(1)申请存储数据元素空间(2)置表长为0.DestroyList(&L) (销毁表):(1)释放存储数据元素的空间置指针值为NULLClearList(&L) (置表空):(1)置表长为空(length=0)ListEmpty(L) (判空):(1)若表长=0,返回TRUE,否则返回FALSEListLength(L) (求表长):(1)返回表长GetElem (L, i, &e) (获取数据元素):(1)将第i单元值赋值给eLocateElem( L,e,compare( ) ) (查找数据元素)(1)按compare条件顺序查找e,若找到(第一次找到)返回对应位序,若未找到返回0 PrioreElem( L, cur_e, &pre_e ) (获得前驱)(1)查找cur_e获取位序K(2)若K>1,将K-1号单元的元素赋值给pre_e并返回,否则返回ERROR。
NextElem( L, cur_e, &next_e ) ( 获取后继):(1)查找cur_e, 获得位序K(2)若K<表长,将K+1号元素值赋值给next_e并返回,否则返回ERROR ListInsert( &L, i, e ) (插入数据元素):(1)移动元素,将位序为L.length ~ i 的数据元素顺序向后移动一个存储单元(2)插入新值,将e置入第i号存储单元 (3)修改表长,将表长加1ListDelete(&L, i, &e) (删除数据元素):(1)获取返回值,将i号单元数据值赋给e返回(2)移动元素,将序号i+1 ~ L.length的数据元素顺序前移一个存储单元 (3)修改表长,将表长减1ListTraverse( L, visit( ) )(1)调用visit函数顺序访问每一个数据元素,用L.length控制循环次数2.3 系统实现相关结构及函数原型的说明(C语言描述)/* Linear Table On Sequence Structure */#include
