【算法设计与分析qwl】伪码——顺序检索,插入排序
伪代码:

例子:
| 改进的顺序检索 Search(L,x) | |
| 输入:数组L[1...n],元素从小到大排序,数x | |
| 输出:若x在L中,输出x位置下标 j ,否则输出0 | |
| j <- 1 while j<=n and x>L[j] do j <- j+1 if x<L[j] or j >n then j<- 0 return j |
插入排序
| 插入排序 Insert Sort(A,n) | |
| 输入:n个元素的数组A | |
| 输出:按照递增顺序排好序的数组A | |
| for j <- 2 to n do //从第2到第n个数进行插入 x <- A[j] i <- j-1 //3-7行把A[j]插入A[1..j-1] while i>0 and x<A[i] do A[i+1] <- A[i] i <- i-1 A[i+1] <- x |
|

顺序检索:
例子:检索


![]()
顺序检索算法:

实例:
最坏情况的时间估计:

在数组中或位于间隙处。

平均情况的时间估计:
假设x在L中概率是p , 且每个位置概率相等。

如果在数列里:p/n是在第i个位置的概率,第i个位置需要比较i次。对n个位置进行求和。
如果不在数列里:出现概率是(1-p) 每种情况都是n次比较。

改进顺序检索算法:

不在数组中时:比较到 x1<x<x2时就结束比较。

| 改进的顺序检索 Search(L,x) | |
| 输入:数组L[1...n],元素从小到大排序,数x | |
| 输出:若x在L中,输出x位置下标 j ,否则输出0 | |
| j <- 1 while j<=n and x>L[j] do j <- j+1 if x<L[j] or j >n then j<- 0 return j |
时间估计:
最坏情况:W(n)=n
平均情况:
输入实例的概率分布:假设x在L中每个位置与空隙的概率都相等。
可能是:sum i =1 to n:(i * p/n ) + sum i=1 to n+1 ( i *(1-p)/(n+1) )
相关文章:
【算法设计与分析qwl】伪码——顺序检索,插入排序
伪代码: 例子: 改进的顺序检索 Search(L,x)输入:数组L[1...n],元素从小到大排序,数x输出:若x在L中,输出x位置下标 j ,否则输出0 j <- 1 while j<n and x>L[j] do j <- j1 if x<…...
Uniapp路由拦截-自定义路由白名单
步骤一:新建routerIntercept.js文件 步骤二:routerIntercept文件中写入:(根据自己需要修改whiteList白名单中的页面路径和自己的逻辑处理) import Vue from vue // 白名单 const whiteList = [/pages/public/login,/pages/public/privacyAgreement, ]export default asy…...
在中国可以使用 HubSpot 吗?
当谈到市场营销和客户关系管理工具时,HubSpot通常是一家企业的首选。然而,对于许多中国的企业来说,一个重要的问题是:在中国可以使用HubSpot吗?这个问题涉及到不同的方面,包括政策法规、社交媒体平台、语言…...
Java的基础应用
Java是一种广泛应用于软件开发的编程语言,基础应用涵盖了很多方面。以下是Java的一些基础应用方面的介绍: 1. 控制流语句:Java中的程序流程控制语句分为选择语句和循环语句。选择语句包括if-else语句和switch语句,循环语句包括fo…...
【excel】列转行
列转行 工作中有一些数据是列表,现在需要转行 选表格内容:在excel表格中选中表格数据区域。点击复制:在选中表格区域处右击点击复制。点击选择性粘贴:在表格中鼠标右击点击选择性粘贴。勾选转置:在选择性粘勾选转置选…...
用Bing绘制「V我50」漫画;GPT-5业内交流笔记;LLM大佬的跳槽建议;Stable Diffusion生态全盘点第一课 | ShowMeAI日报
👀日报&周刊合集 | 🎡生产力工具与行业应用大全 | 🧡 点赞关注评论拜托啦! 🔥 美国升级AI芯片出口禁令,13家中国GPU企业被列入实体清单 nytimes.com/2023/10/05/technology/chip-makers-china-lobbying…...
Java身份证实名认证-阿里云API 【姓名、身份证号】
1. 阿里云API市场 https://market.aliyun.com/products/57126001/cmapi00053442.html?spm5176.2020520132.101.3.a6217218nxxEiy#skuyuncode47442000022 购买对应套餐 2. 复制AppCode https://market.console.aliyun.com/imageconsole/index.htm#/?_kl85e10 云市场-已购买服…...
ND协议——无状态地址自动配置 (SLAAC)
参考学习:计算机网络 | 思科网络 | 无状态地址自动配置 (SLAAC) | 什么是SLAAC_瘦弱的皮卡丘的博客-CSDN博客 与 IPv4 类似,可以手动或动态配置 IPv6 全局单播地址。但是,动态分配 IPv6 全局单播地址有两种方法: 如图所示&#…...
iOS开发UITableView的使用,区别Plain模式和Grouped模式
简单赘述一下 的创建步骤 // 创建UITableView self.tableView [[UITableView alloc] initWithFrame:self.view.bounds style:UITableViewStylePlain]; // 设置数据源和代理 self.tableView.dataSource self; self.tableView.delegate self; // 注册自定义UITableViewCe…...
css美化滚动条
/*定义滚动条高宽及背景 高宽分别对应横竖滚动条的尺寸*/ ::-webkit-scrollbar { width: 8px; height: 8px; background-color: rgba(0,0,0,.2); } /*定义滚动条轨道 内阴影圆角*/ ::-webkit-scrollbar-track { -webkit-box…...
【CANoe】XML Test Module使用实例
文章目录 一、实操步骤1、增加XML Test Module节点2、配置XML Test Module节点3、XML Test Module节点增加CAPL脚本(.can文件)4、文件夹结构5、使用仿真节点开始测试6、测试结果与测试报告7、同理,在Test Setup也可如此操作 一、实操步骤 1、增加XML Test Module节…...
oracle的update语句where条件后的索引字段为空时不执行
问题描述: update 表名 set age ‘23’ where id1 and name‘lili’; 当在oracle执行以上sql时执行成功,但是当传入的name为null时,sql不成立。我的表中id和name是联合唯一索引,以为name不会为空,但实际上name可以为空…...
RabbitMQ的特点
RabbitMQ是一个开源的消息中间件,用于在不同的应用程序之间进行异步通信。它支持多种消息传递协议,如AMQP、MQTT、STOMP等。 RabbitMQ具有以下特点: 可扩展性:RabbitMQ可以通过添加更多的节点和队列来实现水平扩展。 可靠性&…...
JS单选框默认选中样式修改,为白色背景中心有黑色小圆点的样式
要修改JavaScript中默认选中的单选框的样式为白色背景并带有黑色小圆点,你可以使用CSS来实现。以下是一个示例,展示如何修改样式: <style>/* 修改默认选中单选框的样式 */input[type"radio"]:checked {appearance: none; /*…...
2023年下半年NPDP考试今天开始报名!
2023年第二次NPDP考试将于2023年12月2日(周六)举行,考试报名相关事项安排如下: 一、考试时间: 12月2日09:00-12:30。 二、报名时间: 10月18日08:00-11月10日23:59。 三、缴费及退考截止时间࿱…...
nfs+rpcbind实现服务器之间的文件共享
NFS简介 NFS服务及Network File System,用于在网络上共享存储,分为2,3,4三个版本,最新为4.1版本。NFS基于RPC协议,RPC为Remote Procedure Call的简写。 应用场景:用于A,B,C三台机器上需要保证被访问到的文件是一样…...
10-k8s-身份认证与鉴权
文章目录 一、ServiceAccount介绍二、ServiceAccount相关的资源对象三、dashboard空间示例 一、ServiceAccount介绍 ServiceAccount(服务账户)概念介绍 1)ServiceAccount是Kubernetes集群中的一种资源对象,用于为Pod或其他资源提供…...
如何分析K8S中的OOMKilled问题(Exit Code 137)
什么是 OOMKilled Kubernetes 错误(Exit Code 137) 当 Kubernetes 集群中的容器超过其内存限制时,Kubernetes 系统可能会终止该容器并显示“OOMKilled”错误,这表明该进程由于内存不足而被终止。此错误的退出代码是 137。 如果遇…...
【0day】泛微e-office OA未授权访问漏洞学习
注:该文章来自作者日常学习笔记,请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与作者无关。 目录 一、漏洞描述 二、影响版本 三、资产测绘 四、漏洞复现...
CSS盒子模型的详细解析
03-盒子模型 作用:布局网页,摆放盒子和内容。 盒子模型-组成 内容区域 – width & height 内边距 – padding(出现在内容与盒子边缘之间) 边框线 – border 外边距 – margin(出现在盒子外面) d…...
深入QGIS矢量数据底层:手写WKT字符串添加几何图形,一次搞懂空间数据存储原理
深入QGIS矢量数据底层:手写WKT字符串添加几何图形,一次搞懂空间数据存储原理 当你第一次在QGIS中看到一个点、一条线或一个多边形时,是否好奇过这些图形在计算机中究竟是如何被存储和表达的?本文将带你从最基础的WKT字符串开始&am…...
利用Taotoken模型广场为AIGC应用选择性价比最高的模型
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 利用Taotoken模型广场为AIGC应用选择性价比最高的模型 为AIGC应用选择合适的大语言模型,是平衡生成效果与开发成本的关…...
基于RAG的代码库智能助手:从原理到本地化部署实战
1. 项目概述:一个为开发者打造的“智能副驾”最近在GitHub上看到一个挺有意思的项目,叫maziminds/manage-buddy。光看名字,你可能会觉得它是个任务管理工具,或者是个团队协作软件。但当你真正点进去,仔细研究它的READM…...
【GPT-4V全面评估】:大语言多模态模型的黎明时代
多模态大模型时代的黎明:GPT-4V(ision)全面能力深度测评 当AI还在为"看图说话"磕磕绊绊时,GPT-4V已经悄悄解锁了"看懂世界"的超能力。它不仅能识别图片里的物体,还能理解梗图的笑点、解数学题、读X光片、甚至帮你操作电脑…...
apk 包管理器完全指南:Alpine Linux 的轻量级利器
一、apk 体系架构全景 apk(Alpine Package Keeper)是 Alpine Linux 的核心包管理工具,与 Debian 的 APT 相比,它遵循极简主义设计哲学:代码量少、依赖解析简单、资源占用极低。这使得 Alpine 成为 Docker 容器的默认基…...
从编译失败到成功发布:用VS BuildTools彻底解决MSBuild“能编译不能发布”的坑
从编译到发布:彻底解决MSBuild部署.NET Framework网站的技术困境 许多.NET开发者都曾遇到过这样的场景:在命令行中能够顺利编译项目,却在尝试发布(Publish)ASP.NET网站时遭遇各种莫名错误。这种"能编译不能发布&q…...
基于Adafruit TRRS Trinkey构建低成本无障碍鼠标键盘模拟器与开关控制器
1. 项目概述:为无障碍交互打开一扇新窗在数字时代,鼠标和键盘是我们与计算机交互最直接的桥梁。然而,对于许多因运动神经元疾病、脊髓损伤、脑瘫或其他肢体障碍而无法使用传统输入设备的朋友来说,这座桥梁却显得遥不可及。作为一名…...
Mzmine 4.4.3 安装教程
软件介绍MZmine是一款开源的质谱数据处理平台,主要用于液相色谱-质谱(LC-MS)等数据的分析,其核心功能包括原始数据导入、色谱峰检测与去卷积、跨样品峰对齐、化合物识别(通过与数据库比对)以及结果可视化&a…...
Cortex-M内存管理库:嵌入式开发中替代malloc的确定性与安全性方案
1. 项目概述:一个为Cortex-M系列MCU量身定制的内存管理库如果你在嵌入式领域,特别是基于ARM Cortex-M内核的微控制器(MCU)上做过项目,大概率遇到过内存管理的难题。标准C库的malloc和free在资源受限的MCU上表现往往不尽…...
3个关键指标揭示:你的游戏手柄响应速度是否拖了后腿?
3个关键指标揭示:你的游戏手柄响应速度是否拖了后腿? 【免费下载链接】XInputTest Xbox 360 Controller (XInput) Polling Rate Checker 项目地址: https://gitcode.com/gh_mirrors/xin/XInputTest 在竞技游戏的激烈对决中,每一毫秒的…...




