算法数据结构
算法数据结构
Axin@xin
从0到无限大
展开
-
编译器优化
byte b1=10;System.out.println("b1="+b1);b1=b1+2;这里会报错:“不兼容的类型:从int转换到byte可能会有损失”大家可能会想这里的2是直接量 java默认整形直接量是itn类型,所以byte+int=int 产生报错;但是我们修改一下:b1=b1+(byte)2;依旧报错:“不兼容的类型:从int转换到byte可能会有损失”其实这里是编译器的优化,因为byte单位是1字节,范围为-128~127两个byte相加运算很容易产生溢出,所以编原创 2020-06-08 21:21:34 · 300 阅读 · 0 评论 -
面试字节整数范围
单个字节原创 2020-06-08 14:30:25 · 213 阅读 · 0 评论 -
10转2拆分法
十进制转二进制,在数值不大的情况下可以选择 拆分法拆分法:将十进制整数拆分成若干个二进制数权重的和,有该权重的下面写1,没有写0二进制数权重有:20=1、21 =2、22=4、23=8、24=16、25=32、26=64、27=128…45拆分成小于邻近权重的值:32+1313不属于权重值,继续将13拆成:8+55不属于权重值,继续将5拆成4+1把权重值按顺序从大到小排列:128、64、32、16、8、4、2、1在有用到该权重值的下面写1,没有则为0即00101101所以45二进制结原创 2020-06-08 14:11:58 · 1298 阅读 · 0 评论 -
矩阵基础
一、矩阵与矩阵基础运算1、矩阵概念矩阵在数学中国是一个长方阵列排列出来的复数或实数的集合,是一种表示数据在矩阵中的方法,一个m*n的矩阵有m行和n列,其中每一项基于它的行和列都有它唯一的名字。矩阵A通常表示为[A],行数和列数称为维数。下面是一个3x2维矩阵的例子。在矩阵A中,数字a12是第一行和第二列的数字。因此,a12 = 8。a21是第二行第一列的数字。因此a21 = -5。a11 = 2a12 = 8a21 = -5a22 = 32a31 = 0a32 = 82、矩阵加法原创 2020-05-22 07:45:35 · 2256 阅读 · 0 评论 -
数据结构:如何将昂贵的时间复杂度转换成廉价的空间复杂度
如何将昂贵的时间复杂度转换成廉价的空间复杂度1、目标2、时间宝贵,空间廉价3、 数据结构连接时空4、降低复杂度案例5、总结1、目标代码效率优化就是要将可行解提高到更优解,最终目标是:要采用尽可能低的时间复杂度和空间复杂度,去完成一段代码的开发。2、时间宝贵,空间廉价一段代码会消耗计算时间、资源空间,从而产生时间复杂度和空间复杂度。假设一段代码经过优化后,虽然降低了时间复杂度,但依然需要消耗非常高的空间复杂度。例如,对于固定数据量的输入,这段代码需要消耗几十 G 的内存空间,很显然普通计算机根本无转载 2020-05-22 07:22:02 · 425 阅读 · 0 评论 -
时间复杂度和空间复杂度
时间复杂度和空间复杂度一、时间复杂度1、基本概念2、7个常用的时间复杂度3、 如何确定时间复杂度(1)常数复杂度(2)线性复杂度(3)平方复杂度(4)对数复杂度(5)指数复杂度4、时间复杂度曲线5、当在递归条件中如何求时间复杂度6、主定理求递归的时间复杂度二、空间复杂度一、时间复杂度1、基本概念1、定义:若存在函数 f(n),使得当n趋近于无穷大时,T(n)/ f(n)的极限值为不等于零的常数,则称 f(n)是T(n)的同数量级函数。记作 T(n)= O( f(n) ),称O( f(n) )为算法的原创 2020-05-21 03:37:34 · 1004 阅读 · 0 评论