发表评论取消回复
相关阅读
相关 深入理解随机算法:从LeetCode实践出发【2】(题号478、470、382、710)
随机算法在计算机科学中有重要应用。常说的蒙特卡洛算法或拉斯维加斯算法都属于是随机算法。随机算法或与之相关的数据结构,会要求操作在一定概率下随机返回结果(或者随机执行),例如随机
相关 深入理解随机算法:从LeetCode实践出发【1】(题号380、381、398、528)
随机算法在计算机科学中有重要应用。常说的蒙特卡洛算法或拉斯维加斯算法都属于是随机算法。随机算法或与之相关的数据结构,会要求操作在一定概率下随机返回结果(或者随机执行),例如随机
相关 深入理解结构设计与实现:从Leetcode实践出发【1】(题号225、232、155、716、706)
高级程序设计语言中通常都已经提供了许多常用的数据结构实现(例如Python中的collection,或者C++中的STL)。LeetCode中广泛存在一种分类标签为'Desig
相关 深入理解优先队列与堆:从Leetcode实践出发【2】(题号23、215、857、295)
堆是一种非常有用的数据结构类型,它可以用作执行优先级队列的存储结构,也可以用来实现堆排序。Python中对优先级队列和堆,都提供了很好的支持(有兴趣的读者可以参考文献【1】以了
相关 深入理解优先队列与堆:从Leetcode实践出发【1】(题号253、670、146、767)
一般的队列都需要严格遵从FIFO的原则,每次从队列中取出的都应该是最早被加入其中的元素。但在实际应用中,队列中的元素可能需要一定的优先级,每次从队列中取出具有特定优先级的元素。
相关 深入理解并查集:从Leetcode实践出发【2】(题号924、990、684、261)
不相交集(Disjoint Set)又称并查集,是解决等价或划分问题的一种有效的数据结构(树和森林常常被用来描述不相交集)。在前一篇文章中,已经介绍了关于这种特殊数据结构的基本
相关 深入理解归并与排序:从Leetcode实践出发(题号21、147、148)
排序是算法设计中最基本的问题之一。很多语言也都内置了排序函数,实际开发中需要手工编写排序函数的情况并不多见。但如果涉及到链表排序的话,通常内置函数就不能直接使用了。事实上,Le
相关 深入理解拓扑排序:从Leetcode实践出发(题号207、210、269、310)
拓扑排序是图论中的一个话题。与此相关的题目在LeetCode中的占比很低,但除非对拓扑排序算法有所了解,否则如果碰到一时之间还是很难解出的。本文会介绍拓扑排序的基本算法,并用其
相关 深入理解数学计算问题:从LeetCode实践出发【3】(题号166、279)
本文是深入理解数学计算问题的第3篇。这些数学题目的特点是,要么借助常规算法(例如动态规划)可以解决,要么在非常直接的数学算法实现中需要使用一些数据结构方面的基本知识(例如哈希)
相关 深入理解二叉索引树:从LeetCode实践出发(题号307、315、327、493)
Fenwick Tree也叫做树状数组,或者二叉索引树(BIT,Binary Indexed Tree),由新西兰奥克兰大学的Peter Fenwick博士于1994年提出。F
还没有评论,来说两句吧...