前言算法复杂度一直是痛中之痛,一直搞不明白,今次就好好探究一下算法复杂度究竟是怎么回事,以及如何衡量。 什么是算法呢?通俗来讲,是为了解决某个问题的步骤或者一个过程四大特性: 输入,输出,确定性,有穷性
至关重要问题!!!这些数据结构在具体实际中的运用,刷题只是锻炼思维,这些数据结构在实际中的使用呢? 自己做题的时候,思路是不是很清晰呢? 刷了这么点,是不是该好好的消化一下了。 自己的方法 建模能力?
跳表有序链表的基础上改动,使得 查找,删除,插入的时间复杂度位 o(logn)。 重要思想:通过给链表建立索引,提高查找效率。空间换时间, 当建立多级索引的时候,链表能够实现二分查找。 当元素数量较多时,索引提高的效率比较大,近似于二分查找。 跳表是可以实现二分查找的有序链表。 难点 插入数据时,索引的重建 链接-https://www.jianshu.com/p/9d82965628
进制关于基本的进制转换算法 套路https://leetcode-cn.com/problems/add-to-array-form-of-integer/solution/989-ji-zhu-zhe-ge-jia-fa-mo-ban-miao-sha-8y9r/ https://leetcode-cn.com/problems/convert-a-number-to-hexadecimal/s
连续整数之和先看问题描述:大部分的正整数可以表示为 2 个以上连续整数之和,如 6=1+2+3,9=5+4=2+3+4; 给定正整数表示有多少个 2 个以上的连续整数之和。 分析;假定给定 9,我们先列出如下数字 1,2,3,4,5,6,7,8,9 算法思路,步骤 1 开始,1<9,所以,继续加,1+2<9,1+2+3<9,1+2+3+4>9
二叉搜索平衡树为什么要有平衡树呢?简单的说,提高搜索效率,不至于 让 二叉搜索树的 查询 变为 0(n)。要明白 avl 树的算法,首先要明白如下定义: 平衡因子 左旋,右旋,LR 旋转 RL 旋转 等四种特殊的方式 这个算法是边构建,边调整。平衡因子是指:左子树与右子树的高度之差,如果插入某个节点后,根节点的平衡因子等于 2,那么我们就需要进行调整,而调整 就有 如上的四种方式。也是比较好理
二叉树中所有距离为 K 的结点给定一个二叉树(具有根结点 root), 一个目标结点 target ,和一个整数值 K 。 返回到目标结点 target 距离为 K 的所有结点的值的列表。 答案可以以任何顺序返回。 分析一开始我的思路是分两步,目标节点向上,目标节点向上,组合题目要求的结果,但往目标节点的父节点之上遍历,却又不知道用何种方式。最后只能无奈看题解。题解实现的方式非常巧妙。 通