暂无搜索历史
线段树是把数组构建一个棵满二叉树的形式, 然后通过局部的更新,在数组求和的情况下可以通过log(n)的时间复杂,快速实现局部求和的。
动态规划在计算机算法中算是一类比较难的问题。 这个问题的难点在于如何抽象出状态,根据状态抽象出状态转移方程。
虽然golang开始在后台开发横行,但是springboot还是目前大多数企业使用的技术栈。由于其成熟性,丰富的组件以及生态环境,是很多公司的首选。学习spri...
SkipList通俗理解就是一个多层链表,并且数据是有序排列。通常我们理解的链表只有一层,一个节点指向排列中的下一个节点。
manacher算法是一种求字符串最大回文半径的o(n)的算法。回文就是以一个字符为中心左右两边的字符是相等的,如aba, aa。但是对于aa来说不是很好求解,...
KMP算法是很经典的字符串匹配算法,在字符的匹配过程中,只要遍历一次就可以找出所有的匹配串。对于超大型字符串来说,是一种非常高效的算法。KMP算法的核心是nex...
桶排序算法就是把数据平分到每一个桶中,然后对桶中的数据进行排序,再按桶的顺序依次倒出数据,桶排序算法很好理解。桶排序算法也是以空间换时间的算法。
基数排序算法是基于数据的每一位来排序,基数排序也适用于正整数排序。正整数每一位都是从0~9, 这个顺序是天然的。因此可以利用这种自然的序列进行排序。在排序过程中...
计数排序算法是一种典型的以空间换时间的一种算法。 这种算法主要是适合于正整数进行 排序。还是比较好理解的,而且在很多场合确实能提高效率。
希尔排序算法是插入排序的一种变种。只是这种算法,增加了一些随机因素。插入排序是整个数据是一组进行排序。希尔排序是把数据进行分组,进行排序,逐步减少组的数量,最后...
堆排序算法是一个基于完全二叉树形结构的排序算法。二叉树是需要抽象出来的,只是为了方便来理解排序的过程。
快速排序算法是一个典型的荷兰国旗问题。那什么是荷兰国旗问题呢,就是有三种旗子红,白,黑。 三种旗子在数组中乱序的,现在的问题是要把相同颜色国旗放到一起应该怎么做...
二路归并排序算法简单理解就是两两进行比较,然后把他们合并到一起。 通俗理解就是去买衣服的时候,经常会货比三家,看了一个店选两件衣服,然后又去另外一个店选了同款的...
插入排序算法从字面上的理解就是把数据插入到一个已经排好序的队列中。朴素一点理解,就是在那里已经站了一排人,从矮到高排的,现在有一个人要按高矮排这个队列里。那应该...
冒泡排序算法是算法与数据结构中最基础的排序算法。学会这个算法是有必要,在2010年左右的时候,很多时候面试都会冒泡排序算法。那时候IT行业没现在这么卷,大部分都...
笔者很喜欢技术,从移动端、后台、再到算法都有学过。学过了各种技术之后,觉得技术很多技术其实相通的,有时候觉得这是对世界的一个朴素的理解。学技术首先要要去理解技术...
暂未填写学校和专业
暂未填写个人网址
暂未填写所在城市