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

网站管理和维护怎么做启动 wordpress 博客

网站管理和维护怎么做,启动 wordpress 博客,海报素材库网站免费,做网站现在什么最赚钱这段代码的算法思想是 归并排序,一种适合链表的排序方法。它通过递归地将链表拆分成两部分,分别排序,然后合并已排序的部分,从而达到整体排序的目的。以下是代码的中文解释: 算法步骤: 找到链表的中点&…

在这里插入图片描述
这段代码的算法思想是 归并排序,一种适合链表的排序方法。它通过递归地将链表拆分成两部分,分别排序,然后合并已排序的部分,从而达到整体排序的目的。以下是代码的中文解释:

算法步骤:

  1. 找到链表的中点

    • getMid 方法中,使用了快慢指针(slowfast 指针)来找到链表的中间节点。
    • fast 指针每次移动两步,slow 指针每次移动一步。当 fast 指针到达链表末尾时,slow 指针刚好位于链表中间。
    • 将链表分为左右两部分,slow 为中间节点,从而将链表一分为二。
  2. 递归地排序两部分链表

    • sortList 方法中,通过递归地对左半部分和右半部分链表进行排序。递归的终止条件是链表为空或只有一个节点,这时链表已是有序的。
    • 对左右两部分链表分别调用 sortList 方法,进行递归排序,最终会得到两个已排序的子链表。
  3. 合并两个有序链表

    • merge 方法用于合并两个已排序的链表,使用的是“归并”的思想。
    • 创建一个虚拟节点 dummy 来帮助合并,将指针 current 初始化为 dummy
    • 遍历两个链表 leftright,比较当前节点的值,将较小的节点连接到 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.yayakq.cn/news/722738/

相关文章:

  • 山西省城乡和建设厅网站wordpress美化插件
  • 好的摄影网站推荐网站开发工具选用原则
  • 东莞创意网站设计效果图深圳设计总院
  • 官方网站建设源码系统广西建设厅官网站首页
  • 国土网站建设自查报告网站建设工作流程
  • 楼盘网站模板wordpress如何对接微博
  • 海纳企业网站管理系统源码seo优化服务公司
  • 如何用wordpress制作网站搜索app下载
  • 做国际黄金看什么网站成都seo整站
  • 旅游便宜的网站建设js网站统计代码
  • 电商网站建设会计分录仓库管理系统界面
  • php网站开发书籍广州外贸公司联系方式
  • 网络购物网站建设湖北网站建设软件有哪些
  • 项城网站wordpress网站例
  • 自己做的网站怎么加入微信支付网站开发编译器
  • 建设微网站多少钱公众号软文推广
  • 同城信息网站建设住房和城乡建设部网站北京
  • 自己主机做网站服务器网站域名 空间
  • 网站建设的步骤有哪些怎么样做游戏网站
  • 米拓网站建设-app定制开发免费的网站建设
  • 大厂县城乡建设局网站这是我做的网站吗
  • 官方网站建设属于什么科目阿里巴巴国际站开店流程及费用
  • 单位网站建设方案网站首页的导航栏
  • 2345电视剧网站免费好的免费个人网站
  • 有网站开发专业吗网站制作app开发公司
  • 番禺网站开发报价网站建设 跑业务
  • 手把手教建设网站wordpress 白屏
  • 辽宁省建设机械协会官方网站网站店铺vr场景可以做吗
  • 网站建设项目选题有关网站开发的创意
  • 在县城做哪个招聘网站比较赚钱动漫设计专业属于什么大类