挑战算法——常见有难度的排序

前言:

最近课程比较松,自学Android也有一段时间了,感觉自己可以做出来一些小东西了,但是心里还是挺虚的,因为对数据结构和算法这一块一直没有深入研究。也因为学校今年才有ACM,再参加有点晚了,所以想抽出一段时间补一下算法。

正文:

那么就从排序说起吧。

不知道为什么,有时候对算法有一种敬畏感,思考起来又特别享受,有一个问题一直伴随着我,那就是自己想一个O(n)复杂度的排序算法,大二的一天中午,在北校区的操场上,突然灵感迸发,想到了一种运用数组计数的方式,那种激动的心情无法用语言描述。后来才知道这种方法叫计数排序。。。还有些小失望0.0.

好了,废话有点多。。。

那么我们常见的排序有哪些呢?

1.快速排序(JDK)

2.堆排序(TOP K问题)

3.归并排序(一些特定问题可能会用到这种思想,不一定排序)

4.插入冒泡选择

最近对这些算法做了一些自己的实现,巩固自己的代码能力,并希望对大家有所帮助。

代码:

package 所有排序的实现;
import java.util.Arrays;
public class 常见排序 {
	
	public static void main(String[] args) {
		Syst
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值