PriorityQueue:小根堆(大根堆)

优先队列的作用是能保证每次取出的元素都是队列中权值最小的;

一、小根堆

二、大根堆

 

sklearn.linear_model.SGDClassifier

1.The loss function to be used. Defaults to ‘hinge’, which gives a linear SVM.

2.The ‘log’ loss gives logistic regression, a probabilistic classifier.

3.‘modified_huber’ is another smooth loss that brings tolerance to outliers as well as probability estimates.

4.‘squared_hinge’ is like hinge but is quadratically penalized.

5.‘perceptron’ is the linear loss used by the perceptron algorithm.

移位运算符:<<(左移)、>>(带符号右移)和>>>(无符号右移)

1.左移
  • 在数字没有溢出的前提下,对于正数和负数,左移一位都相当于乘以2的1次方,左移n位就相当于乘以2的n次方
  • 左移的规则只记住一点:丢弃最高位,0补最低位
2.带符号右移
  • 正数右移一位相当于除2,右移n位相当于除以2的n次方, 负数另计算
  • 按二进制形式把所有的数字向右移动对应的位数,低位移出(舍弃),高位的空位补符号位,即正数补零,负数补1
  • 1、正整数的原码、反码、补码完全一样,即符号位固定为0,数值位相同
  • 2、负整数的符号位固定为1,由原码变为补码时,规则如下:
    • 2.1原码符号位1不变,整数的每一位二进制数位求反,得到反码
    • 2.2反码符号位1不变,反码数值位最低位加1,得到补码
  • 3、补码求真值
    • 11111100为负整数=-1*(2**7)+1*(2**6)+1*(2**5)+1*(2**4)+1*(2**3)+1*(2**2)=-4
  • ref: 原码、反码、补码之间的转换和简单运算

 

3.无符号右移
  • 右移一位相当于除2,右移n位相当于除以2的n次方。
  • 无符号右移规则和右移运算是一样的,只是填充时不管左边的数字是正是负都用0来填充

ref:https://www.cnblogs.com/blog-cq/p/5793529.html