LOADING

加载过慢请开启缓存 浏览器默认开启

Assassin笔记展示~

Assassin个人博客,记录笔记心得,主要内容为java后端

算法笔记1

快速幂

时间复杂度为 O(logN),比朴素的方法快很多

核心思想是减少乘法的次数

比如:

朴素方法:需要乘9次

快速幂 = = = = ,故我们只需要用算出,用算出,奇数次方只需乘以,总共需要乘以4次,当指数越大时,快速幂就越优

1. 递归版(慢于迭代)

思想:拆分

  1. 当指数n为偶数: =

  2. 当指数n为奇数: = *

int fastpow1(int a,int n){
    if(n == 0)
        return 1;
    if(n == 1)
        return a;
    //注意:这里必须缓存下来,这样才保证只算了一次,否则多次计算,又变回了朴素方法
    long long int t = fastpow1(a, n / 2);
    if((n & 1) == 0){
        //偶数
        return t * t % MOD;
    }else{
        //奇数
        return t * t % MOD * a % MOD;
    }
}

2. 迭代版(建议使用)

11的二进制码: 1011

=

​ =

​ = (第三行)

​ =

对于每一项(第三行):

= 的平方

= 的平方

= 的平方

......依此类推

对于11的二进制码:1011

最后乘积的结果

而对于每一项,

那么我们需要检测每个bit位,可以使用>>,然后与1&,即可判断

int fastpow2(int a,int n){
    long long int t = a;
    int res = 1;
    //当n == 0时,说明所有1的项都乘了,即得到了结果
    while(n){
        //检查最低为是否为1,为1则乘以该项
        if(n & 1){
            res = res * t % MOD;
        }
        //t对应 a^(2^i),平方使得i++,即得到下一项
        t = t * t % MOD;
        //右移1位,用以检测
        n >>= 1;
    }
    return res;
}

阅读全文

算法笔记0

计算组合数的方法

组合数:

1. 递推法

证明:分类讨论,选第n个 + 不选第n个

2. 乘法逆元法

2.1 乘法逆元

为什么产生?:乘法每一步都能取余数,而除法不能

基本内容:

​ **若a与p互质,且a*b = 1 (mod p)**

则称b是a在模p下的乘法逆元,b记为,一般认为b < p


阅读全文

Redis笔记

Redis笔记

https://redis.io/docs/data-types/

https://redis.io/commands/

http://www.redis.cn/commands.html

1. Redis10大数据类型

注意:这次的数据类型指的是value的类型,因为key的类型一般是字符串

  1. 字符串String
  2. 列表List
  3. 哈希表Hash
  4. 集合Set
  5. 有序集合Zset
  6. 地理空间GEO
  7. 基数统计HyperLogLog
  8. 位图bitmap
  9. 位域bitfield
  10. 流Stream

help @类型 帮助命令

阅读全文

RabbitMQ笔记

RabbitMQ笔记

1.MQ概念

1.1 什么是MQ?

MQ(message queue)是消息队列

1.2

MQ具有三大功能:

  1. 流量削峰:如果没有MQ,高并发的时候,系统直接宕机,有了MQ之后,通过排队,虽然时间开销更多了,但是不会导致系统宕机

  2. 应用解耦:消息的发送方和接收方不需要彼此联系,所以不会相互影响,即解耦

  3. 异步处理:对于不需要等待返回结果的操作,如果是同步,则会等待,这段时间就会浪费,而通过异步处理,就可以利用这段时间做其他事,从而减少响应时间,处理完后,被调用者把数据发给MQ,MQ再发回给调用者。比如发送短信、邮件、赠送积分等就可以异步执行

    image-20230430184707808

image-20230430185647956

MQ的分类(主流):

  1. kafka吞吐量高,一般用在日志采集方面
  2. RocketMQ阿里的,能抗住阿里双十一的流量,电商,金融级,大公司
  3. RabbitMQ吞吐量比前两个低,并发性能高,中小公司主流

阅读全文
1 ... 3 4 5
avatar
Assassin

Coding...