什么是哈希表? 很多人说起“哈希表”,就会直接聚焦到hash函数、“散列”、“杂凑”等方向,会使得初学者一头雾水,反而更加不理解什么,下面就会系统的给大家介绍一下什么是“哈希表”。哈希表又称散列表,一种以「key-value」形式存储数据的数据结构。所谓以「key-value」形式存储数据, 数据结构 2022年02月20日 211 点赞 0 评论 95083 浏览
希尔排序算法实例详解 1.复杂度与稳定性算法时间复杂度最坏情况:O(n^2)最好情况:O(n)平均情况:O(n^2)稳定性:不稳定排序2.过程介绍希尔排序,又名递减增量排序算法,是一种非稳定的更高效的插入排序,在对几乎已经排好序的数据操作时,效率极高,即可以达到线性排序的效率, 排序算法 2022年03月10日 185 点赞 0 评论 95148 浏览
字典树(trie)/前缀树(Prefix Tree)实例讲解 对于字典树/前缀树可能大部分情况很难直观或者有接触的体验,尤其是对前缀这个玩意没啥概念,可能做题遇到前缀问题也是使用暴力匹配蒙混过关,如果字符串比较少使用哈希表等结构可能也能蒙混过关,但如果字符串比较长、相同前缀较多那么使用字典树可以大大减少内存的使用和效率。 字符串相关 2022年01月16日 106 点赞 0 评论 95420 浏览
什么是AC自动机? AC自动机,我知道很多人看到这个会十分好奇,不过这个自动机它又叫做Automaton。我相信大家在初学自动机相关内容时,许多人难以建立对自动机的初步印象,尤其是在自学的时侯。让我们切入正题,通过这段时间对自动机的研究,然后制作若干的gif,已经可以呈现出一个相对直观的自动机形态, 字符串相关 2022年03月09日 175 点赞 0 评论 95558 浏览
树形DP概念和实例讲解 一、什么是树型动态规划顾名思义,树型动态规划就是在“树”的数据结构上的动态规划,平时作的动态规划都是线性的或者是建立在图上的,线性的动态规划有二种方向既向前和向后,相应的线性的动态规划有二种方法既顺推与逆推,而树型动态规划是建立在树上的,所以也相应的有二个方向:(1)叶->根:在回溯的时候从叶子节点往 动态规划 2022年02月06日 249 点赞 0 评论 96015 浏览
图的存储:链式向前星 1.概念链式向前星代码是基于向前星代码的优化,这是极大多数算法竞赛以及高效率图论算法喜欢适用的创建方法,与邻接表和邻接矩阵比较容易的理解方式,向前星算法并不容易理解。在理解链式向前星之前我们需要了解什么是向前星,前向星是一种特殊的边集数组,我们把边集数组中的每一条边按照起点从小到大排序, 图 2022年01月11日 55 点赞 0 评论 96126 浏览
归并排序算法C/C++代码图文讲解 归并排序算法是在分治算法基础上设计出来的一种排序算法,它可以对指定序列完成升序(由小到大)或降序(由大到小)排序,对应的时间复杂度为O(nlogn)。(1)算法思路归并排序算法实现排序的思路是:1.将整个待排序序列划分成多个不可再分的子序列, 排序算法 2022年02月21日 192 点赞 0 评论 96583 浏览
数据结构的特点 本篇我们来总结一下数据结构的特点,帮助大家更好的运用。1、数组数组使用下标查找十分迅速,但计算机内存有限,故数组的长度有限,数组初始化就需要声明数组的长度。实际应用当中的数据往往十分庞大;无序数组的查找最坏情况需要遍历整个数组;后来人们提出了二分查找, 数据结构 2022年05月11日 211 点赞 0 评论 96594 浏览
快速排序算法C/C++代码图文讲解 快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序n个项目要Ο(nlogn)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(nlogn)算法更快,因为它的内部循环(innerloop)可以在大部分的架构上很有效率地被实现出来。 排序算法 2022年01月03日 121 点赞 0 评论 96628 浏览
简述最小树形图 一、什么是最小树形图?就是指有向图上的最小生成树,英文是DirectedMinimumSpanningTree。常用的算法是朱刘算法(也称Edmonds算法),可以在O(nm)时间内解决最小树形图问题。(1)过程对于每个点,选择它入度最小的那条边如果没有环, 图论 2022年03月27日 222 点赞 0 评论 96712 浏览