基础算法
班车
这个作者很懒,什么都没留下…
展开
-
字典树也叫前缀树用法
字典树 Trie树叫字典树也叫前缀树是一种多叉树形结构,是哈希树的变种。 Tire树典型应用于快速体检索,统计,排列和保存大量的字符串。其优点是最大限度减少无谓的字符串比较,查询效率比较高。 Tire树的核心思想是空间换时间,利用字符串的公共前缀和来降低查询时间的开销提高效率。 Tire树的三个基本性质: 根节点不包含字符,除根节点外每一个节点都只包含一个字符。 从根节点到某一节点,路径上经过的字符连接起来,为该节点对应的字符串。 每个节点的所有子节点包含的字符都不相同。 可以把Trie树看成一个最多26叉原创 2021-12-02 19:16:29 · 474 阅读 · 0 评论 -
二分查找法思路
二分查找法思路 直接求解问题 题目找出一个整齐排列的升序数组中目标值target第一次出现和最后一次出现的位置。 实例:[2,2,3,3,4,5,5] target=4 return [4,4]; 若没有目标值则返回[-1,-1]。 思路:根据题目要求找到两个位置。首先确定范围区间[left,right],然后通过mid判断创立条件。 查找第一次出现位置时 mid=(left+right)>>>1 1.nums[mid]>target mid及其右边范围排除,缩小范围区原创 2021-11-13 17:22:43 · 903 阅读 · 0 评论 -
递归算法和尾递归
递归算法 题目 计算Fibonacci数前两个数之和等于第三个数以1,1开始。 递归就是自己调用自己,通过回调实现。 首先要定义初始状态也称为终止条件,初始状态的处理,最后是递归调用。 这道题的初始状态就是第1第2个数是1,初始状态处理就是当回调到1时停止然后返回。 优点:代码简易易于理解。 缺点:时间和空间复杂度较大。 一般递归代码如下 public long fibonacci(int num){ if(num<=1){ return num; }else retu原创 2021-08-09 11:16:15 · 273 阅读 · 0 评论