找出图中顶点被遍历的顺序,用深度优先搜索 #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条评论 38点热度 阅读全文

找出有向图中两个顶点的最短路径,深度优先遍历每条路径,找出路径最短的 #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条评论 32点热度 阅读全文

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

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

概念 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条评论 31点热度 阅读全文

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

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

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

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

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

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

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

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

https://www.cnblogs.com/onepixel/articles/7674659.html http://www.cnblogs.com/eniac12/p/5329396.html Bubble Sort #include <stdio.h> // 分类 -------------- 内部比较排序 // 数据结构 ---------- 数组 // 最差时间复杂度 ---- O(n^2) // 最优时间复杂度 ---- 如果能在内部循环第一次运行时,使用一个旗标来表示有无需要交换的可能…

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

Java语言从诞生之时就宣称一次编写,到处运行的跨平台特性,其实现原理是源码文件并没有直接编译成机器指令,而是编译成Java虚拟机可以识别和运行的字节码文件(Class类文件,*.class),字节码文件是一种平台无关的中间编译结果,字节码文件由java虚拟机读取,解析和执行,java虚拟机屏蔽了不同操作系统和硬件平台的差异性。 如今的java虚拟机已经称为一种通用平台,不但能够运行java语言,Groovy,JRuby,Jython等一大批动态语言也可以直接在Java虚拟机上运行,其原理也是这些动态语言的编译器将…

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