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

微信代理网站模板网片

微信代理网站模板,网片,教育网站建设方案,完善学校网站建设算法-堆/归并排序-排序链表 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.shuangfujiaoyu.com/news/58803.html

相关文章:

  • 网络广告策略有哪些南宁网站seo
  • 北京高级网站开发青柠影院免费观看电视剧高清
  • 想自己在家做外贸网站游戏广告推广平台
  • 福州网站提升排名互联网
  • 珠海住房和建设局网站汕头网站排名优化
  • 洛阳做家教去什么网站深圳网络推广的公司
  • 企业邮箱注册要钱吗长沙seo网络推广
  • 帮人做淘宝网站骗钱软文推广一般发布在哪些平台
  • HTML5怎么做自适应网站企业推广网站有哪些
  • 做联盟 网站 跳转 防止垃圾外链营销策划方案ppt
  • 网站建设交流论坛地址seo怎么弄
  • wordpress分类文章谷歌seo外包
  • 给政府做网站网络优化论文
  • wordpress电商小程序浙江seo技术培训
  • 纯jsp做的留言板网站网络推广员的日常工作
  • 衣服货源怎么找厂家拿温州seo优化公司
  • 哪个网站专门做二手的国外域名购买
  • 什么域名不用备案seo关键词优化是什么意思
  • sketch网站花边怎么做搜索引擎优化的具体措施
  • wordpress书籍主题站长工具seo综合查询访问
  • 网站开发技术的简历营销型网站外包
  • 设计师网站图片成都seo专家
  • 扒wordpressseo应该如何做
  • 如何做好产品网络推广windows11优化大师
  • b2c网站有哪些平台竞价排名是什么
  • 网站会员方案windows7优化大师下载
  • 中国海洋大学做英语作业的网站网站建设公司简介
  • 河北商城网站建设价格百度seo推广怎么收费
  • 厦门专业做网站的公司一键生成网页
  • 邹城市住房和建设局网站电池优化大师下载