基础知识  条件概率(Conditional Probability)      相互独立时,p(A | B) = p(A)   贝叶斯规则 贝叶斯网络(Bayesian Network)定了一个独立的结构:一个节点的概率仅依赖于它的父节点。贝叶斯网络适用于稀疏模型,即大部分节点之间不存在任何直接的依赖关系。   联合概率(Joint Probability),表示所有节点共同发生的概率,将所有条件概率相乘:   我们最终的目标是计算准确的边缘概…

2021年9月6日 0条评论 10点热度 阅读全文

前言 循环队列是把顺序队列首尾相连,把存储队列元素的表从逻辑上看成一个环,成为循环队列。其将队列存储空间的最后一个位置绕到第一个位置,形成逻辑上的环状空间,供队列循环使用。在循环队列结构中,当存储空间的最后一个位置已被使用而再要进入队运算时,只需要存储空间的第一个位置空闲,便可将元素加入到第一个位置,即将存储空间的第一个位置作为队尾。循环队列可以更简单防止伪溢出的发生,但队列大小是固定的。在循环队列中,当队列为空时,有front=tail,而当所有队列空间全占满时,也有front=tail。为了区别这两种情况,规定…

2021年6月12日 0条评论 1点热度 阅读全文

找出图中顶点被遍历的顺序,用深度优先搜索 #include<stdio.h> int e[50][50],book[50]; int n,m,a,b,sum=0; int inf=99999999; void dfs(int cur) {     int i;     printf("%d ",cur);     sum++;     if(sum==n)         return…

2021年5月4日 0条评论 58点热度 阅读全文

找出有向图中两个顶点的最短路径,深度优先遍历每条路径,找出路径最短的 #include<stdio.h> int e[50][50],book[50]; int inf=99999999; int n,m,a,b,c,sum=0,min=99999999 ; void dfs(int cur,int step) {     int i;     if(step>min)         return;   &…

2021年5月4日 0条评论 51点热度 阅读全文

前言: 其实数学中的很多东西都是很抽象的,我们可以不妨将抽象的问题转化为数学问题,比如说三维我们可以转换为二维,二维我们可以继续转换为一维,那么最终我们以画表已数据可视化的方式展现出来就又成了一个简单的数学问题,其中难就难在该以什么样子的方式去转换,而这个转化的过程呢也就是所谓的 ——— 算法 题目已知有5个城市和8条公路,图中已经标出每个城市到每个城市之间的距离,求出1号城市到5号城市的最短路径。 思路:想一想图中的问题我们是不是可以把它转换成表格的形式看起来更加舒服,更容易得出结果呢?那既然是表格我们是不是在程…

2021年5月4日 0条评论 46点热度 阅读全文

概念 B树,英文是B-tree,是一种平衡多路树,这个不叫B减树,就是B树。 B树是一种多路树。因为他的子节点不止2个,可以是多个。 B树是一种平衡树。所谓平衡树,指的是他的左右两个子树的高度差小于等于1,而且左右子树的子树高度差也小于等于1。其实B树算是一种特殊的平衡树,因为B树的要求更高,要求左右子树高度相同,也就是说,根节点到每个叶子节点的距离都相同。 约定 1,ceil(x),这是一个向上取整的函数,比如ceil(1.1)=2。注意这不是四舍五入,而且是得到比参数大的那个整数。 2,B树可以用阶数来定义,阶…

2021年5月3日 0条评论 48点热度 阅读全文

概念 B树,是普遍运用于文件系统和数据库的一种多叉(即,每个非叶子结点可以有多个孩子)平衡查找树。 数据库索引为什么采用B树/B+树结构? 数据库索引存储在磁盘上,当数据库的数据量比较大时,索引可能高达几G,甚至更多。所以在利用索引查找时,不会一次性把整个索引加载到内存,而是每次只加载一个磁盘页(这里的磁盘页对应索引树的结点)。 若索引树采用二叉树结构,则一个页面只能存放一个值。因此在最坏的情况下,查找一个值的磁盘IO次数 = 索引树的高度。 由1可看出,磁盘IO次数由索引树的高度决定。因此,为了减少磁盘IO次数,…

2021年5月3日 0条评论 63点热度 阅读全文

使用Trie树实现网站对用户输入的敏感词打码 什么是Trie树? Trie树,又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希树高。 Trie树的核心思想是空间换时间,利用字符串的公共前缀来降低查询时间的开销以达到提高效率的目的。 使用Trie树数据结构可以匹配多个关键词,速度快。Trie树的最坏空间复杂…

2021年5月3日 0条评论 53点热度 阅读全文

Trie树,前缀树,字典树,又称单词查找树或键树,是一种树形结构。 典型应用是用于统计和排序大量的字符串(但不仅限于字符串),可以用于搜索引擎系统,用于文本词频统计。 Trie利用字符串的公共前缀来避免无谓的查找,从而降低查询时间的开销以达到提高效率的目的。 Trie性质: 1.根节点不包含字符,除根节点外每一个节点都只包含一个字符。 2.每一个节点与它所在树中的位置一起决定了它所代表的字符串(虽然它自身只保存一个char)。 也可以这样理解,每条边对应着一个字符char(事实上是该边指向的节点保存的这个char)…

2021年5月3日 0条评论 44点热度 阅读全文

博客思路 1.通过二叉排序树引出平衡二叉树 2.如何判断是不是一棵平衡二叉树 3.平衡因子 4.左旋  右旋   双旋 5.通过画图创建一棵二叉排序树 6.二叉排序树的代码思路和整体框架   1.二叉排序树 二叉排序树,又叫二叉查找树,它或者是一棵空树;或者是具有以下性质的二叉树: 1. 若它的左子树不空,则左子树上所有节点的值均小于它的根节点的值; 2. 若它的右子树不空,则右子树上所有节点的值均大于它的根节点的值; 3. 它的所有结点的左右子树也分别为二叉排序树。 讲平衡二叉树之前…

2021年5月3日 0条评论 53点热度 阅读全文