
数据结构与算法
记录自己学习算法的过程。
技术人Howzit
践行所思所想,做自己想做的人!
展开
-
合并两个有序数组(哨兵)
讲两个有有序的数组合并成一个数组,合并后数组仍然是排好序的。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 评论 -
适合小规模排序的算法-冒泡排序,插入排序,选择排序
1.如何选择排序在面对不同的应用场景时,如何选择一个合适的算法也很重要,可以从下面三点入手。排序算法执行效率:1.最好情况,最坏情况和平均时间复杂度2.时间复杂度的系数,常数,低阶比较次数和交换次数算法的内存消耗指空间复杂度,引入一个新的概念:原地排序(Sorted in place)就是特指空间复杂度是 O(1) 的排序算法。算法稳定性有个要排序的数组2,...原创 2018-11-19 19:30:28 · 2445 阅读 · 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 评论