上一页 1 ··· 26 27 28 29 30 31 32 33 34 ··· 36 下一页
摘要: 优化一:对有序数组排序的优化 在每次合并两个子数组前进行判断,如果左边数组的最大值都小于右边数组的最小值,就不用进行合并操作 对于完全有序的数组,递归树中每层都不用进行合并,最后一层叶子节点需要操作的次数是n,其上一层为1/2n,1/4n...最后总共需要操作的次数为2n 因此对于完全有序的数组,归 阅读全文
posted @ 2021-10-20 15:38 振袖秋枫问红叶 阅读(171) 评论(0) 推荐(0)
摘要: 归并排序法是一种高级排序算法 核心思想:归并排序法是一种分治算法,将一个数组递归的一分为二,二分为四...定义一个merge()方法对两个子数组分别进行遍历比较,选出较小的元素放在前面,最终完成排序 递归实现归并排序法 import java.util.Arrays; public class Al 阅读全文
posted @ 2021-10-19 19:55 振袖秋枫问红叶 阅读(68) 评论(0) 推荐(0)
摘要: 迭代 class Solution { public ListNode deleteDuplicates(ListNode head) { ListNode dummyHead = new ListNode(-1); dummyHead.next = head; ListNode cur = hea 阅读全文
posted @ 2021-10-18 15:36 振袖秋枫问红叶 阅读(34) 评论(0) 推荐(0)
摘要: 迭代 class Solution { public ListNode mergeTwoLists(ListNode list1, ListNode list2) { /** * 依次比较两个链表的节点,将较小的节点放入新的链表 */ ListNode dummyHead = new ListNod 阅读全文
posted @ 2021-10-18 15:17 振袖秋枫问红叶 阅读(39) 评论(0) 推荐(0)
摘要: 迭代 public class Algorithm { public static void main(String[] args) { int[] arr = {1, 2, 6, 3, 4, 5, 6}; ListNode head = new ListNode(arr); System.out. 阅读全文
posted @ 2021-10-18 13:36 振袖秋枫问红叶 阅读(30) 评论(0) 推荐(0)
摘要: 递归的思路 public class Algorithm { public static void main(String[] args) { int[] arr = {1, 2, 3, 4, 5, 6, 7, 8}; System.out.println(sum(arr)); } public s 阅读全文
posted @ 2021-10-17 23:38 振袖秋枫问红叶 阅读(69) 评论(0) 推荐(0)
摘要: 203. 移除链表元素 虚拟头节点迭代 public class Algorithm { public static void main(String[] args) { int[] arr = {1, 2, 6, 3, 4, 5, 6}; ListNode head = new ListNode( 阅读全文
posted @ 2021-10-16 17:55 振袖秋枫问红叶 阅读(35) 评论(0) 推荐(0)
摘要: 动态数据结构 动态数组、栈和队列的底层仍依托静态数组来实现,通过定义一个resize()方法解决固定容量问题 而链接是真正的动态数据结构,学习的同时也可以更深入的理解引用(指针)和递归 单链表的实现 数据存储在“节点”(Node)中,每个节点拥有value和next两个属性,next为指向下一个节点 阅读全文
posted @ 2021-10-16 15:05 振袖秋枫问红叶 阅读(118) 评论(0) 推荐(0)
摘要: 队列也是一种线性结构,从一端(队尾)添加元素,从另一端(队首)取出元素 先进先出(First In First Out) 数组实现队列 常用方法为enqueue()、dequeue()、getFront()、getSize()、isEmpty() public class Algorithm { p 阅读全文
posted @ 2021-10-15 22:18 振袖秋枫问红叶 阅读(70) 评论(0) 推荐(0)
摘要: public class Algorithm { public static void main(String[] args) { MyCircularQueue queue = new MyCircularQueue(5); for (int i = 0; i < 6; i++) { System 阅读全文
posted @ 2021-10-15 15:13 振袖秋枫问红叶 阅读(28) 评论(0) 推荐(0)
上一页 1 ··· 26 27 28 29 30 31 32 33 34 ··· 36 下一页