11 2023 档案
摘要:Quick Sort quick sort 今天学习quick sort,quick sort的基本思想是有一个数组,先shuffle以后,保证数组的item位置是均匀分布的,选择一个item然后,把所有比这个item大的放在item右边,所有比这个item小的放在左右,然后递归的进行这个操作,如下
阅读全文
摘要:Merge sort 今天学习merge sort 这个排序算法的思想就是,不停的将数组二分,再将两个子数组不停归并。其中有一个操作叫merge如下图所示。左右两边两个部分是有序的,然后思想也很简单 有两个指针i和j,i指向lo,j指向mid+1,然后比较两个指针所指的大小,如果小就选出来排到数组中
阅读全文
摘要:Elementary Sorts 排序算法非常重要,它的应用也特别多,这一节我们学习排序算法。 在java中,我们对需要排序的数据我们会实现Comparable接口,实现compareTo方法,大于返回1,相等返回0,小于返回-1,例如Date类 然后我们这里引入三个工具函数less,exch和is
阅读全文
摘要:stack&queue stack:先进后出 queue:先进先出 首先是stack 有两种实现方式,第一种是用链表,第二种是用数组。 Stack: linked-list representation stack: array implementation 上面这个实现是固定长度的array im
阅读全文
摘要:union & find 首先就是quick union,想法比较简单,首先就是初始化有N个元素的数组,初始化的时候对面的index里面存储的就是index本身,然后比如union 1 和 9 两个点就把他们对应的哪个component里面的所有元素的值都改为一样。优点:在看两个点是否是connec
阅读全文
浙公网安备 33010602011771号