只出现一次的数字
摘要:给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 说明: 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗? 思路:每个元素出现两次,说明异或为0,只有一个元素出现了一次,0与任何数的异或都为该数,所以用异或去做。
阅读全文
算法
摘要:1.一个包含1-100数字的数组中,有一个数字丢失了,如何快速的找出它? 解决思路:1)计算1-100所有数字之和sum; 2)计算这个数组所有值之和sum2; 3)缺失的数字为num=sum-sum2。 2.在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道
阅读全文
B-树与B+树
摘要:概念 B-树,也称B树,是一颗多路平衡查找树。当描述一个B树时,需要指定它的阶数m,m代表数中孩子节点最多的节点的孩子个数。当m为2时,B-树就是二叉搜索树。 定义: 1)根节点至少有一个关键字; 2)非根节点至少有m/2-1个关键字; 3)每个节点至多有m-1个关键字; 4)所有叶子节点都位于同一
阅读全文
排序算法
摘要:1.冒泡排序 思想:同过比较相邻两个的值,一趟排序后将最大值max放在最右端,再经过一趟排序将次大值排在max左边,依此数次排序后得到一个有序数组。 算法平均复杂度:O(n2)。 是否稳定:稳定。 2.快速排序 思想:采用分治的思想。首先选取一个基准元素,经过一趟排序之后,将比基准元素小的放在其左边
阅读全文