
算法与数据结构
文章平均质量分 80
技术人Howzit
践行所思所想,做自己想做的人!
展开
-
利用二分查找精准的找到病毒所在的文件
这段时间在做ROM的预制应用,在预制应用之前,应用需要过Google的cts检测,过检测之前,还需要对apk进行病毒扫描,结果扫除了病毒,于是我就进行了长久的排毒工作。具体如何进行排毒,我在给apk清理病毒!详细的阐述了。先将apk进行解压,删除认为有病毒的文件,然后再打包去检测,面对如此庞大的文件,可能是1000,甚至更多,我该如何快速的找到病毒所在呢?答案就是二分查找忘记二分查找的同学,我们一起来复习下。二分查找的框架:int binarySearch(int[] nums, int ta原创 2021-10-28 19:23:58 · 999 阅读 · 0 评论 -
白话算法-递归算法以及斐波那契数列递归优化算法
1.什么是递归?先来看一用了递归的例子:int f(int n) { if (n == 1) return 1;return f(n-1) + n;}这个函数实现了从1到n的求和,看上去是不是很简单啊,理解上可能会有困难,但是你知道,什么样的问题可以采用递归算法解决呢?1.一个问题能不能分解成子问题2.分解的子问题,除了问题规模会变小之外,和父问题解决的思路是一样的,3....原创 2018-10-16 10:12:25 · 4069 阅读 · 1 评论 -
适合小规模排序的算法-冒泡排序,插入排序,选择排序
1.如何选择排序在面对不同的应用场景时,如何选择一个合适的算法也很重要,可以从下面三点入手。排序算法执行效率:1.最好情况,最坏情况和平均时间复杂度2.时间复杂度的系数,常数,低阶比较次数和交换次数算法的内存消耗指空间复杂度,引入一个新的概念:原地排序(Sorted in place)就是特指空间复杂度是 O(1) 的排序算法。算法稳定性有个要排序的数组2,...原创 2018-11-19 19:30:28 · 2445 阅读 · 0 评论 -
合并两个有序数组(哨兵)
讲两个有有序的数组合并成一个数组,合并后数组仍然是排好序的。private static int[] mergeList(int[] AList, int[] BList) { int pivotA = 0;//数组AList 哨兵 int pivotB = 0;//数组BList 哨兵 int aLength = AList.length;//数...原创 2018-12-07 17:20:41 · 725 阅读 · 0 评论