trie树实现及其应用场景

Trie树,又称为字典树、前缀树,是一种多叉树结构。用来解决在一组字符串中集合中快速查找某个字符串的问题,典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),Trie树的本质是将字符串之间...

常用负载均衡算法

所谓负载均衡,就是当有多个服务节点时,尽可能地把请求均匀的分配到这些节点上。

在如今这个分布式架构盛行的时代,可以说从web入口到数据库的各个层,都能见到负载均衡的身影。本文不具体探讨nginx或者...

链表相关算法(python)

链表结构定义

class ListNode(object):

    def __init__(self, val, next):
        self.val = val
        s...

算法题:空瓶换可乐问题

可乐1元一瓶,两个空瓶可以换一瓶可乐。问:给你一些钱,计算出最多可以喝几瓶可乐?

分析

假定g(n)表示给n元钱最多能喝的可乐数(即我们最终要求的值);假定f(n)表示给定n个空瓶,能换得到的总可...

数据结构之跳跃表

跳跃表(skiplist)是一种有序数据结构,它通过在每个节点中维持多个指向其他节点指针,从而达到快速访问节点的目的。

针对数组,我们可以使用二分查找算法在O(log(N))的时间查找到目标, 但它...

数据结构之哈希表

散列表Hash table,也叫哈希表),是根据(Key)而直接访问在内存存储位置的数据结构。也就是说,它通过计算一个关于键值的函数,将所需查询的数据映射到表中一个位置来访问记录,这加快了查找速度...