上一页 1 2 3 4 5 6 7 8 9 10 ··· 28 下一页
摘要: 1.java整形变量078:在java数字里数字表达式前面加上0表示8进制,因为8进制里表示数字只有0-7,所以这里的表达式有错误。相对而言,077就是合法的,转换成10进制就是63(7*8+7=63)。 2.以下程序错误的是: short s = 1 ; s = s + 1 ; 这里s+1表示为i 阅读全文
posted @ 2019-03-07 13:20 stone1234567890 阅读(389) 评论(0) 推荐(0) 编辑
摘要: 废话不说,直接看例子 为什么会出现这两种不同的情况呢? (1)是因为java使用了中间变量缓存机制,在执行自增运算的时候,会为每个自增操作分配一个临时变量。如果是前缀加(++i)会先自加1后赋值(给临时变量),如果是后缀加(i++),就会先赋值后加1,运算最终使用的并不是变量本身,而是被赋了值的临时 阅读全文
posted @ 2019-03-07 10:00 stone1234567890 阅读(804) 评论(0) 推荐(0) 编辑
摘要: 1.问题描述: 我们将乱序的红白蓝三色小球排列成有序的红白蓝三色的同颜色在一起的小球组。这个问题之所以叫荷兰国旗,是因为我们可以将红白蓝三色小球想象成条状物,有序排列后正好组成荷兰国旗。 2.荷兰国旗问题与数组: 给定一个数组arr,和一个数num,请把小于num的数放到数组的左边,等于num的数放 阅读全文
posted @ 2019-03-06 13:44 stone1234567890 阅读(591) 评论(0) 推荐(0) 编辑
摘要: 1.原理(本次以大根堆为例进行讲解,小根堆同理): 利用大根堆(小根堆)堆顶记录的是最大关键字(最小关键字)的特性,使得每次可以将堆顶的最值取出依次放入数组中,最后得到一个依次增大(减小)的序列。 (1)大根堆堆实际上是一棵完全二叉树,其任何一个非叶节点满足: key[i] >= k[2i+1]&& 阅读全文
posted @ 2019-03-06 09:30 stone1234567890 阅读(1470) 评论(0) 推荐(0) 编辑
摘要: 1.时间复杂度O(NlogN),额外空间复杂度O(1) 2.二叉树: (1)完全二叉树:要么是一棵满二叉树(满二叉树属于完全二叉树);如果不是满二叉树,那么这棵树应该是从左往右依次补齐的。 (2)通过数组来理解完全二叉树,对于节点i,在不越界的情况下左孩子的下标是2i+1,右孩子下标是2*i+2,如 阅读全文
posted @ 2019-03-05 11:05 stone1234567890 阅读(6368) 评论(0) 推荐(0) 编辑
摘要: 0.经典快排:将数组最后位置的数值x作为划分值,将小于等于x的放在左边,大于x的放在右边, 让小于等于x区域的最后一个位置上放x值,如果有多个值等于x,中间区域放的什么值无所谓,左边区域最后一个数放x就可以,左边区域放小于等于x的值,右边放大于x的值,经典快排的时间复杂度和数据状况是有关系的。最好的 阅读全文
posted @ 2019-03-05 08:24 stone1234567890 阅读(3265) 评论(0) 推荐(0) 编辑
摘要: 1.题目一 给定一个数组arr,和一个数num,请把小于num的数放在数组的左边,大于num的数放在数组的右边,要求额外空间复杂度为O(1),时间复杂度为O(N)。 2.题目2(荷兰国旗问题) 给定一个数组arr,和一个数num,请把小于num的数放在数组的左边,等于num的数放在数组的中间,大于n 阅读全文
posted @ 2019-03-04 15:28 stone1234567890 阅读(245) 评论(0) 推荐(0) 编辑
摘要: 1.归并排序时间复杂度为O(N*logN),额外的空间复杂度O(N)。 2.递归行为:一个数组的排序,先将左侧部分排好序,然后将右侧部分排好序,最后整体利用外排序的方式整体排好。 3.归并排序:将两个(或者两个以上)有序表合并成一个新的有序表,即把待排序的序列分成若干个子序列,在把有序的子序列合并为 阅读全文
posted @ 2019-03-03 21:48 stone1234567890 阅读(5872) 评论(0) 推荐(0) 编辑
摘要: 1.递归算法的时间复杂度: master公式的使用:T(N)=a*T(N/b)+O(N^d) master公式的适用范围:划分的子过程规模是一样的情况下,只是发生了a次,这种情况下才能运用master来求解。 (1)log(b,a)>d >复杂度为O(N^log(b,a)) (2)log(b,a)= 阅读全文
posted @ 2019-03-03 21:09 stone1234567890 阅读(371) 评论(0) 推荐(0) 编辑
摘要: 1. 对数器概念和使用 (1)有一个你想要的测的方法a (2)实现一个绝对正确但是复杂度不好的方法b (3)实现对比的方法 (4)把方法a和方法b对比很多次来验证方法a是否是正确的 (5)如果有个样本使得对比出错,打印出样本分析是哪个方法出错的 (6)当样本数量很多的时候,对比测试依然正确,可以确定 阅读全文
posted @ 2019-03-03 19:32 stone1234567890 阅读(1166) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 10 ··· 28 下一页