随笔分类 -  算法详解

摘要:堆排序,首先对初始化的堆进行下虑操作使得堆满足堆序。也就是建堆的过程。 然后将堆顶元素与堆尾元素互换,在进行delete堆顶操作。 阅读全文
posted @ 2016-08-14 13:30 鹏徐翔飞11 阅读(146) 评论(0) 推荐(0)
摘要:插入排序,某一位置的数与前面已排好序的数从后向前比较,直到找到正确的位置。时间复杂度O(n方) 阅读全文
posted @ 2016-08-13 21:52 鹏徐翔飞11 阅读(125) 评论(0) 推荐(0)
摘要:1 private static int[] bubbleSort(int[] arr) { 2 int k=arr.length-1,last=0; //最后一次交换的位置,后面已经为排好序状态 3 if (arr==null||arr.length<2) { 4 return arr; 5 } 阅读全文
posted @ 2016-08-13 20:48 鹏徐翔飞11 阅读(132) 评论(0) 推荐(0)
摘要:题目: 给定一个数组,除了一个数出现1次之外,其余数都出现3次。找出出现一次的数。如:{1, 2, 1, 2, 1, 2, 7}, 找出7.格式:第一行输入一个数n,代表数组的长度,接下来一行输入数组A[n],(输入的数组必须满足问题描述的要求),最后输出只出现一次的数。要求:你的算法只能是线性时间 阅读全文
posted @ 2016-07-16 17:21 鹏徐翔飞11 阅读(270) 评论(0) 推荐(0)
摘要:对于一个字节(8bit)的无符号整型变量,求二进制表示中1的个数。 解法一: 除二求余法,如10100011 除以2 得01010001余1。当除二结果为1时,二进制中1的个数会减少一个,例, 01010001除以2得00101000余1 。当能整除2时,二进制中1的个数不变,例,00101000除 阅读全文
posted @ 2016-07-04 20:13 鹏徐翔飞11 阅读(300) 评论(0) 推荐(0)