随笔分类 - [41]Algorithm算法
-
我是如何学习算法的?
摘要:一文讲清楚算法刷题-计算机专业新生必看 哈喽,大家好,我是Sunny,你也可以叫我萨宁,一个热爱分享编程知识的程序员。我的昵称是Sunny不要停,寓意是美好的晴朗日子不要停下来,希望大家都能每天开开心心的。我的频道主要分享编程知识,生活,大学计算机学科学习,考研经验。目前已经上岸某211计算机专业, 阅读全文
-
椭圆曲线加密算法
摘要:椭圆曲线加密算法中公钥与私钥互换性分析 PrimiHub一款由密码学专家团队打造的开源隐私计算平台,专注于分享数据安全、密码学、联邦学习、同态加密等隐私计算领域的技术和内容。 在现代密码学中,椭圆曲线加密算法(Elliptic Curve Cryptography, ECC)因其高效的加密速度、较小 阅读全文
-
树结构之二叉树操作
摘要:《数据结构与算法》之二叉树(补充) 一.树结构之二叉树操作 二叉树的查找 二叉搜索树,也称二叉排序树或二叉查找树 二叉搜索树:一棵二叉树,可以为空,如果不为空,应该满足以下性质: 非空左子树的所有结点小于其根结点的键值 非空右子树的所有结点大于其根结点的键值 左右子树都是二叉搜索树 对于二叉树的查找 阅读全文
-
Bloom Filter 介绍
摘要:聊聊布隆过滤器(原理篇) Redis系列1:深刻理解高性能Redis的本质Redis系列2:数据持久化提高可用性Redis系列3:高可用之主从架构Redis系列4:高可用之Sentinel(哨兵模式)Redis系列5:深入分析Cluster 集群模式 追求性能极致:Redis6.0的多线程模型追求性 阅读全文
-
动态规划状态转移方程
摘要:【技术积累】算法中的动态规划【一】 合集 - 【技术积累】数据结构和算法(11) 1.【技术积累】数据结构中的基本概念【一】06-212.【技术积累】算法中的基本概念【一】06-213.【技术积累】数据结构中栈与队列及其相关算法【一】07-094.【技术积累】数据结构中的二叉树及其相关算法【一】06 阅读全文
-
贪心算法的时间和空间复杂度
摘要:如何证明一个问题可以使用贪心算法解决? 判断一个问题是否可以使用贪心算法解决,通常需要满足两个条件: 贪心选择性质:问题的最优解可以通过一系列局部最优解得到。也就是说,在每一步选择中,都选择当前最优解,而不考虑之后的影响。 最优子结构性质:问题的子问题的最优解可以推导出原问题的最优解。也就是说,问题 阅读全文
-
什么是算法?
摘要:扎实打牢数据结构算法根基,从此不怕算法面试系列之001 week01 02-01 什么是算法? 1、什么是算法? 为了明确什么是算法,我们会从简单的查找功能开始讲起。 查找其实一个一个非常简单的算法,但我们会为这个查找功能的算法做如下工作: 让查找的功能适应更多的数据类型 通过查找的例子讲解如何编写 阅读全文
-
复杂度
摘要:复杂度分析:如何分析、统计算法的执行效率和资源消耗 作者:京东物流 崔旭 我们都知道,数据结构和算法本身解决的是“快”和“省”的问题,即如何让代码运行得更快,如何让代码更省存储空间。所以,执行效率是算法一个非常重要的考量指标。那如何来衡量你编写的算法代码的执行效率呢?这里就要用到我们今天要讲的内容: 阅读全文
-
基于TF-IDF(词频-逆向文档频率)的酒店名称模糊匹配
摘要:TF-IDF(词频-逆向文档频率),想要达到的目的是用语料中的词语,来代表这个语料想要表达的意思。其作用可用于对文档提取关键词,关键字。其思想用中文来表达其实很直观,什么样的词语能够代表一个文档呢,最极端的状况当然是这个词在所有的文档集合中,只出现在这个文档,而其他文档是没有出现过的。这里面涉及到了 阅读全文
-
布隆过滤器用 C# 实现 Bitmap
摘要:从位图到布隆过滤器,C#实现 前言 本文将以 C# 语言来实现一个简单的布隆过滤器,为简化说明,设计得很简单,仅供学习使用。 感谢@时总百忙之中的指导。 布隆过滤器简介 布隆过滤器(Bloom filter)是一种特殊的 Hash Table,能够以较小的存储空间较快地判断出数据是否存在。常用于允许 阅读全文
-
十道算法题
摘要:十道算法题 最近不少小伙伴跟我交流刷题肿么刷,我给的建议就是先剑指offer和力扣hot100,在这些题中还有些重要程度和出现频率是非常非常高的,今天给大家分享当今出现频率最高的10道算法题,学到就是赚到。 0X01翻转链表 力扣206和剑指offer24原题,题意为: 给你单链表的头节点 head 阅读全文
-
Hash,一般翻译做散列,或音译为哈希
摘要:Hash,一般翻译做散列,或音译为哈希 一文讲透一致性哈希的原理和实现 为什么需要一致性哈希 首先介绍一下什么是哈希 Hash,一般翻译做散列,或音译为哈希,是把任意长度的输入(又叫做预映射pre-image)通过散列算法变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值 阅读全文
-
算法-维特比和隐马尔可夫模型
摘要:维特比算法和隐马尔可夫模型的解码 一、概述 维特比算法是安德鲁.维特比(Andrew Viterbi)于1967年为解决通信领域中的解码问题而提出的,它同样广泛用于解决自然语言处理中的解码问题,隐马尔可夫模型的解码是其中典型的代表。无论是通信中的解码问题还是自然语言处理中的解码问题,本质上都是要在一 阅读全文
-
服务限流
摘要:服务限流原理及算法 限流是啥?维基百科是这样解释的:在计算机网络中,频率限制被应用在控制网络接口收到或发送的请求频次,它可以被用来阻止dos攻击或者是网络爬虫。直白点说,就是限制服务收到或发出的请求频次,保证整体服务可以正常健康的使用。谈到这里有人会想,只要我服务处理的速度足够快,那么频次高点也没问 阅读全文
-
学习算法必备数学
摘要:熬了几个通宵,终于把初中到大学的数学知识梳理完了(学习算法必备数学知识) 作者简介:常遇,阿里巴巴高级技术专家,一直关注前端和机器学习邻域相关技术,在知乎和微信公众号的“全栈深入”分享深度硬核技术文章。 下面的基础数学知识涉及很多数学公式,这些公式编辑起来累S我了。如果你觉得有帮助请帮忙点个赞、收个 阅读全文
-
数据结构算法复杂度
摘要:常用数据结构算法复杂度速查 原文:http://bigocheatsheet.com/ 阅读全文
-
Codeforces,Topcoder,SGU,Timus,ProjectEuler
摘要:世界顶级选手的刷题之道 dreamoon,知名中国台湾籍ACM选手,此为他的codeforces曲线: 关于中间突降的那段,还有个小故事: 当时dreamoon已经是世界上的顶级选手,甚至前一场的div1他排名第3!(当时cf的分制和现在不同,所以现在看起来只是个红名) 由于他没有拿到过div2的第 阅读全文
-
PageRank算法的思想
摘要:基于胜率矩阵的PageRank排序 在做博弈模型评估的时候,遇到一个问题是如何评价多个模型的优劣。例如我有训练好的三个围棋模型A,B,C,两两之间对打之后有一个胜负关系,如何对这三个模型进行排序呢?通常对于人类选手这种水平有波动的情形,棋类比赛通常计算选手Elo得分按分值排序,足球篮球等通过联赛积分 阅读全文
-
十几亿的大数据判断是否存在---布隆过滤器
摘要:布隆过滤器,你也可以处理十几亿的大数据 文章收录在 GitHub JavaKeeper ,N线互联网开发必备技能兵器谱 什么是 BloomFilter 布隆过滤器(英语:Bloom Filter)是 1970 年由布隆提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。主要用于判断一个元素是 阅读全文
-
数据结构和算法可视化工具——Data Structure Visualizations
摘要:正好最近关注到学习数据结构和算法的两个工具,特别好用。下面我就分别介绍下这两个工具,各位可以收藏一下,说不定以后能用到。 第一个工具是数据结构和算法可视化工具——Data Structure Visualizations。该工具由旧金山大学开发,地址: https://www.cs.usfca.ed 阅读全文