查找排序实验报告

文章《查找排序实验报告》是由【作文仓库】的会员【笑着的人怎么哭了】为大家整理并分享的,仅供大家参考,欢迎阅读!

数据结构实验报告

实验名称:查找

班级:12级电气本2

学号:2012081227

姓名:赵雪磊

指导教师:梁海丽

日期:2013年11月18日

数学与信息技术学院

一、实验目的

1.掌握二叉排序树的概念。

2.掌握查找的不同方法,并能用高级语言实现查找算法。

3.实现二叉排序树的基本操作方法。

二、实验要求

给定一个记录关键字的值,与二叉排序树的根结点值比较,如果小于根结点的值,则向左子树查找;如果大于根结点的值,则向右子树查找。如果查找到叶子结点leaf,仍没有找到记录,则:如果关键字的值小于leaf的值,则插入该leaf结点的左边,做leaf的左孩子,否则做leaf的右孩子。

三、算法描述

template

class hashdict

{

private:

Elem* HT; // 散列表

int M; // 散列表大小

Elem TOMB; //墓碑

int currcnt; // 现有元素数目

Elem EMPTY; // 空槽

int p(Key K, int i) const // 探查函数

{ return linear(i); }

int h(int x) const { return x % M; } // 散列函数

int h(char* x) const { // 字符串散列函数

int i, sum;

for (sum=0, i=0; x[i] != '\0'; i++) sum += (int) x[i];

return(sum % M);

}

int linear(int i) const {return i;} //线性探查

int square(int i) const { //二次探查

if (i%2==0) return -(i*i/4);

else return (i+1)*(i+1)/4;

}

int rehash (Key K, int i) const;

int division(int x ) const { return x % M; } //除余法

int ELFhash ( char* key )const {

unsigned long h = 0;

while(*key) {

h = ( ch << 4 ) + *key++;

unsigned long g = h&0xF0000000L;

if (g) h^= g >> 24;

h = ~g;

}

return h % M;

}

public:

hashdict(int sz, Elem e, Elem t){// 构造函数, e用来定义空槽M=sz; EMPTY= e; TOMB=t;

currcnt=0; HT=new Elem[sz];

for(int i=0; i}

~hashdict() { delete HT; }

bool hashInsert(const Elem&);

bool hashSearch(const Key&, Elem&) const;

Elem hashDelete(const Key& K);

int size() { return currcnt; } // 散列表中现有元素数

};

四、程序清单

#include

#include

#define OK 1

#define ERROR 0

int Search_Bin(int score[],int length,int key)

{

int low,high,mid;

low=1;

high=length;

while(low<=high)

{

mid=(low+high)/2;

if(score[mid]==key)

return mid;

else if(keyhigh=mid-1;

else if(key>score[mid])

low=mid+1;

}

return ERROR;

}

int main()

{

int score[11];

int length=10;

int key,index;

printf(

for(int i=1;i<=length;i++)

{

scanf(

}

printf(

scanf(

if(Search_Bin(score,length,key))

{

index=Search_Bin(score,length,key);

printf(

}

else

printf(

return OK;

}

五、实验结果与分析

六、实验心得

通过本次查找实验,让我懂得了如何应用冒泡排序,如何对有序数组进行折半查

找,加深了对折半查找的理解,初步掌握了其基本概念和操作。

排序与查找实验报告java,查找排序实验报告 - 范文大全 - 作文仓库-www.zuowencangku.com...相关推荐

  1. java面向对象实验结论及心得_20162305 实验二 Java面向对象程序设计 实验报告

    20162305 实验二 Java面向对象程序设计 实验报告 实验内容 1.初步掌握单元测试和TDD 2.理解并掌握面向对象三要素:封装.继承.多态 3.初步掌握UML建模 4.熟悉S.O.L.I.D ...

  2. 20145206《Java程序设计》实验二Java面向对象程序设计实验报告

    20145206<Java程序设计>实验二Java面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O. ...

  3. java 数组中某个数出现的概率_剑指Offer解题报告(Java版)——排序数组中某个数的个数 38...

    分析问题 问题只需要找到排序数组中某个数K的个数,由于已经是排序了,K一定是在一堆的,所以我们只需要找到第一个K的index1,然后找到最后一个K的index2就可以了 而寻找K的过程我们一般通过二分 ...

  4. 《Java程序设计》实验二 实验报告

    实验二 Java面向对象程序设计 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 实验要求 1.没有Lin ...

  5. Java第二次实验报告——Java面向对象程序设计

    北京电子科技学院(BESTI) 实    验    报    告 课程名称:java程序设计实验      班级:1352         姓名:洪韶武      学号:20135219 成绩:   ...

  6. java构成对象的三要素_20155237 《JAVA程序设计》实验二(JAVA面向对象程序设计)实验报告...

    20155237 <JAVA程序设计>实验二(JAVA面向对象程序设计)实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S ...

  7. java程序设计输入输出实验_20145320《Java程序设计》第五次实验报告

    20145320<Java程序设计>第五次实验报告 北京电子科技学院(BESTI)实验报告 课程:Java程序设计 班级:1453 指导教师:娄嘉鹏 实验日期:2016.05.06 18: ...

  8. java继承机制实验报告_JAVA继承实验报告.doc

    JAVA继承实验报告 JAVA语言程序设计 实验报告 实验一 实验题目: 面 向 对 象 编 程 指导老师: 卢照 专业班级:计算机科学与技术系1106班 姓 名:*****) 2014年3月20日 ...

  9. java实验报告系统分析怎么写_20155218 《Java程序设计》实验二(Java面向对象程序设计)实验报告...

    20155218 <Java程序设计>实验二(Java面向对象程序设计)实验报告 一.实验内容及步骤 (一)单元测试 主要学习安装和使用junit来测试编写的程序,并学习以TDD(Test ...

最新文章

  1. 计算机软件及其软件系统,计算机软件系统课件
  2. 数据结构与算法-列表相关时间复杂度
  3. Codeforces 1091E New Year and the Acquaintance Estimation Erdős–Gallai定理
  4. 回答一下这些游戏帧数有关的问题吗?
  5. TikTok欧洲首个数据中心将建在爱尔兰 投资5亿美元
  6. MongoDB学习笔记lt;七gt;
  7. python 如何加密自己的脚本
  8. pytorch macos_Windows,Linux和MacOS上的PyTorch安装
  9. LeetCode 68. Text Justification
  10. linux 线程的基本知识
  11. 如何将APP安装包发布到360手机助手上
  12. amaze ui教程
  13. python 抖音短视频 去水印_如何去除抖音快手等短视频平台的水印?(工具+原理)...
  14. swiftui改变图片尺寸_SwiftUI中的等轴测视图
  15. 退出痛区-使用NDepend进行静态分析
  16. 微信h5分享好友和朋友圈功能
  17. 解决报错:The Module Root specified is not a module according to Intellij
  18. 微信小程序输入框字数限制以及计算
  19. WIN10共享打印机连接出现0x0000011b错误代码无法共享打印
  20. 智能门锁:电源管理概述2

热门文章

  1. Python中将两个列表(list)数据zip起来
  2. R语言使用dplyr聚合统计分组数据、ggplot2可视化分组线图、使用geom_line函数自定义设置线条类型、粗细、颜色(Change line types + colors by groups)
  3. R语言ggplot2可视化气泡图:无填充色的气泡图、自定义填充色的气泡图
  4. R语言使用ggplot2包geom_jitter()函数绘制分组(strip plot,一维散点图)带状图(双分类变量分组:色彩配置、添加箱图、位置参数调整)实战
  5. R语言list.files函数获取文件列表实战
  6. Python构建lassocv模型并输出Rad-score公式
  7. python使用正则表达式抽取文件中的IP地址
  8. 俞敏洪+摆脱恐惧+世界想让你做一个平凡的人、你信了吗
  9. 什么是多重共线性问题?如何判别多重共线性问题?怎么避免多重共线性对模型和学习的干扰?
  10. 分式的二阶导数怎么求_高考数学导数大题如何抢分? 名师手把手教你! 高一高二也要看...