![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
文章平均质量分 76
简单归纳一些算法
w2cs
这个作者很懒,什么都没留下…
展开
-
算法hash表、并查集、hash一致性
题目一 认识hash函数与hash表 *hash函数* (相同输入相同输出,不同输入均匀分布) 如何用一个哈希函数做出1000个哈希函数来 将一个hash函数返回结果的前八位与后八位拆分为两个hash函数 然后通过h1+1h2做出第三个,h1+2h2做出第四个一次改变系数直到第一千个 hash表经典结构 假如放入A,7,将key值A通过hashcode计算出一个码,然后取模hash表长度,得到具体位置,这里假设为10,所以A,7挂载到10位置,如果此时再来一个C,5,取得的位置也是10,那么会先判断ke原创 2021-04-23 08:37:49 · 139 阅读 · 0 评论 -
算法二叉树相关题目(三)
题目一 实现二叉树的先序、中序、后序遍历,包括递归方式和非递归方式 递归方式实现 //先序遍历 public static void preOrderRecur(Node head){ if (head == null){ return; } System.out.println(head.value + " "); preOrderRecur(head.left); preOrderRec原创 2021-04-12 15:32:13 · 93 阅读 · 0 评论 -
算法链表相关题目(二)
题目零 判断一个链表是否为回文结构 给定一个链表的头节点head,请判断该链表是否为回文结构。例如:1 -> 2 -> 1,返回true。1 -> 2 -> 2 -> 1,返回true。15 -> 6 ->15,返回true。1 ->2->3,返回false。 进阶:如果链表长度为N,时间复杂度达到O(N),额外空间复杂度达到O(1)。 解法1:使用栈 解法2:使用快慢指针 如果是偶数个节点,走到中间两个的前一个,在进行两边比较,走到空指针停。原创 2021-03-21 15:13:40 · 67 阅读 · 0 评论 -
算法数组相关题目(一)
题目0: 给定一个数组,求如果排序之后,相邻两数的最大差值,要求时间复杂度0(N),且要求不能用非基于比较的排序。(常考) 思路:借用桶的概念, 第一步,准备桶,如果数组中有n个数,我们就准备N+1个桶,遍历整个数组找到最小值和最大值,如果最小值和最大值相等,说明差值为0,如果不等,最小值放在0号桶,最大值放到N号桶,将最小值到最大值的范围里将桶分为N+1份 ,举例: 数组有9个数,最大值99,最小值0,准备10个桶,所以分为09,1019,…7989,9099这10个范围,中间的数属于哪个范围就放哪个桶原创 2021-03-16 21:42:31 · 181 阅读 · 1 评论