算法与数据结构
文章平均质量分 96
算法与数据结构方方面面
笨牛慢耕
谋生:信号处理,无线通信,芯片设计
兴趣:数理计算机人工智能
遗憾:世界如此丰富,而我如此无知
铭记:日拱一卒终身成长;忠于内心远离油腻;成就自己照亮周围
寄语自己:愿你历尽劫波,内心永远少年
展开
-
算法笔记:前缀和+哈希表(leetcode题解例)
前缀和(以及与哈希表组合)是解决算法问题中常见的技巧。本文结合几道leetcode算法题解例介绍前缀和+哈希表的应用例。前缀和:针对一个给定的数列A,它的前缀和数列定义如下:(这里采用和c或者pyhton相同的从0开始的下标方式,以便于和编程进行对照)。前缀和的计算有一个良好的特性,即不是每个前缀和都需要独立计算,前后有依赖关系,如下所示:,这样的话针对数组(本文中不追求严格,数列和数组视为可以互换的名词)A,它的所有的前缀和可以在一次从左到右的遍历中以O(n)(而不是O(n**2)!原创 2023-03-12 16:45:17 · 1273 阅读 · 0 评论 -
编程:理解算法理论上的计算复杂度
作为程序员,你一定非常清楚复杂度分析对编码的重要性。计算机系统从最初的设计、开发到最终的部署,要经过很多的步骤,而影响系统性能的因素有很多。我把这些因素分为三大类:算法理论上的计算复杂度、开发实现的方案和硬件设备的规格。如果将整个系统的构建比作生产汽车,那么计算复杂度相当于在蓝图设计阶段,对整个汽车的性能进行评估。如果我们能够进行准确的复杂度分析,那么就能从理论上预估汽车的各项指标,避免生产出一辆既耗油又开得很慢的汽车。可是,你也常常会发现,要准确地分析复杂度并不容易。原创 2021-10-14 14:25:19 · 1317 阅读 · 4 评论 -
动态规划漫谈(面向初学者的自学总结)
动态规划是一个具有广泛应用场景的算法设计范式(相对于转为某一类特定问题而发明的特殊算法),本文基于自己的学习理解做一个简单而概要的描述,以便于自己学而时习之以及累进式提高。原创 2022-04-02 15:15:55 · 1973 阅读 · 0 评论 -
拓扑排序(topological sorting)介绍及Python实现
拓扑排序(topological sorting)介绍及Python实现,介绍了拓扑排序基本算法原理,并给出基于深度优先搜索和基于广度优先搜索的Python实现。原创 2022-06-01 13:11:23 · 22782 阅读 · 0 评论