算法

二分图的定义和判定

二分图的定义和判定二分图是图论当中很重要的一个板块,由二分图的匹配与带权匹配可以推广出一般图的匹配与带权匹配。本篇主要会讲到二分图的定义、性质、判定。一、定义二分图,又称二部图,英文名叫Bipartitegraph,是……

舞蹈链算法(Dancing links)实例讲解

舞蹈链算法(Dancing links)实例讲解前面的文字介绍了舞蹈链,这里就不详细描述什么是舞蹈链了,舞蹈链(Dancinglinks)是一种数据结构,可以用来实现X算法,以解决精确覆盖问题。本篇的内容主要把舞蹈链Dancinglinks应用于实……

字符串基础知识

字符串基础知识一、什么是字符串?字符串就是多个只读字符组成的数组。为什么说是只读?只读是因为字符串的所有方法都不会改变原字符串,包括通过下标修改,字符串依旧是保持原样。var str=&q……

二叉树及分类介绍

二叉树及分类介绍1.二叉树简介二叉树是n(n>=0)个结点的有限集合,该集合或者为空集(称为空二叉树),或者由一个根结点和两棵互不相交的、分别称为根结点的左子树和右子树组成。如图如图,每一个结点中最多拥……

树形模拟法的运用(C语言例题讲解)

树形模拟法的运用(C语言例题讲解)1.模拟法简介        在前面的文章已经提到过模拟……

结合实例解析宽度优先搜索(BFS)搜索

结合实例解析宽度优先搜索(BFS)搜索本篇将会结合实例解析宽度优先搜索(BFS)。一、BFS概念宽度优先搜索算法(又称广度优先搜索)是最简便的图的搜索算法之一,这一算法也是很多重要的图的算法的原型。Dijkstra单源最短路径算法和Pri……

什么是格雷码?

什么是格雷码?一、什么是格雷码?格雷码,又叫循环二进制码或反射二进制码,格雷码是我们在工程中常会遇到的一种编码方式,它的基本的特点就是任意两个相邻的代码只有一位二进制数不同,格雷码的基本特点就是任意两个相邻的代码只……

动态查找-平衡二叉树

动态查找-平衡二叉树1.简介平衡二叉树(BalancedBinaryTree)具有以下性质:它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。平衡二叉树的常用实现方法有红黑树、A……

Python贪心算法

Python贪心算法        贪心算法也被称为贪婪算法,它是指在对问题……

冒泡排序算法实例详解

冒泡排序算法实例详解1.复杂度与稳定性算法时间复杂度最坏情况:O(n^2)最好情况:O(n)平均情况:O(n^2)空间复杂度:S(n)=O(1)稳定性:稳定排序2.过程介绍(以顺序为例)1.从第一个元素开始逐个比较相邻的……