算法与数据结构
文章平均质量分 69
学习算法人人有责
风过于前
这个作者很懒,什么都没留下…
展开
-
红黑树实现
红黑树也是一种自平衡的二叉树。相比于AVL数,红黑树插入删除的效率跟高,因为其插入和删除是需要的旋转的次数更少。原创 2023-10-14 13:28:35 · 154 阅读 · 0 评论 -
AVL平衡二叉树
AVL,是一种自平衡二叉树。对于二叉树来所,如果一直插入比前一个数小的数,那么二叉树可能会退化成一个链表。因此,为了保证查询的效率,我们需要时刻保持二叉树的平衡。对于AVL数来说,平衡的条件是左右子树的深度不会超过一。原创 2023-10-13 15:42:20 · 153 阅读 · 0 评论 -
BST二叉搜索树
二叉搜索树,它具有以下的特性,树节点具有一个key属性,不同节点之间key是不能重复的,对于任意一个节点,它的key都要比左子树的key大,比右子树的key小。原创 2023-10-13 15:13:22 · 139 阅读 · 0 评论 -
缓存算法及其代码实现
要实现这个功能,我们首先就要去维护这样一个队列,队列的头是刚刚加入或修改过的key,而尾部是最久没有使用的key。我们需要在修改key的同时,将这个key放到队伍的头部,并将原先位置的key删除。这样我们只需要在访问次数最小的链表的寻找要淘汰的数据就可以了。同时,我们还可以将双向链表的结点作为一个hash表的value,这样,我们我们就可以实现o(1)时间复杂度的查找。显然这个队列需要进行大量的数据的删除,添加,因此我们需要采用一个双向的链表。当我们的缓存满了以后,将最久没有使用的过的数据淘汰。原创 2023-09-25 18:41:18 · 124 阅读 · 0 评论 -
一天一Leetcode,头发远离我 week1
week1原创 2022-10-17 15:56:55 · 104 阅读 · 0 评论 -
位运算以及位运算在编程中的使用
位运算原创 2022-10-17 14:44:34 · 107 阅读 · 0 评论