快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用,再加上快速排序思想----分治法也确实实用,因此很多软件公司的笔试面试,包括像BAT、字节、美团等知名IT公司都喜欢考查快速排序原理和手写源码。 目录   一、概念 二、基本思想 空间复杂度 时间复杂度 三、算法步骤 四、具体示例 五、快排代码 @java代码 @python代码 六、总结 一、概念 快速排序,顾名思义就是一种以效率快为特色的排序算法,快速排序(Quicksort)是对冒泡排序的一种改进。由英国计算机专家…

2021年9月17日 0条评论 8点热度 阅读全文

一、背景 关于推荐算法的相关背景介绍,已经在上一个姊妹篇(三)协同过滤算法之基于物品的推荐算法python实现中有所介绍。在此,便不在赘述,本文主要介绍基于用户的协同过滤算法,而对推荐算法不太清楚的朋友们可以参考上一篇基于物品的过滤算法的相关介绍,参考地址如下:https://blog.csdn.net/wickedvalley/article/details/79927699。 二、生活应用 推荐算法应用比较广,常见的就是推荐电影了,上一篇是基于物品的推荐算法,主要是根据物品的相似度来进行推荐。本文的推荐算法是基…

2021年9月17日 0条评论 6点热度 阅读全文

一、背景介绍 互联网的迅猛发展将人类带入了信息社会和网络经济时代,信息化影响到了生活的方方面面。但是随着互联网产业的扩大,为用户提供更多选的同时也带来了筛选与推荐的难题。于是便提出了推荐算法帮助用户快速找到自己喜爱的东西。例如京东、淘宝、美团等,在用户购买物品后,均会给用户推荐他们可能喜欢的物品,不仅免去了用户不断查找类似物品的烦恼,而且也使得用户可以货比多家,最终找到自己物美价廉的商品,而相关的网站平台也可以提升自己的销量。电影推荐也是比较常见的,例如用户观看了阿甘正传,可能推荐给用户肖申克的救赎、当幸福来敲门等…

2021年9月17日 0条评论 9点热度 阅读全文

目录 概要 相关概念 限流的算法 计数器算法 漏桶算法(Leaky Bucket) 令牌桶算法(Token Bucket) 概要 在高并发系统中可以通过至少三种技术来保护系统:缓存、降级、限流。这里主要介绍限流算法。 随着网站用户规模的增加,业务的扩张,我们网站所承受的流量规模和并发数也会不断增加。到了一定阶段我们就会希望可以对网站的流量进行一定程度的控制。因为我们的业务处理能力是有限的,我们需要优先保证关键业务的正常运转。技术人员一直以来都在致力于可以彻底的解决高并发问题,但是到目前为止也没有一种可以彻底解决的方…

2021年9月17日 0条评论 3点热度 阅读全文

心跳检测法使用非常广泛,最主要的原因是它非常简单且直观。我们可以直接将它理解为一个随身心率检测仪,一旦该仪器检测不到心跳,就会报警。 心跳检测有许多实现手段,这里我会介绍基于超时和不基于超时的检测法,以及为了提高检测精准度的间接检测法。 基于超时 基于超时的心跳检测法一般包括两种方法。 发送一个 ping 包到远程节点,如果该节点可以在规定的时间内返回正确的响应,我们认为它就是在线节点;否则,就会将它标记为失败。 一个节点向周围节点以一个固定的频率发送特定的数据包(称为心跳包),周围节点根据接收的频率判断该节点的健…

2021年9月6日 0条评论 9点热度 阅读全文

您可能感兴趣的文章推荐 画解顺序表 画解链表 画解栈 画解队列 画解哈希表 画解二叉树 画解图 目录 零、算法概述 一、插入排序 二、冒泡排序 三、选择排序 四、计数排序 五、基数排序 六、归并排序 七、快速排序 八、随机快速 九、 希尔排序 十、 堆堆排序   今天的内容,将围绕这几张动图来展开。可以大致先简单看一下,这是一个归并排序的动图演示,我会对以上几个排序从 算法原理、动图详解 讲到 C语言 的 源码分析。 零、算法概述   今天要讲的内容是 「 十大排序算法 」。各个排序算法中的思想都非常经典,如果能够…

2021年8月29日 0条评论 6点热度 阅读全文

本文写给对线性规划和约束满足问题的使用有困惑的朋友,如果你曾经在这方面存在一些疑问,这篇文章对你来说就再适合不过了,如果有对线性规划的解法感兴趣,那么也推荐你看一看我的思考~ *注:之前一直以为约束满足问题和线性规划问题是一样的,才发现其实不是这样的,仔细想想我之前的理解原来存在着那么大的误会。虽然也不能说他们完全不一样,因为基本上模型一样,具体的算法却是不一样的。为什么呢,因为这两类问题的目标不一样。约束满足问题,一般用于求解满足约束问题的所有解,所以使用搜索算法比较好,而线性规划或者整数规划问题,一般用于找出满…

2021年8月23日 0条评论 12点热度 阅读全文

快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用,再加上快速排序思想----分治法也确实实用,因此很多软件公司的笔试面试,包括像BAT、字节、美团等知名IT公司都喜欢考查快速排序原理和手写源码。 目录   一、概念 二、基本思想 空间复杂度 时间复杂度 三、算法步骤 四、具体示例 五、快排代码 @java代码 @python代码 六、总结 一、概念 快速排序,顾名思义就是一种以效率快为特色的排序算法,快速排序(Quicksort)是对冒泡排序的一种改进。由英国计算机专家…

2021年8月23日 0条评论 9点热度 阅读全文

19年JDATA比赛在李哥,曹哥,以及和俞兄,室友共同努力下取得不错的成绩。写这篇文章好好复盘一下比赛的经历,为感兴趣的小伙伴提供一些参考,也是对自己的一个总结。文章主要包括赛题解读,数据探索(为了保证能让读者更加清楚了解数据特点,数据探索部分有引用了其他队伍的比较具有参考价值的数据图并给出了引用链接),数据集划分,特征构建,解题方案,模型设计和赛后总结。 #2020.6.4更新    为了刚入门比赛的小伙伴提供更详细的参考,整理了一下比赛的日志贴到了文章末尾。   比赛链接:http…

2021年8月23日 0条评论 9点热度 阅读全文

本文已收录于专栏 《画解数据结构》 零、前言   「 数据结构 」 和 「 算法 」 是密不可分的,两者往往是「 相辅相成 」的存在,所以,在学习 「 数据结构 」 的过程中,不免会遇到各种「 算法 」。  数据结构 常用的操作一般为:「 增 」「 删 」「 改 」「 查 」。基本上所有的数据结构都是围绕这几个操作进行展开的。  那么这篇文章,作者将用 「 三张动图 」 来阐述一种 「 均摊 O(1) 」 的数据结构 「 哈希表 」 饭不食,水不饮,题必须刷 C语言免费动漫教程,和我一起打卡! 《光天化日学C语言》…

2021年8月22日 0条评论 2点热度 阅读全文