
算法
//Nevada
你只管努力,剩下的交给天意,早点毁灭吧。累了
展开
-
堆排序
public class HeapSort { public static void main(String[] args) { int[] arr={2,3,1,4,7,5}; new HeapSort().sort(arr); } public void sort(int[] arr){ int n=arr.length; for(int i=n/2-1;i>=0;i--){ he.原创 2021-02-01 18:03:20 · 140 阅读 · 0 评论 -
实现一个简单的hashmap
/** * 实现hashmap */public class MyHashMap { private final int N=10000; private Node[] arr; public MyHashMap(){ arr=new Node[N]; } public static void main(String[] args) { MyHashMap hm=new MyHashMap(); hm.put(1.原创 2021-02-01 17:46:53 · 170 阅读 · 0 评论 -
删除链表中重复的的数字
在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5这是我面试美团时候考的题目,在牛客网J56,对于链表在我们大学的第一次学数据结构就接触了,但是不能说处理这种题目很容易。面试就是这种套路,当面试官觉得你的项目没什么亮点时,就会考察你的算法能力。废话少说,先上代码public class Solution { ..原创 2021-01-11 15:57:21 · 793 阅读 · 0 评论 -
基数排序
基数排序一、什么是基数排序二、基数排序的代码实现三、总结一、什么是基数排序基数排序属于非比较类排序——非比较类排序包括计数排序、基数排序、桶排序。基数排序是由计数排序改善而来的,基数排序将整数或者字符串切分不同的数字或字符,然后按照低位先排序收集,接着高位排序收集,依次类推直到最高位。动图演示二、基数排序的代码实现public static void sort(int[] arr)...原创 2019-10-27 22:20:47 · 1283 阅读 · 0 评论 -
什么是归并排序
归并排序全方位解读一、归并排序的定义二、代码实现三、时间复杂度分析四、实际应用五、表格总结一、归并排序的定义上篇文章带大家了解了什么是堆排序,这篇文章带大家了解下归并排序,归并排序有两个过程:第一个过程是分组,分组是将数据进行逐层对半分组,第一次分成两个大组,每组n/2个元素,第二次分成四个大组,每组n/4个元素,以此操作直到最后每组元素只有一个元素;第二个过程是合并,合并需要比较元素的大小进...原创 2019-10-25 21:58:47 · 699 阅读 · 0 评论 -
带你了解堆排序
一文带你了解堆排序1.堆排序的定义2.堆排序的代码实现3.复杂度分析4.使用场景5.下期预告1.堆排序的定义堆排序在八大排序算法中属于选择排序,她利用的是堆这种数据结构来构建的排序算法,堆分为大顶堆、小顶堆,根节点的数值要么是最大的,要么是最小的,堆排序最主要的两个操作是建堆和调整堆两个操作。2.堆排序的代码实现public static void downAdjust(int[] arr...原创 2019-10-24 23:39:29 · 175 阅读 · 0 评论 -
算法题如何准备
每次写文章之前都要想很久怎么写才能让自己这一天看起来学到了很多东西,怎么写才能让自己的技术得到进步,可是不知不觉就浪费了很多时间;今天笔者在公司的一天是这么度过的,早上8点10到公司,就被同学催促赶紧写项目的计划书,这是我来到公司2个多月,第一次开始想怎么去实现相应的功能。omg,我又扯了这么多别的事。开始步入正题吧,要想进入大厂工作,就必须对算法这一方面具备很强的功底;而我对于算法始终是爱恨交...原创 2019-10-22 23:07:55 · 486 阅读 · 0 评论