- 博客(6)
- 资源 (2)
- 收藏
- 关注
原创 快速排序的稳定性分析
快速排序是一个不稳定的排序算法,本文将着重分析该算法不稳定的原因所在。 首先,考虑下图中对一个关键字都为 1 的序列所进行的交换操作。 如图,交换前,枢纽元已放置在最后一个位置。图中,当遇到和枢纽元大小相同的元素时,游标 选择继续前进,直到与游标 相遇为止,然后将枢纽元与游标 和 所指向的元素交换,再递归的对左右两边的数...
2019-04-20 11:39:05 20537 6
原创 基于快速排序的O(N)时间复杂度的TopK算法原理
一、背景 实际应用中,我们经常面临这样的问题,即从一个序列S中选择其中最大的K个数(一般情况下K远小于|S|),我们将这种问题称为TopK问题。 举一个例子,美剧《权利的游戏》中的每个人物,观众都会对其进行选择支持或不支持,这样每个人物都会都应一个热度值,这个值可以是支持者的数量,我们可以发现在腾讯视频中该剧中热度排名前3的人物加以了高亮标识,如下图:...
2019-04-19 22:47:46 4020
原创 关于矩阵乘法运算顺序上的技巧
如果存在A, B, C三个矩阵,其中 B 为方阵,且 C 的列数较 A 的行数少时,则计算 A(BC) 比(AB)C 更省算力。 分析: 若假定HOR(A) = 100,COL(C) = 50,HOR(B) = COL(B) = N, 则 A(BC) 的计算量为: HOR(A) * COL(BC) +...
2019-04-12 18:16:34 6932
原创 机器学习 —— 感知机分类算法
# -*- coding: utf-8 -*-import randomimport queuefrom time import sleepfrom threading import Threadimport numpy as np''' A binary linear classifier '''class Perceptron(object): def _...
2019-04-08 11:13:57 592
转载 理解分布式锁
原文地址: https://dbaplus.cn/news-159-2530-1.html 首先,分布式锁和我们平常讲到的锁原理基本一样,目的就是确保在多个线程并发时,只有一个线程在同一刻操作这个业务或者说方法、变量。 在一个进程中,也就是一个jvm或者说应用中,我们很容易去处理控制,在jdk java.util并发包中已经为我们提供了这些方法去加锁,比如sync...
2019-04-01 14:30:48 142
原创 排序 —— 插入排序、选择排序与冒泡排序
一、插入排序 对含有 个元素的数组 进行 次遍历,第 次遍历将元素 插入到位置区间 中合适的位置上。# !/usr/bin/python# coding=utf-8def insert_sort(a): loop_num = len(a) - 1 if loop_num == -1: return for i in rang...
2019-04-01 09:47:53 105
oToV2:一种在线的端到端的剪枝优化方法介绍
2023-09-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人