随笔分类 - Algorithm and Data Structures
摘要:[TOC] 布隆过滤器 昨天突然看到了一个布隆过滤器的介绍和一些用法,感觉很新奇,也很有意思,刚好趁着周末来写一篇博客。 什么是布隆过滤器 布隆过滤器?难道是这个?E起来,然后阻挡地方的飞行道具并减少伤害? NO!NO!NO!当然不是这个,一篇技术博客怎么会扯到游戏呢?来来来,让我们先看一下布隆的E
阅读全文
摘要:数据结构之图 定义(百度百科) 图的术语表 无向图 深度优先搜索 广度优先遍历 有向图 路径问题 调度问题 强连通性 最小生成树(无向图) 最小生成树的贪心算法 加权无向图的数据结构 Kruskal算法 Prim算法 性能特点:(V个顶点E条边) 最短路径 在上上篇博客中,我们介绍了算法中中的查找算
阅读全文
摘要:《算法》之查找 查找之链表和数组 无序的链表 有序数组的二分查找 跳跃链表(skip list) 我家门前有几棵树 二叉查找树(BST) 2-3 查找树 红黑树 HASH大法好 散列表 《算法》之查找 源代码地址 首先我们会使用符号表这个词来描述一张抽象的表格。 我们将信息(值)储存在里面,然后通过
阅读全文
摘要:2-3 查找树 定义(来源:wiki) 查找 插入 2-3 查找树 定义(来源:wiki) 2–3树是一种树型数据结构,内部节点(存在子节点的节点)要么有2个孩子和1个数据元素,要么有3个孩子和2个数据元素,叶子节点没有孩子,并且有1个或2个数据元素。 2个结点 定义 如果一个内部节点拥有一个数据元
阅读全文
摘要:算法之排序 排序之基本排序算法 选择排序 插入排序 冒泡排序 排序之高效排序算法 梳排序 希尔排序 快速排序 堆排序 牺牲空间节约时间的高效排序 归并排序(Merge Sort) 基数排序(非比较排序) 计数排序(非比较排序) 算法之排序 排序算法基本上是我们无论是在项目中还是在面试中都会遇到的问题
阅读全文
摘要:在上一次的博客中,我们实现了使用位操作去实现四则运算。实现整数的加减乘除。这次我们将讨论位运算在算法中的一些妙用。 位运算可以进行的骚操作 在这里我将使用题目进行示例 题1:找出唯一成对的数 1-1000这1000个数放在含有1001个元素的数组中,只有唯一的一个元素值重复,其它均只出现一次。每个数
阅读全文
摘要:位运算的骚操作(一)之四则运算 可以这样说,位运算是我们刚开始学计算机就会接触到的一种东西。那么位运算这么常见,我们是否可以使用它来做一些骚操作呢? 使用的运算符包括下面(java还有一个>>>无符号右移): 含义运算符例子 左移(后面补0) << 0011 => 0110 右移(正数前面补0,
阅读全文
摘要:这个LeetCode刷题系列的博客权当是为自己记一下笔记吧。博客系列会从LeetCode的第一题开始刷,同时会从零开始学习【因为我就是零/(ㄒoㄒ)/~~】。同时,如果有写错的地方,希望大佬们在评论区指正。 LeetCode官网 LeetCode第一题 首先需要一点点关于时间和空间复杂度的概念。 时
阅读全文