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

网站端网站开发开发app的平台

网站端网站开发,开发app的平台,微信注册网站,网站建设中网站需求分析的理解这段代码的算法思想是 归并排序#xff0c;一种适合链表的排序方法。它通过递归地将链表拆分成两部分#xff0c;分别排序#xff0c;然后合并已排序的部分#xff0c;从而达到整体排序的目的。以下是代码的中文解释#xff1a; 算法步骤#xff1a; 找到链表的中点一种适合链表的排序方法。它通过递归地将链表拆分成两部分分别排序然后合并已排序的部分从而达到整体排序的目的。以下是代码的中文解释 算法步骤 找到链表的中点 在 getMid 方法中使用了快慢指针slow 和 fast 指针来找到链表的中间节点。fast 指针每次移动两步slow 指针每次移动一步。当 fast 指针到达链表末尾时slow 指针刚好位于链表中间。将链表分为左右两部分slow 为中间节点从而将链表一分为二。 递归地排序两部分链表 sortList 方法中通过递归地对左半部分和右半部分链表进行排序。递归的终止条件是链表为空或只有一个节点这时链表已是有序的。对左右两部分链表分别调用 sortList 方法进行递归排序最终会得到两个已排序的子链表。 合并两个有序链表 merge 方法用于合并两个已排序的链表使用的是“归并”的思想。创建一个虚拟节点 dummy 来帮助合并将指针 current 初始化为 dummy。遍历两个链表 left 和 right比较当前节点的值将较小的节点连接到 current 节点的后面然后移动指针。最后将剩余的节点若有连接到合并后的链表末尾。dummy.next 即为合并后有序链表的头节点。 代码的时间复杂度和空间复杂度 时间复杂度归并排序的时间复杂度为 (O(n \log n))其中 (n) 是链表的节点数因为每次将链表分成两部分递归深度为 ( \log n )而每次合并的时间复杂度是 (O(n))。空间复杂度由于递归调用的栈空间空间复杂度为 (O(\log n))。 总结 这段代码利用归并排序对链表进行排序适合链表这种数据结构。链表不支持随机访问因此归并排序比快速排序更适合链表排序问题。在链表中归并排序可以通过递归将链表拆分、排序和合并达到高效排序的目的。 /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}* ListNode(int val) { this.val val; }* ListNode(int val, ListNode next) { this.val val; this.next next; }* }*/ class Solution {public ListNode sortList(ListNode head) {if(head null || head.next null) {return head;}ListNode mid getMid(head);ListNode left head;ListNode right mid.next;mid.next null; //断开, 分成两半//然后递归地排序左右两部分left sortList(left);right sortList(right);return merge(left, right); }private ListNode getMid(ListNode node) {ListNode slow node;ListNode fast node.next;while(fast ! null fast.next ! null) { //这里是且条件slow slow.next;fast fast.next.next; //fast走两步,使用两次next}return slow;}private ListNode merge(ListNode left, ListNode right) {ListNode dummy new ListNode(0);ListNode current dummy;while(left ! null right ! null) {if(left.val right.val) {current.next left;left left.next;}else {current.next right;right right.next;}current current.next;}if(left ! null) {current.next left;}if(right ! null) {current.next right;}return dummy.next;} }
http://www.yingshimen.cn/news/27196/

相关文章:

  • 电脑制作网站用哪个软件理财公司网站建设方案
  • 可以做天猫代码的网站网站小游戏怎么做
  • php网站识别手机一个网站可以做几级链接
  • 网站开发报告网站业务怎么做的
  • 济南网站建设公司哪家好企业网站建设成本费用
  • 网站和软件有什么区别重庆手机网站开发
  • 软件开发和网站开发哪个好学校网站asp源码
  • 唯品会一个专做特卖的网站广告世界重大新闻
  • 深圳南山企业网站建设报价企业查询征信
  • phython 做的网站王野摩托车官方网站
  • 网站开发托管协议珠海网站建设推广公司
  • 网站建设 添加本地视频教程手机怎么制作网站教程步骤
  • 什么样的网站好优化地图网站抓取
  • dota2海涛做的网站学网页设计需要什么基础
  • 宁夏建设监理协会网站企业网站相关案例
  • 免费毕业设计网站建设长春网站排名方案
  • 郑州网站建设哪家便宜江门营销型网站建设
  • 常用网站推广方法电商跨境电商网站开发技术
  • 兰州网站优化服务广州网站设计公司兴田德润在哪儿
  • 南宁网站快速优建手机网站
  • 滨州北京网站建设价格低3g微网站是什么
  • 杭州市萧山区建设局网站中信建设有限责任公司待遇
  • 维力安网站建设公司抚顺您做煮火锅网站
  • 网站版权问题如何快速建设自适应网站
  • 学校网站开发分析报告古腾堡 主题 wordpress
  • 宣城网站开发网站备案回访问题
  • 深圳世展建设有限公司公司seo是什么
  • 海口网站建设策划陕西有色建设有限公司官方网站
  • 网站自身维护唐山诚达建设集团网站
  • 化工课设代做网站高德是外国公司吗?