- 19
- 0
- 约4.51千字
- 约 7页
- 2021-02-08 发布于天津
- 举报
.
实 验 报 告
课程名称 数据结构 实验名称 查找与排序的实现
系别 专业班级 指导教师 11
学号 实验日期 实验成绩
一、实验目的
(1) 掌握交换排序算法(冒泡排序)的基本思想;
(2) 掌握交换排序算法(冒泡排序)的实现方法;
(3) 掌握折半查找算法的基本思想;
(4) 掌握折半查找算法的实现方法;
二、实验内容
1. 对同一组数据分别进行冒泡排序,输出排序结果。要求:
1) 设计三种输入数据序列:正序、反序、无序
2) 修改程序:
a) 将序列采用手工输入的方式输入
b) 增加记录比较次数、移动次数的变量并输出其值,分析三种序列状态的算法时间复杂
性
2. 对给定的有序查找集合,通过折半查找与给定值 k 相等的元素。
3. 在冒泡算法中若设置一个变量 lastExchangeIndex 来标记每趟排序时经过交换的最后位置,
算法如何改进?
三、设计与编码
1.本实验用到的理论知识
2.算法设计
.
.
.
.
3.编码
package sort_search;
import java.util.Scanner;
public class Sort_Search {
// 冒泡排序算法
public void BubbleSort(int r[]){
int temp;
int count=0,move=0;
boolean flag=true;
for(int i=1;ir.lengthflag;i++){
flag=false;
count++;
for(int j=0;jr.length-i;j++){
if(r[j]r[j+1]){
temp=r[j];
r[j]=r[j+1];
r[j+1]=temp;
move++;
flag=true;
}
}
}
System.out .println( 排序后的数组为: );
for(int i=0;ir.length;i++){
System.out .print(r[i]+ );
}
System.out .println();
System.out .println( 比较次数为: +count);
System.out .println( 移动次数为: +move);
}
public static int BinarySearch(int r[],int key){
// 折半查找算法
.
原创力文档

文档评论(0)