搜题
网友您好,请在下方输入框内输入要搜索的题目:
搜题
题目内容 (请给出正确答案)
提问人:网友anonymity 发布时间:2022-01-06
[主观题]

现在有一个已排序的字典,请改写二分法检索算法,使之当排序码key在字典中重复出现时算法能找出第一个key出现

的元素下标(用*position来保存)。保持算法时间代价为O(logn)。
简答题官方参考答案 (由简答题聘请的专业题库老师提供的解答)
查看官方参考答案
更多“现在有一个已排序的字典,请改写二分法检索算法,使之当排序码key在字典中重复出现时算法能找出第一个key出现”相关的问题
第1题
请编写一个算法,在基于单链表表示的待排序排序码序列上进行简单选择排序。

点击查看答案
第2题
在实现快速排序的非递归算法时,可根据基准元素.将待排序排序码序列划分为两个子序列。若下一趟首先对较短的子序列进行排序,试编写相应的算法,并说明在此做法下,快速排序所需要的栈的深度为O(log2n),

点击查看答案
第3题
在已排好序的序列中,一个元素所处的位置取决于具有更小排序码的元素的个数。基于这个思想,可得计数排序方法。该方法在声明元素时为每个元素增加一个计数域count,用于存放在已排好序的序列中该元素前面的元素数日,最后依count域的值,将序列重新排列,就可完成排序。试编写一个算法,实现计数排序。并说明对于一个有n个元素的序列,为确定所有元素的count值,最多需要进行n(n-1)/2次排序码比较。

点击查看答案
第4题
设在一棵二叉搜索树的每个结点中,含有关键码key域和统计相同关键码结点个数的count域,当向该树插入一个元素时,若树中已存在与该元素的关键码柑同的结点,则就使该结点的count域增1,否则就由该元素生成一个新结点而插入到树中,并使其count域置为1,试按照这种插入要求编写一个算法。

点击查看答案
第5题
在内排序的过程中,通常需要对待排序元素序列的排序码做多趟扫描。采用不同的排序方法将产生不同的排序中间结果,设要将集合(tang,deng,an,wan,shi,bai,fang,l)中的排序码按升序排列,则(1)是起泡排序一趟扫描的结果,(2)是初始步长为4的希尔排序一趟扫描的结果。(3)是二路归并排序一趟扫描的结果。(4)是以第一个元素为分界元素的快速排序一趟扫描的结果。(5)是堆排序初始建堆的结果。

A.deng,tang,an,wan,bai,shi,fang,li

B.an,deng,bai,li,shi,tang,iang,wan

C.deng,an,tang,shi,bai,fang,li,wan

D.deng,tang,an,wan,bai,shi,fang,li

E.an,bai,deng,fang,li,shi,tang,wan

F.an,tang,deng,wan,shi,bai,fang,li

G.li,deng,an,shi,bai,fang,tang,wan

H.shi,bai,an,li,tang,deng,fang,wan

点击查看答案
第6题
若设待排序排序码序列有1000个排序码,其取值是1~10000的正整数,试编写一个算法,以尽可能少的时间代价实现排序.

点击查看答案
第7题
奇偶交换排序是另一种交换排序。它的第一趟对序列中的所有奇数项i拼描,第二趟对序列中的所有偶数项i扫描,若A[i]≥Ali+1],则交换它们。第三趟对所有的奇数项扫描,第四趟对所有的偶数项扫描,……,如此反复,直到整个序列全部排好序为止。

(1)这种排序方法结束的条件是什么?

(2)写出奇偶交换排序的算法。

(3)当待排序排序码序列的初始排列是从小到大有序,或从大到小有序时,在奇偶交换排序过程中的排序码比较次数是多少?

点击查看答案
第8题
试证明对一个有n个元素的序列进行基于比较的排序,最少需要执行nlog2n次排序码比较。

点击查看答案
第9题
假定把关键码key散列到有m个表项(从0到m-1编址)的散列表中。对于下面的每一个函数Hash(key)(key为整数),这些函数能够当作散列函数吗(即对于插入和查找,散列程序能正常工作吗)?如果能够,它是一个好的散列函数吗?请说明理由。设函数random(m)返回一个0到m-1之间的随机整数(包括0与m-1在内)。

(1)Hash(key)==key/m;

(2)Hash(key)=1;

(3)IIash(key)==(key+random(m))%rn;

(4)Hash(key)=key%p(m);其中p(m)是不大于m的最大素数。

点击查看答案
第10题
对于一个具有n个元素序列如果采用快速排序,那么所需的最少比较次数是(),所需的最大比较次数是(),且此序列为()序列。
点击查看答案
重要提示: 请勿将账号共享给其他人使用,违者账号将被封禁!
查看《购买须知》>>>
重置密码
账号:
旧密码:
新密码:
确认密码:
确认修改
购买搜题卡查看答案
购买前请仔细阅读《购买须知》
请选择支付方式
微信支付
支付宝支付
点击支付即表示你同意并接受《服务协议》《购买须知》
立即支付
搜题卡使用说明

1. 搜题次数扣减规则:

功能 扣减规则
基础费
(查看答案)
加收费
(AI功能)
文字搜题、查看答案 1/每题 0/每次
语音搜题、查看答案 1/每题 2/每次
单题拍照识别、查看答案 1/每题 2/每次
整页拍照识别、查看答案 1/每题 5/每次

备注:网站、APP、小程序均支持文字搜题、查看答案;语音搜题、单题拍照识别、整页拍照识别仅APP、小程序支持。

2. 使用语音搜索、拍照搜索等AI功能需安装APP(或打开微信小程序)。

3. 搜题卡过期将作废,不支持退款,请在有效期内使用完毕。

请使用微信扫码支付(元)

订单号:

遇到问题请联系在线客服

请不要关闭本页面,支付完成后请点击【支付完成】按钮
遇到问题请联系在线客服
恭喜您,购买搜题卡成功 系统为您生成的账号密码如下:
重要提示:请勿将账号共享给其他人使用,违者账号将被封禁。
发送账号到微信 保存账号查看答案
怕账号密码记不住?建议关注微信公众号绑定微信,开通微信扫码登录功能
警告:系统检测到您的账号存在安全风险

为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!

- 微信扫码关注简答题 -
警告:系统检测到您的账号存在安全风险
抱歉,您的账号因涉嫌违反简答题购买须知被冻结。您可在“简答题”微信公众号中的“官网服务”-“账号解封申请”申请解封,或联系客服
- 微信扫码关注简答题 -
请用微信扫码测试
欢迎分享答案

为鼓励登录用户提交答案,简答题每个月将会抽取一批参与作答的用户给予奖励,具体奖励活动请关注官方微信公众号:简答题

简答题官方微信公众号

简答题
下载APP
关注公众号
TOP