06 2018 档案
摘要:给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方
阅读全文
摘要:时间复杂度 Time Complexity : 代码执行的次数 O(1) 常量 函数体执行3次printf O(n) 一个for循环 3*n+2次,只取最高次幂,并且把系数去掉,所以是O(n) O(nlog2 n) log以2为底 n的对数,外层循环次数*内层 for(int i = 1;i<=n;
阅读全文
摘要:字典树类似于二叉树 每一个节点中都有一个指针数组 存的是字符串的一个字符 字典树可以进行查找,统计计数,排序,代码如下 忘记写查询了....
阅读全文
摘要:斐波那契数列的计算,递归和非递归 青蛙跳井,一次可以跳一层或者两层,也就是说n等于1时有一种情况,n等于2时有两种情况,其他形式类似于斐波那契数列 青蛙跳井,一次可以跳一层或者n层,先写递归,函数返回值会是aa(num-1)+aa(num-2)+...+aa(0),而aa(0)代表一下跳到了头,这是
阅读全文
摘要:kmp查找首先要创建next数组 next数组中装的是最大前缀和后缀相等的数量 然后进行KMP查找,代码如下
阅读全文
摘要:基数排序类似于桶排序 基数排序首先找到最大值,确定入桶次数,如果最大值是百位的就入桶出桶三次,以此类推 由于为了方便,我们创建10个桶,因为每一位最多就10种数(0-9) 首先先以个位数字入桶,然后将桶中的元素出桶重新装到原数组里 循环操作,最后原数组中得到的数据就是有序的 在我理解基数排序,首先排
阅读全文
摘要:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。 二分查找代码
阅读全文
摘要:通过二叉树的前序遍历和中序遍历创建树 通过二叉树的后序遍历和中序遍历创建树 只有创建树的代码换了
阅读全文
摘要:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。 请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 我得思路是从左上角开始,即arr[0][0],将这个整数和它相比,如果比它大,那么将这个整数和arr[1][1]比 如果还大那么继
阅读全文
摘要:将字符串中的空格替换成“%20”,例如“I love you” 替换成“I%20love%20you” 从前向后插入的话可能会令原数组丢失数据, 我能想到的是完全申请一个新的数组,把所有的都插入到新数组中 再拷贝回原数组,这种方法浪费了空间 实际采用的方法是先得到新字符串的下标,从后向前插入,这样就
阅读全文
摘要:桶排序的思想是创建n个桶 桶排序要求元素的位数相同 我们取到元素中最大值的最高位和最小值的最高位 如果他们相同,可以往次高位选取,再相同再向下选取 如果不同,得到最大值与最小值的那一位,创建a-b+1个桶 比如158 247 354 666 541 234 980 147 就要创建9个桶,因为最小值
阅读全文
摘要:哈希查找的思想是按照某种弄规则散列(分组) 创建哈希表,可以多次利用 哈希查找适用于多次查找,查找速度是最快的 散列我们一般用求整取余法 数组长度是几我们就对几取余,存到哈希表的对应数组下标里 但是可能会遇到哈希冲突,也就是数组里某一处已经有元素了,还要往里存 解决哈希冲突我们一般用两种方法 1.开
阅读全文
摘要:堆排序的核心是首先创建一个堆 分大根堆和小根堆 堆可以想象成一个完全二叉树 大根堆 每一个根节点的值都要大于它的任意的孩子 小根堆 每一个根节点的值都要小于它的任意的孩子 由于要经常交换节点,那么还要考虑交换后交换下来的节点和他孩子们大小的关系 我们可以把这个调整的过程封装成一个函数 代码如下 Ad
阅读全文

浙公网安备 33010602011771号