算法

希尔排序算法实例详解

希尔排序算法实例详解1.复杂度与稳定性算法时间复杂度最坏情况:O(n^2)最好情况:O(n)平均情况:O(n^2) 稳定性:不稳定排序2.过程介绍希尔排序,又名递减增量排序算法,是一种非稳定的更高效的插……

结合实例解析深度优先搜索(DFS)搜索

结合实例解析深度优先搜索(DFS)搜索当你从一个顶点开始,沿着某条路往下走,一直走到底,如果走完后发现不能达到目标解,就回溯,返回到上一个节点,换条路,然后继续走到底,如此往复,直至所有可能的结果都被搜索完。通俗理解就是不撞南墙不回头这种……

什么是AC自动机?

什么是AC自动机? AC自动机,我知道很多人看到这个会十分好奇,不过这个自动机它又叫做Automaton。我相信大家在初学自动机相关内容时,许多人难以建立对自动机的初步印象,尤其是在自学的时侯。让我们切入正题,通过这段时……

Python递归算法

Python递归算法        我们在前面学习过递归函数,递归函数采用的……

舞蹈链算法(Dancing Links)运用及执行过程

舞蹈链算法(Dancing Links)运用及执行过程舞蹈链(Dancinglinks)实际上是一种数据结构,可以用来实现X算法,以解决精确覆盖问题。什么是精确覆盖(ExactCover)问题呢?维基百科上对精确覆盖的定义如下:在一个全集X中若干子集的集……

哈夫曼树编码与查找算法(C语言实现)

哈夫曼树编码与查找算法(C语言实现)1.哈夫曼树的查找算法查找算法根据构建哈夫曼树算法衍生而来,我们在构建二叉树时需要查找出哪些数据最小,以符合我们哈夫曼树的最优解情况。查找权重值最小的两个结点的思想是:从待处理数据的头部位置开始,首先……

算法基础

算法基础1.算法的特性1)输入输出算法具有零个或者多个输入,同时,算法具有至少一个的输出。对于在屏幕上打印”HelloWorld”一样,你可以不需要有任何的输入,直接输出得到结果即可,……

C++字符串常用操作(一)

C++字符串常用操作(一)1.基本介绍在程序设计中,字符串操作是必不可缺的,无论是工程设计还是算法设计均离不开字符串,字符串是由一个个单独的字符构成的串,其数据结构是线性的,常以ASCII码表示,同时只要设定得当,其展示任何一……

浅析Garsia-Wachs算法

浅析Garsia-Wachs算法什么是Garsia-Wachs算法?很多人都觉得这个算法比较陌生,Garsia-Wachs算法(Garsia-WachsAlgorithm)是计算机用来在线性时间内构建最优二叉查找树和字母霍夫曼码的有……

平面图的基本概念及性质

平面图的基本概念及性质 一、基本概念平面图:设无向图G,若能将G画在一个平面上,使得任何两条边仅在顶点处相交,则称G是具有平面性质的图,简称平面图,否则称G是非平面图。在平面图G中,G的边将其所在的平面划分成的区域称为面,有……