Zoom~ , Out of Memory !

Code is like humor. When you have to explain it, it’s bad.

Java线程池源码解析:揭开并发编程的面纱

为什么要用线程池? 降低资源消耗:通过重复利用现有的线程来执行任务,避免多次创建和销毁线程。 提高相应速度:因为省去了创建线程这个步骤,所以在拿到任务时,可以立刻开始执行。 提高线程的可管理性:线程是稀缺资源,如果无限制创建,不仅会消耗系统资源,还会因为线程的不合理分布导致资源调度失衡,降低系统的稳
阅读更多 >

线段树图解:掌握区间操作的艺术

线段树 线段树是算法竞赛中常用的用来维护 区间信息 的数据结构。线段树可以在 $O(\log_{2}{N})$ 的时间复杂度内实现单点修改、区间修改、区间查询等操作。 线段树的基本结构 为数组(假设下标从1开始): a[5] = [{1,2,3,4,5}] 构造线段树如下图(采用堆式存储): 上述
阅读更多 >

红黑树揭秘:深入探索自平衡的艺术

红黑树的基本结构 红黑树(Red-black tree) 是一种自平衡二叉查找树,是在计算机科学中用到的一种数据结构,常用于关联数组、字典等。C++ 中的标准关联容器set、multiset、map、multimap内部采用的数据结构就是红黑树。 红黑树的定义: 每个节点只能是红色的或黑色的
阅读更多 >

探索 Trie 树:构建和查询的高效数据结构

据不完全统计,世界上现存英语单词的数量为17万到100万不等。假设现在要你写一个词典APP,要求能够快速检索、删除、添加单词,。显然你很容易想到两种方案: 将所有单词按字典序排列,在按二分搜索来查询。 奖励首字母索引表,在各索引项表内按字典序排序单词,再在当中按二分搜索查询。 但无疑上述方案的要求略
阅读更多 >

Tarjan算法详解:图论中的强联通分量

强连通分量简介 有向图强连通分量:在有向图G中,如果两个顶点 V_i, V_j 间(V_i>V_j)有一条从V_i到V_j的有向路径,同时还有一条从V_j到的V_i有向路径,则称两个顶点强连通(strongly connected)。如果有向图G的每两个顶点都强连通,称G是一个强连通图。有向图的极大
阅读更多 >

图神经网络模型:论文精读与关键点梳理

概要  在科学与工程的许多领域中的数据的潜在关系都可以用图来表示,比如计算机视觉,分子化学,分子生物学,模式识别,数据挖掘以及自然语言处理。本论文提出了一种新的神经网络模型称为图神经网络模型,用来处理以图来表示的数据。  本文中所提到的图均指图论中的图(Graph)。它是一种由若干个结点(Node)
阅读更多 >

深度学习初探:人工神经网络原理解析

Part 1 何为人工神经网络 人工神经网络是模拟人脑的神经网络,用以实现人工智能的机器学习技术。我们知道,人脑可以说是世界上最复杂最精妙的系统之一,它由千亿计的神经元细胞组成。各个神经细胞相互链接,彼此之间传递电信号。从而造就了人类高于其他物种的思维能力。科学家受到人脑神经元的启发从而提出了人工神
阅读更多 >