NewCoder(牛客)题集--Four

解:错

解析:二分查找针对的是有序表。


A.O(N*log(N))

B.O(N)

C.O(log(N))

D.O(N^2)

解:C

解析:二分法每次比较会去掉一半的数据,也就是说比较次数为n,数据为m个则2^n>=m,m=log(N),时间复杂度为O(log(N))

 

解:4

解析:

A.选择排序

B.快速排序

C.归并排序

D.希尔排序

解:C

解析:不稳定排序:一堆希尔快选

解:正确

解析: 最外层的 { ... } 会初始化 a[] 即第一维。而 {1} 会初始化 a[0][] 由于只有一个元素,后续元素会默认置 0 。其他同理。

解:20, 70, 30, 50

解析:10个数首先和中间值20比较,58比20***择右边,右边5个数选择中间值70,58比70小,选择左边,左边两个数中间值30进行比较,58比30***择右边,右边一个数50,58比50大,没有找到

解:3

解析:

基数排序分配和回收的趟数只与元素长度有关。

基数排序是通过“分配”和“收集”过程来实现排序。

1)首先根据个位数值(只看个位)来排序:

253 674 924 345 627

2)再看十位(只看十位数值大小)来排序:

924 627 345 253 674

3)最后看百位:

253 345 627 674 924

所以最后的结果排序为 253 345 627 674 924,需要3趟。

解:s+1,len-2

解析:*s指向字符串的第一个,一次操作后将字符串首尾两个字符交换。一次交换后*s指向下一个字符,同时待处理字符串长度减2

解:出错

解析:char *p1="123" 声明了个字符串指针p1,指向字符串“ 123 ”,此时的“ 123 ”存放在常量区,并没有在拷贝到栈中,所以不能修改,如修改p1[0] = '2'就是错误的。

解:9

解析:第一次分组8个分成4组 两两一组 比4次 第二次分组为上面比较下来的4个还是两两分组 分2组 第三次分组就剩下两个直接比较出了最大 这时一共比较了4+2+1=7次 接着拿第三次分组中与最大比较的那个数分别和 之前与最大那个数比较过的数比较 分别是第一次分组有一个 第二次分组有一个 7+2=9

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值