当前位置: 首页 > news >正文

宁波seo网络推广公司排名宁波seo搜索排名优化

宁波seo网络推广公司排名,宁波seo搜索排名优化,做有支付系统的网站一般需要多少钱,网络营销推广方法的综合运用算法-堆/归并排序-排序链表 1 题目概述 1.1 题目出处 https://leetcode.cn/problems/sort-list/description/?envTypestudy-plan-v2&envIdtop-interview-150 1.2 题目描述 2 优先级队列构建大顶堆 2.1 思路 优先级队列构建小顶堆链表所有元素放入小顶堆依次取出堆顶…

算法-堆/归并排序-排序链表

1 题目概述

1.1 题目出处

https://leetcode.cn/problems/sort-list/description/?envType=study-plan-v2&envId=top-interview-150

1.2 题目描述

在这里插入图片描述
在这里插入图片描述

2 优先级队列构建大顶堆

2.1 思路

  1. 优先级队列构建小顶堆
  2. 链表所有元素放入小顶堆
  3. 依次取出堆顶元素,链表串起来即可

2.2 代码

class Solution {public ListNode sortList(ListNode head) {if (head == null) {return null;}PriorityQueue<ListNode> minHeap = new PriorityQueue<>((n1,n2)->n1.val-n2.val);ListNode newHead = new ListNode();while(null != head) {minHeap.add(head);head = head.next;}ListNode tmp = minHeap.poll();tmp.next = null;newHead.next = tmp;while(minHeap.size()>0) {ListNode cur = minHeap.poll();tmp.next = cur;tmp = cur;tmp.next = null;}return newHead.next;}
}

2.3 时间复杂度

O(nlogn)
在这里插入图片描述

2.4 空间复杂度

O(n)

3 归并排序

3.1 思路

  1. 用快慢指针法,找到链表中间位置
  2. 将链表拆分成两条子链表
  3. 对子链表分别排序
  4. 将排序后的子链表合并排序

3.2 代码

class Solution {public ListNode sortList(ListNode head) {if (null == head) {return null;}if (null == head.next) {return head;}ListNode fast = head.next;ListNode slow = head;// 找到fast到中间位置while (fast != null && fast.next != null) {fast = fast.next.next;slow = slow.next;}// 切断两个链表fast = slow.next;slow.next = null;// 分别对两个子链表排序slow = sortList(head);fast = sortList(fast);ListNode dummy = new ListNode();head = dummy;// 合并已排序的两个子链表while (null != slow && null != fast) {if (slow.val <= fast.val) {head.next = slow;slow = slow.next;} else {head.next = fast;fast = fast.next;}head = head.next;}while (null != slow) {head.next = slow;slow = slow.next;head = head.next;}while (null != fast) {head.next = fast;fast = fast.next;head = head.next;}return dummy.next;}
}

3.3 时间复杂度

在这里插入图片描述
O(nlogn)

3.4 空间复杂度

O(logn)调用栈深度

4 非递归方式(循环)

4.1 思路

3中使用递归方式,空间复杂度O(logn),可改为循环方式达到O(1)的空间复杂度

4.2 代码


4.3 时间复杂度

4.4 空间复杂度

参考文档

  • Sort List (归并排序链表)
http://www.yayakq.cn/news/349435/

相关文章:

  • 杭州笕桥网站建设便宜高端网站设计推荐
  • 快递网站建设需求分析论坛源码
  • 做网站还需要续费2018wordpress插件
  • 一站式网站建设有哪些第一装修网
  • 怎么在网站上做360全景图片软件开发需要什么技术
  • 青岛专业网站制作设计国际网站空间
  • 网站如何建立数据库大型门户网站建设效果好吗
  • 网站开发都是模板linux下网站搭建
  • 湖北省建设规划网站浏阳做网站公司
  • 企业门户网站属于什么层品牌推广理论有哪些
  • 餐饮网站界面推广之家app下载
  • 哈尔滨巨耀网站建设手机网址大全哪个好
  • 如何建设微信网站深圳定做网站
  • 南京驰铭做网站公司西安市规划建设局网站
  • 深圳网站建设推荐q479185700顶上自建网站平台有哪些功能
  • 用电脑建立网站wordpress删除脚标
  • 唐山网站建设学徒开发手机端网站模板下载
  • 购物网站哪里建最好网站建设新闻发布注意事项
  • 做教育app的网站安徽省住房与城乡建设网站
  • 重庆定制网站建设自己做头像网站
  • 建大型网站公司wordpress读取速度慢
  • 深圳专业建网站宁波网站建设yiso
  • 温州市网站制作多少钱dede网站qq类资源源码
  • 网站生成手机网站全国各城市感染高峰期进度
  • 数字营销证书天津seo排名费用
  • 装饰公司做宣传网站灯具设计网站推荐
  • 能够做一镜到底的网站网页游戏排行榜电脑
  • 在川航网站购票后怎么做网站每天更新的内容是内链吗
  • 厦门制作公司网站哪家好徐州网红有哪些人
  • 临时域名用于网站调试中山门户网站建设