数据结构——动手实战双向链表
点击上方蓝字,和我一起学技术。在之前介绍SkipList的文章当中,有一些同学反馈说由于对链表缺少认知以及了解,所以直接啃算法有些过于困难。加上之前的文章当中介绍过了栈,所以这次继续线性表这个话题,我们来一起讨论一下链表。链表是很多数据结构的基础,它的最大特点是支持快速的删除和插入,因此在很多数据频
千挑万选的五个技术公众号,和你一起成长
在学习技术以及和同好交流的过程当中,遇见了几个志同道合的朋友和他们干货满满的公众号。今天一起推荐给大家,希望你们都能喜欢。让技术一瓜共食让技术一瓜共食,只产出硬核文章!内容都是关于面试、算法、刷题的方法论以及移动端领域的技术文章,只发原创文章。TechdemicTechDemic专注于分享计算机领域
机器学习基础——一直深入到信息论,详解本文分析中的tf-idf
点击上方蓝字,和我一起学技术。今天的文章和大家聊聊文本分析当中的一个简单但又大名鼎鼎的算法——TF-idf。说起来这个算法是自然语言处理领域的重要算法,但是因为它太有名了,以至于虽然我不是从事NLP领域的,但在面试的时候仍然被问过好几次,可见这个算法的重要性。好在算法本身并不困难,虽然从名字上看疑惑
Python——详解collections工具库,一篇文章全搞定
点击上方蓝字,和我一起学技术。今天为大家介绍Python当中一个很好用也是很基础的工具库,叫做collections。collection在英文当中有容器的意思,所以顾名思义,这是一个容器的集合。这个库当中的容器很多,有一些不是很常用,本篇文章选择了其中最常用的几个,一起介绍给大家。defaultd
python数据分析万字干货!一个数据集全方位解读pandas
点击上方“早起python”,关注公众号满满干货等你来~说到python与数据分析,那肯定少不了pandas的身影,本文希望通过分析经典的NBA数据集来系统的全方位讲解pandas包,建议搭配IDE一遍敲一边读哦。话不多说,开始吧!目录安装与数据介绍安装与配置检查数据探索性分析pandas数据结构s
LeetCode 32,并不Hard的难题,解法超级经典,带你领略动态规划的精彩
点击上方蓝字,和我一起学技术。今天给大家分享的是LeetCode当中的32题,这是一道Hard难度的题。也是一道经典的字符串处理问题,在接下来的文章当中,我们会详细地解读有关它的三个解法。希望大家不要被题目上的标记吓到,虽然这题标着难度是Hard,但其实真的不难。我自信你们看完文章之后也一定会这么觉
LeetCode 31:递归、回溯、八皇后、全排列一篇文章全讲清楚
点击上方蓝字,和我一起学技术。今天我们讲的是LeetCode的31题,这是一道非常经典的问题,经常会在面试当中遇到。在今天的文章当中除了关于题目的分析和解答之外,我们还会详细解读深度优先搜索和回溯算法,感兴趣的同学不容错过。题目NextPermutation难度Medium描述实现C++当中经典的库
【分布式系统设计】实战Apache Kafka
ApacheKafka作为Apache基金会的顶级开源项目,是时下最热的消息中间件,其被广泛应用在互联网大厂的后台系统以及各种机器学习推理平台中(Nvidia的DeepStream就是用Kafka做消息中间件的)。作为本专题第四篇文章,本文将会介绍ApacheKafka的特性与原理,教读者如何安装K
高等数学——洛必达法则
点击上方蓝字,和我一起学技术。今天和大家一起复习的是洛必达法则,这个法则非常重要,在许多问题的解法当中都有出现。虽然时隔多年,许多知识点都已经还给老师了,但是我仍然还记得当年大一的时候,高数老师在讲台上慷慨激昂讲解洛必达法则时候的样子。上篇文章当中我们回顾了微分中值定理,今天要说的洛必达法则其实是微
算法浅谈——快速筛出topK的快速选择算法
点击上方蓝字,和我一起学技术。在之前Python系列当中,我们介绍了heapq这个库的用法,它可以在的时间里筛选出前K大或者前K小的元素。今天我们一起来看一个可以更快实现选择的快速选择算法。思维推导在公布答案之前,我想先带着大家试着推导一下解法。这其实才是算法能力的精髓,即是应用已知能力解决未知问题
算法浅谈——快速筛出topK的快速选择算法
点击上方蓝字,和我一起学技术。在之前Python系列当中,我们介绍了heapq这个库的用法,它可以在的时间里筛选出前K大或者前K小的元素。今天我们一起来看一个可以更快实现选择的快速选择算法。思维推导在公布答案之前,我想先带着大家试着推导一下解法。这其实才是算法能力的精髓,即是应用已知能力解决未知问题
机器学习基础——详解机器学习损失函数之交叉熵
点击上方蓝字,和我一起学技术。今天这篇文章和大家聊聊机器学习领域的熵。我在看paper的时候发现对于交叉熵的理解又有些遗忘,复习了一下之后,又有了一些新的认识。故写下本文和大家分享。熵这个概念应用非常广泛,我个人认为比较经典的一个应用是在热力学当中,反应一个系统的混乱程度。根据热力学第二定律,一个孤
Python应用——自定义排序全套方案
点击上方蓝字,和我一起学技术。今天的这篇文章和大家聊聊Python当中的排序,和很多高级语言一样,Python封装了成熟的排序函数。我们只需要调用内部的sort函数,就可以完成排序。但是实际场景当中,排序的应用往往比较复杂,比如对象类型,当中有多个字段,我们希望按照指定字段排序,或者是希望按照多关键
LeetCode30 Hard 查找所有子串
点击上方蓝字,和我一起学技术。链接SubstringwithConcatenationofAllWords难度Hard描述给定一个字符串s作为母串,和一系列长度相等的字符串words,要求返回s当中所有的位置,使得从该位置开始可以找到所有的words,并且所有的words只出现一次Youaregiv
LeetCode29 Medium 除法与二进制优化
点击上方蓝字,和我一起学技术。链接DivideTwoIntegers难度Medium描述给定两个整数,被除数和除数,要求在不使用除法的情况下计算出两数的商Giventwointegersdividendanddivisor,dividetwointegerswithoutusingmultiplic
分布式——SkipList跳跃链表【含代码】
点击上方蓝字,和我一起学技术。今天继续介绍分布式系统当中常用的数据结构,今天要介绍的数据结构非常了不起,和之前介绍的布隆过滤器一样,是一个功能强大原理简单的数据结构。并且它的缺点和短板更少,应用更加广泛,比如广泛使用的Redis就有用到它。SkipList简介SkipList是一个实现快速查找、增删
高等数学——微分中值定理
点击上方蓝字,和我一起学技术。今天和大家回顾一下高数当中的微分中值定理,是很多微积分公式的基础。由于本人才疏学浅,所以对于这点没有太深的认识。但是提出中值定理的几个数学家倒是如雷贯耳,前段时间抽空研究了一下,发现很有意思,完全没有想象中那么枯燥。所以今天的文章和大家聊聊这个话题,我会跳过一些无关紧要
数据结构——30行代码实现栈和模拟递归
点击上方蓝字,和我一起学技术。原本今天想给大家讲讲快速选择算法的,但是发现一连写了好几篇排序相关了,所以临时改了题目,今天聊点数据结构,来看看经典并且简单的数据结构——栈。栈这个结构我想大家应该都耳熟能详,尤其是在很多地方将和堆并列在一起,称作“堆栈”就更广为人知了。但其实堆和栈本质上是两种不同的数
机器学习基础——从线性回归到逻辑回归【硬核推导,附代码】
点击上方蓝字,和我一起学技术。在之前的文章当中,我们推导了线性回归的公式,线性回归本质是线性函数,模型的原理不难,核心是求解模型参数的过程。通过对线性回归的推导和学习,我们基本上了解了机器学习模型学习的过程,这是机器学习的精髓,要比单个模型的原理重要得多。新关注和有所遗忘的同学可以点击下方的链接回顾
Python应用——灵活地处理多个变量
点击上方蓝字,和我一起学技术。我们都知道Python是一个非常灵活的语言,以至于如果它不是你的第一门语言,你会发现它总能给你各种各样的惊喜,让你忍不住惊叹:woc,还有这种操作。尤其我在系统地学习Python之前是Java后端出身,所以每一阶段几乎都会让我觉得打开了新世界的大门。今天就和大家介绍一个