第十四周项目一 验证算法(折半查找)

导数与微分在 FPS 射击游戏中的实际应用:把“手感”算出来 摘要:射击游戏开发中,单线程适用于简单小游戏(如单机打靶),所有任务由主线程顺序处理,代码简单但效率较低;多线程则适合复杂场景(如多人在线3D大作),通过渲染、逻辑、网络、音效等线程分工协作,确保画面流畅、响应迅速和实时同步。选择依据取决于游戏复杂度、联网需求和性能要求,小型游戏用单线程,大型高要求项目必须采用多线程架构。(149字) 阅读详情

问题及代码:

/*    
*烟台大学计算机与控制工程学院     
*作    者:孙丽玮    
*完成日期:2016年11月27日 
*问题描述:认真阅读并验证折半查找算法。请用有序表{12,18,24,35,47,50,62,83,90,115,134}作为测试序列,分别对查找90、47、100进行测试。
*/ 
1、折半查找

#include <stdio.h>
#define MAXL 100
typedef int KeyType;
typedef char InfoType[10];
typedef struct
{
    KeyType key;                //KeyType为关键字的数据类型
    InfoType data;              //其他数据
} NodeType;
typedef NodeType SeqList[MAXL];     //顺序表类型

int BinSearch(SeqList R,int n,KeyType k)
{
    int low=0,high=n-1,mid;
    while (low<=high)
    {
        mid=(low+high)/2;
        if (R[mid].key==k)      //查找成功返回
            return mid+1;
        if (R[mid].key>k)       //继续在R[low..mid-1]中查找
            high=mid-1;
        else
            low=mid+1;          //继续在R[mid+1..high]中查找
    }
    return 0;
}

int main()
{
    int i,n=11;
    int result;
    SeqList R;
    KeyType a[]={12,18,24,35,47,50,62,83,90,115,134},x=100;
    for (i=0; i<n; i++)
        R[i].key=a[i];
    result = BinSearch(R,n,x);
    if(result>0)
        printf("序列中第 %d 个是 %d\n",result, x);
    else
        printf("没有找到!\n");
    return 0;
}

2、递归的折半查找

#include <stdio.h>
#define MAXL 100
typedef int KeyType;
typedef char InfoType[10];
typedef struct
{
    KeyType key;                //KeyType为关键字的数据类型
    InfoType data;              //其他数据
} NodeType;
typedef NodeType SeqList[MAXL];     //顺序表类型

int BinSearch1(SeqList R,int low,int high,KeyType k)
{
    int mid;
    if (low<=high)      //查找区间存在一个及以上元素
    {
        mid=(low+high)/2;  //求中间位置
        if (R[mid].key==k) //查找成功返回其逻辑序号mid+1
            return mid+1;
        if (R[mid].key>k)  //在R[low..mid-1]中递归查找
            BinSearch1(R,low,mid-1,k);
        else              //在R[mid+1..high]中递归查找
            BinSearch1(R,mid+1,high,k);
    }
    else
        return 0;
}

int main()
{
    int i,n=11;
    int result;
    SeqList R;
    KeyType a[]={12,18,24,35,47,50,62,83,90,115,134},x=50;
    for (i=0; i<n; i++)
        R[i].key=a[i];
    result = BinSearch1(R,0,n-1,x);
    if(result>0)
        printf("序列中第 %d 个是 %d\n",result, x);
    else
        printf("没有找到!\n");
    return 0;
}

运行结果:




总结:

折半查找是将数据对半分开,一般一般查找,节省查找时间,查找的数据以顺序方式存储,同时注意逻辑序号和物理序号 。

ROSTCM6软件下载及语义网络分析详细操作教程(附网盘链接) ROSTCM6是武汉大学沈阳教授研发编码的国内目前唯一的以辅助人文社会科学研究的大型免费社会计算平台。该软件可以实现微博分析、聊天分析、全网分析、网站分析、浏览分析、分词、词频统计、英文词频统计、流量分析、聚类分析等一系列文本分析。 阅读详情

相关推荐

华为数通---配置风暴控制案例

风暴控制可以通过阻塞报文或关闭端口来阻断广播、未知组播和未知单播报文的流量。

2301_77081516的博客 1624

c语言_struct SeqList 与 typedef struct用法

struct SeqList 的用法 struct SeqList { ElemType data[SEQ_INIT_SIZE];//数据元素个数 int cursize;//空间 }; int main() { struct SeqList myseq; struct SeqList *pseq; struct SeqList seqar[10]; return 0; } typedef struct 的用法 typedef struct { ElemType data[SEQ_I.

binnnnnnn_的博客 2471

AD(AltiumDesigner)封装导入allegro生成allegro封装

AD(AltiumDesigner)封装导入allegro生成allegro封装 貌似PCB的封装问题是一个无尽话题,为了简单我总是想找捷径(主要还是太懒了),因为也是近期才开始学习使用allegro进行PCB设计,在最近的一个设计中,很多器件封装allegro中都没有,一个一个画感觉很费时间,但是在AD(AltiumDesigner)的封装库中是有的,于是便想着AD的封装库能不能倒入到alleg...

yangh2560的博客 2万+

顺序查找算法

顺序查找算法 代码实现如下: #include <stdio.h> #define MAXL 100 typedef int KeyType; typedef char InfoType[10]; typedef struct { KeyType key; //KeyType为关键字的数据类型 InfoType data; //其他数据 } NodeType; typedef NodeType SeqList[MAXL];

Lau's Blog 2807

《生成式AI引发的“认知污染”:社交媒体虚假信息的治理困局》

认知污染与生成式AI“认知污染”指信息环境被大量虚假、误导性内容所充斥,干扰公众对事实的认知判断。在社交媒体时代,虚假信息的生产和传播门槛大幅降低,呈现出工业化、规模化的趋势。近年兴起的生成式人工智能(Generative AI)技术,如大型语言模型(LLM)和深度伪造(deepfake),更是加剧了这一问题。AI可以自动生成看似真实的文本、图像、音视频,将虚假信息批量生产并快速散播到社交平台上。

那谁的博客 5912

VMware使用Windows、WinXP等虚拟机上不了网的解决办法(管用)

这个情况一般出现在可以插网线的电脑上,比如台式机和有网线插口的笔记本。需要转换器才能插网线的笔记本一般不会出现这种情况. 查看主机的IP地址和虚拟机的IP地址是否在同一网段,如果在的话,虚拟机就能上网了!!(备注:虚拟机中的IP地址一定要和主机中的用来上网的那个连接的IP地址相同哦)。

爱吃雪糕的小布丁的博客 1万+

第十四周项目1—验证算法(折半查找法)

问题及代码 /*作者:郗传秀 *完成日期:2016年12月2日 *问题描述:认真阅读并验证折半查找算法。请用有序表{12,18,24,35,47,50,62,83,90,115,134} 作为测试序列,分别对查找90、47、100进行测试。 *输入描述:无 *程序输出:测试结果 */ #include<stdio.h> #define MAXL 1000 type...

DSCCX的博客 536

基于DeepFashion2和YOLOv12的服装检测系统:从数据集构建到UI界面实现

官方网站:数据集大小: 约80GB(压缩包)包含训练集、验证集和测试集数据集目录结构:text复制下载├── train/└── test/├── image/├── annos/Backbone优化:使用更高效的CSPNet结构Neck增强:引入BiFPN特征金字塔网络Head改进:使用解耦头(Decoupled Head)提升分类和定位精度损失函数:采用CIoU损失和分类Focal Loss训练策略:引入Mosaic数据增强和自适应锚框python复制下载。

YOLO 498

第十四周项目1-验证算法(1-折半查找算法)

问题及代码: /* copyright (t) 2016,烟台大学计算机学院 *All rights reserved. *文件名称:1.cpp *作者:常锐 *完成日期:2016年12月2日 *版本号:v1.0 *问题描述:认真阅读并验证折半查找算法。请用有序表{12,18,24,35,47,50,62,83,90,115,134}作为测试序列,分别对查找90、47、100进行测

cr496352127的博客 682

手把手教您 Claude 桌面端无需账号订阅,免费接入国产自定义大模型(Claude Desktop 绕过订阅限制,接入任意自定义 AI 模型)

无需官方账号,也能畅玩Claude桌面端!本文详解Claude Desktop如何跳过登入接入自定义大模型,轻松解锁Cowork、Code等强大功能🚀

XiaoqiangClub的博客 5411

Python 爬虫进阶技巧:新手必学的反爬突破与效率优化

本文系统总结了爬虫进阶的核心技巧,针对新手常见的反爬拦截、效率低下、动态页面解析等痛点问题,提出了可落地的解决方案。主要内容包括:通过随机UA池、代理IP池和Cookie池突破常见反爬机制;利用多线程/异步请求提升爬取效率;使用Selenium解析动态渲染页面;以及数据清洗方法提升数据质量。文中提供了完整的代码示例和实战对比数据,并强调爬虫开发应遵守合规性要求。这些技巧能帮助开发者快速提升爬虫实战能力,应对80%以上的常见爬取需求。

2503_91057718的博客 1436

第十四周项目1--验证算法--(1)折半查找

问题及代码: /* *烟台大学计算机与控制工程学院 *作 者:刘倩 *完成日期:2016年11月25日 *问题描述:请用有序表{12,18,24,35,47,50,62,83,90,115,134}作为测试序列,分别对查找90、47、100进行测试 */ #include #define MAXL 100 typedef int KeyTy

meiyanrumei的博客 364

全志V3S嵌入式驱动开发(uboot移植)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 安装了ubuntu操作系统,有了开发板,下面就可以进行我们的开发工作了。第一步,我们要面临的问题就是uboot移植。一般来说,嵌入式的基础环境就是uboot、linux和rootfs。uboot完成一些基本硬件的初始化,比如cpu频率设置、ddr初始化、加载linux等等。早前,uboot的烧入比较麻烦,需要jtag工具才能完成。现在来说,很多soc支持系统直接从sd卡启动,这对开发

嵌入式-老费,一个分享专业嵌入式知识的blog 2818

第十四周项目一:验证折半查找算法

/* * Copyright (c)2015,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名称:项目1-1.cbp * 作    者:孙立立 * 完成日期:2015年12月14日 * 版 本 号:v1.0 * 问题描述:验证折半查找算法 * 输入描述:无 * 程序输出:测试数据 */代码: #include #define

Slingchen的博客 480

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

第十四周 项目一-验证算法(折半查找算法)

/* *2015 ,烟台大学计算机控制工程学院 *All rights reserved *文件名称:chazhao.cpp *完成日期:2015年11月30日 *作者:邱暖 *问题描述:认真阅读并验证折半查找算法。请用有序表{12,18,24,35,47,50,62,83,90,115,134} *作为测试序列,分别对查找90、47、100进行测试。 */ #include

q6826的博客 405

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

第十四周项目一 (1)验证算法——折半查找

/* * Copyright (c) 2015, 烟台大学计算机与控制工程学院 * All rights reserved. * 文件名称: main.cpp * 作者:巩凯强 * 完成日期:2015年11月30日 * 版本号:codeblocks * * 问题描述: 用有序表{1,3,9,12,32,41,45,62,75,77}作为测试序列,对x=75查找进行测

巩凯强的博客 522

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

第十四周项目一 (1)验证算法——递归的折半查找算法

/* * Copyright (c) 2015, 烟台大学计算机与控制工程学院 * All rights reserved. * 文件名称: main.cpp * 作者:巩凯强 * 完成日期:2015年11月30日 * 版本号:codeblocks * * 问题描述: 用有序表{1,3,9,12,32,41,45,62,75,77}作为测试序列,对x=75查找进行测试。 * 输

巩凯强的博客 661

第十四周项目1验证折半查找算法

/* * Copyright (c)2015,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名称:第十四周项目1.1.cpp * 作    者:彭子竹 * 完成日期:2015年12月4日 * 版 本 号:v1.0 * 问题描述:验证折半查找算法 * 输入描述:无 * 程序输出:测试数据 */ 代码: #include #de

pzz19960418的博客 368

第十四周项目1-验证折半查找算法

2015,烟台大学计算机与控制工程学院 文件名称:项目1-验证折半查找算法 作 者:杨惠娟 完成日期:2015年12月4日 问题描述:验证折半查找算法 输入描述:无 程序输出:测试数据 代码: #include #define MAXL 100 typedef int KeyType; typedef char InfoType[10]; typede

yanghuijuan12138的博客 385

第十四周项目一(验证各算法)

问题及代码: *Copyright(c)2016,烟台大学计算机与控制工程学院 *All right reserved. *文件名称:验证算法.cpp *作者:张冰 *时间:12月2日 *版本号;v1.0 *问题描述: 认真阅读并验证折半查找算法。 认真阅读并验证分块查找算法。 认真阅读并验证二叉排序树相关算法。

qq_1562zb的博客 808

第13周 【项目一】 验证折半查找算法

/*   *Copyright  (c)2017,烟台大学计算机与控制工程学院       *All rights reservrd.            *作者:李欣豪  *完成时间:2017年11月30日       *版本号:v1.0       *问题描述:运行并本周视频中所讲过的算法,观察结果并领会算法。  1、认真阅读并验证折半查找算法。请用有序

qq_39837019的博客 427

第十四周项目1(1)--验证折半查找算法

问题及代码: /* * Copyright (c)2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名称:项目1.cpp * 作 者:陈哲 * 完成日期:2016年12月8日 * 版 本 号:v1.0 *问题描述:认真阅读并验证折半查找算法。请用有

sdchenzhe的博客 385

第十四周项目1-(1)验证折半查找算法

问题: /* * Copyright (c)2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名称:项目1-1.cbp * 作 者:杨雅鑫 * 完成日期:2016年11月29日 * 版 本 号:v1.0 * 问题描述:验证折半查找算法 * 输入描述:无 * 程序输出:测试数据 */ 代码: #include

yyx的博客 399

第14周项目(1)-验证折半查找算法

问题及代码 (1)折半查找 (2)递归算法的折半查找 #include #define MAXL 100 typedef int KeyType; typedef char InfoType[10]; typedef struct { KeyType key; //KeyType为关键字的数据类型 InfoType data;

lalala_wm的博客 499

第十四周 项目一 1【折半查找】

/*问题及代码 *Copyright(c)2016,烟台大学计算机学院 *All right reserved. *文件名称:验证算法.cpp *作者:李潇 *时间:12月8日 *版本号;v1.0 *问题描述: 认真阅读并验证折半查找算法。 *输入描述:无 *程序输出:根据要求输出 */ 折半代码: #include #de

sdlixiao6的博客 423

第十四周 验证算法——折半查找

/* * Copyright (c) 2015, 烟台大学计算机与控制工程学院 * All rights reserved. * 文件名称: main.cpp * 作者:于东林 * 完成日期:2015年1月3日 * 版本号:codeblocks * * 问题描述:  用有序表{1,3,9,12,32,41,45,62,75,77}作为测试序列,对x=75查找进行测试。 * 输入描

ydl197791的博客 479
上一篇: 第十三周项目五 拓扑排序算法的验证
下一篇: 第十四周项目一 验证算法(分块查找)
MF-Bee
博客等级 码龄10年 25粉丝 93原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值