数据结构.

排序:

冒泡排序

前后两两进行比较、交换,大的数据往后走,小的数据往前走。每一轮最大的数据到达正确位置。

时间复杂度:轮数 * 每一轮的时间复杂度 = n * O(n) = O(n^2)

堆排序

1.利用完全二叉树构建大顶堆

2.堆顶元素和堆底元素进行交换,除了堆底元素外,其余元素继续构建大顶堆

3.重复2

时间复杂度:O(nlogn)

完全二叉树:要求数据从上到下,从左到右的顺序进行

大顶堆:父节点的值大于或等于其右孩子的值

快速排序

1.默认待排序数组中的第一个为基准数

2.定义j游标,从后往前移动,找比基准数小的,找到之后停止

3.定义i游标,从前往后移动,找比基准数大的,找到之后停止

4.i和j数值进行交换

5.重复2、3、4步,直到i和j相遇

6.基准数和相遇位置的数据进行交换,基准数到达正确位置

7.以基准数为起始点,分成左右两部分,重复上述所有,一直到数据都被拆分开为止

时间复杂度:O(nlogn)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值