ST.elem i ST.elem i 60 i key 64 key 60 i 64 int Search_Seq SSTable ST, KeyType key // 在顺序表ST中顺序查找其关键字等于 // key的数据元素。若找到,则函数值为 // 该元素在表中的位置,否则为0。 ST.elem[0].key key; // “哨兵” for i ST.length; ST.elem[i].key! key; --i ; // 从后往前找 return i; // 找不到时,i为0 // Search_Seq ST.elem ST.length 例如: key 64 的查找过程如下: low high mid low mid high mid low 指示查找区间的下界 high 指示查找区间的上界 mid low+high /2 int Search_Bin SSTable ST, KeyType key low 1; high ST.length; // 置区间初值 while low high mid low + high / 2; if (EQ key , ST.elem[mid].key return mid; // 找到待查元素 else if LT key , ST.elem[mid].key high mid - 1; // 继续在前半区间进行查找 else low mid + 1; // 继续在后半区间进行查找 return 0; // 顺序表中不存在待查元素 // Search_Bin 实验要求: 认真看书,理解本节系列算法的思想. 上机前写出各算法C语言的源代码。 上机运行代码。 保存和打印出程序的运行结果,并结合程序进行分析。 编写主程序并运行,打印出文件清单和运行结果。 写出实验报告。 数据结构实验教学课件 实验内容: 实验1主要实现创建一个顺序表,建立一个顺序表,输出一个顺序表 实验2主要实现顺序表的插入操作。 实验3主要实现顺序表的删除操作 自主编程实现顺序表的查找操作。 数据结构实验教学课件 实验内容: 1实现创建一个单链表表,建立一个单链表,输出一个单链表 2有序单链表的合并. 3删除单链表的重复值(选作)。 4主要实现单循环链表的逆置(选作)。 数据结构实验教学课件 实验内容:(一) 1、利用顺序栈各种基本运算的算法(实验1) 2、实现链栈各种基本运算的算法(实验2) 3、实现数值转换算法。(写在预习本上)。 数据结构实验教学课件 实验内容:(二) 1、利用顺序队列实现各种基本运算的算法(实验3),做修改变成循环队列。 2、利用链队列实现各种基本运算的算法(实验4) 3、完成上次没完成的内容。 数据结构实验教学课件 实验内容: 1、实验1用递归算法实现创建一棵二叉树(必做) 2、实验2实现二叉树各种遍历算法。(选做) 3、实现中序遍历的非递归算法。(写在预习本上) 数据结构实验教学课件 实验内容: 1、实验3用递归算法实现统计二叉树叶子结点个数(必做) 2、实验4实现二叉树深度的统计算法。(必做) 3、实现二叉树深度统计的非递归算法。(选做) 数据结构实验教学课件 实验内容: 1、实现创建图的邻接矩阵结构的算法。 2、实现邻接矩阵与邻接表的转换算法。 3、实现创建图的邻接表的算法。 数据结构实验教学课件 实验内容: 1、实现图遍历的算法。实验二。(必做)写到预习作业本。 2、求2点间边数最少的路径(选做) 3、实现图的拓扑排序的算法。(选做) 数据结构实验教学课件 实验内容: 1、 顺序查找的设计与实现(必做) 2、折半查找的设计与实现(必做) 3、直接插入排序算法的实现(必做) 数据结构实验教学课件 实验三 串 实验目的: 1 掌握字符串的基本操作。 2 熟悉串函数的实现方法。 数据结构实验教学课件 实验三 串 实验内容: 1 完成实验指导书实验一内容。 2 独立编程实现串的联接操作(写在预习本上)。 数据结构实验教学课件 实验四 数组 实验内容: 1 完成实验指导书P71基础实验中建立三元组顺序表,输出三元组顺序表和矩阵的转置的内容。 2 自主编程实现快速转置的算法。 数据结构实验教学课件 #define MAXSIZE 12500 typedef struct int i, j; //该非零元的行下标和列下标 ElemType e; // 该非零元的值 Triple; // 三元组类型 一、三元组顺序表 typedef struct Triple data[MAXSIZE + 1]; int mu, nu, t
原创力文档

文档评论(0)