花费 7 ms
B树和B+树的总结

B树和B+树总结 B树 简介 这里的B树,也就是英文中的B-Tree,一个 m 阶的B树满足以下条件: 每个结点至多拥有m棵子树; 根结点至少拥有两颗子树(存在子树的情况下),根结点至少有一个关 ...

Wed Jun 14 22:36:00 CST 2017 4 33999
图的深度优先遍历和广度优先遍历理解

前言 根据分类,图的搜索分类可以分为 BFS和DFS 记忆化搜索(基于深搜) 双向广搜 二分状态搜索 启发式搜索 与或树搜索 博弈树搜索(α-β剪枝)(极大极小过程搜 ...

Wed Feb 15 14:36:00 CST 2017 0 28256
树状数组的原理和实现

树状数组的原理和实现 概念 树状数组或者二叉索引树也称作Binary Indexed Tree,又叫做Fenwick树;它的查询和修改的时间复杂度都是log(n),空间复杂度则为 ...

Mon Oct 23 01:49:00 CST 2017 2 18229
树链剖分原理和实现

树链剖分原理和实现.md html {overflow-x: initial !important;}.CodeMirror { height: auto; } .CodeMirror-scro ...

Sun Nov 12 20:21:00 CST 2017 8 14733
BFS-基础简单的算法

前言 有时候,当你并不了解很多高级算法的时候,搜索不失为一种解决问题的好方法,而且很多高级算法有或多或少的会用到搜索或者搜索的思想。可见,搜索是一个基础并且必须要掌握的算法。 在这篇文章中,会对B ...

Mon Mar 20 01:01:00 CST 2017 0 12749
最小堆理解

简介 当一棵二叉树的每个结点都大于它的两个子结点时,被称为堆有序; 如果我们用指针来表示堆有序的二叉树,那么每个元素都需要三个指针来找到它的上下结点;但是如果我们使用完全二叉树,只用数组而不需要指 ...

Wed Feb 15 14:35:00 CST 2017 0 10840
跳跃表原理和实现

跳跃表原理和实现 前提 有时候会被问到链表如果做到二分搜索,可能会有部分的人会去把链表中的值保存到数组来进行二分,但是如果知道跳跃表的话,那么这个数据结构就可以解决这个困惑,它允 ...

Sun Oct 08 04:41:00 CST 2017 0 8447
扩展欧几里得算法详解

本篇将附上扩展欧几里得算法的思想与推导; 对于一个方程\(a*x+b*y=gcd(a,b)\)来说,我们可以做如下的推导: 设有\(a*x_1+b*y_1=gcd(a,b)\); 同时我们有 ...

Sat Oct 20 02:51:00 CST 2018 3 5122
BM算法详解

来源 在没有BM算法时,其原始算法是从后往前进行匹配,需要两层循环,判断以某个字符为结尾的子串是否和模式串相等,这种算法也称作暴搜; 贴上代码: 算法的思想还是比较容易理解的,i和j分别指的 ...

Wed Feb 15 14:33:00 CST 2017 1 9385
贪心算法 题型总结

贪心算法的原理和实现 1 基本思想 从问题的某一个初始解出发,通过一系列的贪心选择-当前状态下的局部最优选择,逐步逼近给定的目标; 在每个阶段,都作出一个按照()某个评价函数最优的决策,这个评价 ...

Fri Apr 28 22:18:00 CST 2017 0 8526

 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM