数据结构和算法
坚持吧骚年
这个作者很懒,什么都没留下…
展开
-
mark-sweep algrithm pseudo
mark_sweep() { mark_phase() sweep_phase()}mark_phase() { for(r : roots) { mark(r) }}mark(obj) { if(obj.mark == false)) { obj.mark = true for(child : children(obj)) { mark(child) } .原创 2020-09-01 19:46:30 · 219 阅读 · 0 评论 -
检测有向图是否存在闭环的算法
要检测有向图中是否存在闭环,可以 使用如下算法。 1. 选择任意一个节点(类型)并标注为“查找中” 2. 沿着边依次访问所有与该节点相邻的节点 3. 如果访问到的节点没有标注任何状态,则将该节点标注为“查找中”;如果标注了“查找结 束”,则不做任何处理,返回之前的节点;如果已经标注为“查找中”,则说明存在闭环 4. 从当前的节点重复步骤 2 和 3,如果已经没有可访问的相邻节点,则将该节点标注为“查找 结束”,并沿原路返回 5. 按照上述流程对所有节点进行处理,如果查找过程.原创 2020-08-23 19:18:00 · 2087 阅读 · 0 评论 -
快速排序算法
分治法O(nlogn)pivot 基准元素选定了基准元素以后,我们要做的就是把其他元素当中小于基准元素的都移动到基准元素一边,大于基准元素的都移动到基准元素另一边。具体如何实现呢?有两种方法:1.挖坑法2.指针交换法用递归, 就是用空间换取时间void quickSort(int[] arr, int startIndex, int endIndex) { if...原创 2020-01-22 14:19:52 · 181 阅读 · 0 评论 -
基础排序算法
冒泡排序最好的情况是初始状态是正序的,一次扫描即可完成排序,所以最好的时间复杂度为 O(N);最坏的情况是反序的,此时最坏的时间复杂度为 O(N^2)。平均情况,每轮 N/2 次循环,N 轮时间复杂度为 O(N^2)。public void bubbleSort(int[] source) { for(int i = source.length - 1; i > 0; i-...原创 2020-01-22 11:48:52 · 155 阅读 · 0 评论 -
二叉树伪代码
Node { int key; E item; Node parent; Node leftChild; Node rightChild;}BinaryTree { Node root; Node find(int key) void insert(Node newNode) void traverse(Node startNode); Node ...原创 2020-01-22 11:25:56 · 1829 阅读 · 0 评论 -
LinkedList伪代码
在表头插入和删除速度很快,仅需改变一两个引用值,所以花费 O(1) 的时间。平均起来,查找、删除和在指定节点后面插入都需要搜索链表中的一半节点,需要O(N)次比较。在数组中执行这些操作也需要 O(N) 次比较,但是链表仍然要比数组快一些,因为当插入和删除节点时,链表不需要移动任何东西,增加的效率是很显著的,特别是当复制时间远远大于比较时间的时候。当然,链表比数组优越的另一个重要方面是链...原创 2020-01-22 11:24:44 · 484 阅读 · 0 评论 -
hashMap伪代码
hashMap原理的伪代码V put(K k , V v) { int hashCode = hashCode(k); Node node = new Node(k, v); if (table[hashCode] == null) { table[hashCode] = node; } else { Node firstNode = table[hashC...原创 2020-01-22 11:24:05 · 4184 阅读 · 0 评论 -
B-树的核心思想
核心思想就是:通过增加节点中元素的个数,减小树的高度,减小磁盘IO的次数。原创 2019-01-26 23:03:07 · 196 阅读 · 0 评论 -
B+树
一个m阶的B+树具有如下几个特征:1.有k个子树的中间节点包含有k个元素(B树中是k-1个元素),每个元素不保存数据,只用来索引,所有卫星数据都保存在叶子节点。2.所有的叶子结点中包含了全部元素的信息,及指向含这些元素记录的指针,且叶子结点本身依关键字的大小自小而大顺序链接。3.所有的中间节点元素都同时存在于子节点,在子节点元素中是最大(或最小)元素。首先要知道,B树的特性,B+树都是一...转载 2019-01-26 23:02:51 · 148 阅读 · 0 评论