资源简介
计算机专业大二必备的,非常好用的数据结构课程设计 ,代码完美运行,实验报告也是写好了的可以直接用
代码片段和文件信息
#include
#include
#include
#include
#include
#include
using namespace std;
#define HashSize 50
#define MAX 100
#define LH 1
#define EH 0
#define RH -1
FILE *fp;
int data[20];
int data2[20];
//********************************************************************
int Binary_Search(int keyint lowint high)//折半查找
{
int mid;
if(low == high)
{
if(data[low] == key)
return low;
else
return -1;
}
else
{
mid = (low + high) / 2;
if(mid == low)
mid++;
if(key < data[mid])
return Binary_Search(key low mid - 1);
else
return Binary_Search(key mid high);
}
}
void zheban()
{
int locate;
int key;
if((fp=fopen(“D:\\编程的文件\\查找算法性能比较\\折半查找.txt““r“))==NULL)
{
printf(“cannot open file\n“);
}
for(int i=0;i<20;i++)
fscanf(fp“%d“&data[i]);
fclose(fp);
printf(“\n有序序列为:\n“);
for(int i=0;i<20;i++)
printf(“%d “data[i]);
printf(“\n请输入要查找的数: “);
scanf(“%d“ &key);
if(key != -1)
{
locate = Binary_Search(key019);
if(locate != -1)
{
printf(“\n值%d的位置为:%d\n\n“ key locate+1);
}
else
{
printf(“没有找到%d\n“ key);
}
}
else
exit(1);
cout< }
//************************************************************************
typedef struct
{
int key; //关键字
int data; //信息域
}Record; //用给定的关键字值与表中其他元素的关键字值比较
typedef struct
{
Record r[MAX+1];
int length;
}SqTable;
int search(SqTable sint k)
{
int i;
s.r[0].key=k;
i=s.length; //自几用的逆序
while(s.r[i].key!=k)
i--;
return i;
}
void sunxu()
{
SqTable s;
int wzilenxy;
printf(“请输入表长:\n“);
scanf(“%d“&len);
s.length=len;
printf(“请输入表的各个元素:\n“);
for(i=1;i<=len;i++)
{
scanf(“%d“&x);
s.r[i].key=x;
}
printf(“请输入要查找的元素:\n“);
scanf(“%d“&y);
wz=search(sy);
if(wz==0)
{
printf(“不存在:\n“);
}
else
printf(“位置为:%d“wz);
}
//************************************************************************
void fibonacci(int *f)//斐波那契数
{
f[0] = 1;
f[1] = 1;
for(int i = 2;i < 20;++i)
f[i] = f[i - 2] + f[i - 1];
}
int fibonacci_search(int *aint keyint n)//斐波那契查找
{
int low = 0high = n - 1;
int mid = 0;
int k = 0;
int F[20];
fibonacci(F);
while(n > F[k] - 1) //计算出n在斐波那契中的数列
++k;
for(int i = n;i < F[k] - 1;++i) //把数组补全
a[i] = a[high];
while(low <= high)
{
mid = low + F[k-1] - 1; //根据斐波那契数列进行黄金分割
if(a[mid] > key)
{
high = mid - 1;
k = k - 1;
}
else if(a[mid] < key)
{
low = mid + 1;
k = k - 2;
}
else{
if(mid <= high) //如果为真则找到相应的位置
return mid;
else
return -1;
}
}
return -1;
}
int Fibonacci()
{
if((fp=fopen(“D:\\编程的文件\\查找算法性能比较\\斐波那契.txt““r“))==NULL
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 698368 2018-07-10 15:15 报告.doc
文件 65 2014-05-06 19:06 折半查找.txt
文件 59 2014-10-29 23:28 散列法.txt
文件 66 2014-05-06 19:06 斐波那契.txt
文件 22030 2018-03-30 08:39 1数据结构.cpp
- 上一篇:OPENJTAG驱动包
- 下一篇:AD823的相关有用资料
相关资源
- 八路抢答器课程设计报告
- 操作系统课程设计生产者与消费者
- 数字逻辑电路红绿灯设计
- TSP回溯法实现从武汉出发,进行34个省
- 超外差接收机课程设计
- 上海理工大学《数据结构》期末试题
- zw_wangxingse-6021953-24C04与1602LCD设计电子
- 杭电数据结构马踏棋盘实验报告
-
xm
l课程设计代码 - 高频课程设计 混频器
- 利用哈夫曼编码进行通信可以大大提
- 电力电子与电力传动课程设计
- 数字电路七彩灯课程设计报告
- 面向对象课程设计.doc
- 数据结构运动会分数统计实验报告
- 锅炉课程设计xlsm自动计算
- 微机原理课程设计——交通灯控制系
- 操作系统+算法导论+计算机网络知识
- 运动会分数统计设计报告
- 张紧轮支架课程设计淘宝买的
- 数据结构实验报告3-栈与队列-中缀表
- 数据结构实验报告1-线性表-两个有序
- 信息安全课程设计报告
- 中缀表达式转后缀表达式并求值
- 数据结构第九章 查找作业及答案100分
- 第十章 排序作业及答案数据结构
- 武汉理工大学 课程设计 Proteus信号发
- 数据结构课程设计 表达式求值
- 江苏科技大学计算机软件专业课程设
- 电子琴课程设计报告.doc
评论
共有 条评论