算法复习
の
哆唻咪à
这个作者很懒,什么都没留下…
展开
-
常用十种算法
目录二分查找算法(非递归)二分查找算法(非递归)介绍二分查找算法(非递归)代码实现分治算法分治算法介绍分治算法的基本步骤分治算法最佳实践汉诺塔动态规划动态规划算法介绍应用场景——背包问题 二分查找算法(非递归) 二分查找算法(非递归)介绍 查找算法里面学习了二分查找算法,是使用递归的方式,其实可以使用非递归的方法。 二分查找法只适用于从有序的数列中进行查找(比如数字和字母等),将数列排序后再进行查找 二分查找法的运行时间为对数时间O(log2 n) ,即查找到需要的目标位置最多只需要log2 n步,假设从原创 2020-07-25 17:52:06 · 1665 阅读 · 0 评论 -
查找算法(Search Algorithm)day03
由于数据结构未复习到树, 二叉树查找、红黑树、B树和B+树等均未提及,以后补充 查找算法介绍 在java中,我们常用的查找有四种: 1)顺序(线性)查找 2)二分查找/折半查找 3)插值查找 4)斐波那契查找. 1、线性(顺序)查找 package com.xhl.Search; public class SeqSearch { public static void main(String[] args) { int arr[] = {1,9,11,-1,34,89}; int number原创 2020-07-07 17:16:39 · 308 阅读 · 0 评论 -
排序算法(Sort Algorithm)day02
排序算法的介绍 排序也称排序算法(Sort Algorithm),排序是将一组数据, 依指定的顺序进行排列的过程。 排序的分类 1、内部排序: 指将需要处理的所有数据都加载到**内部存储器(内存)**中进行排序。 2、外部排序法: 数据量过大,无法全部加载到内存中,需要借助外部存储(文件等)进行排序。 3、常见的排序算法分类: 算法的时间复杂度 常见的时间复杂度 1、冒泡排序 基本介绍 冒泡排序(Bubble Sorting)的基本思想是:通过对待排序序列从前向后(从下标较小的元素开始),依次比较原创 2020-07-06 20:40:22 · 766 阅读 · 0 评论 -
递归(Recursion)day01
递归应用场景 迷宫问题(回溯),递归(Recursion) 递归概念 简单的说:递归就是方法自己调用自己,每次调用时传入不同的变量,递归有助于编程者解决复杂的问题,同时可以让代码变得简洁。 递归调用机制 打印问题 阶乘问题 递归能解决什么样的问题 各种数学问题如:8皇后问题,汉诺塔,阶乘问题,迷宫问题,球和篮子的问题(google编程大赛) 2)各 种算法中也会使用到递归,比如快排,归并排序,二分查找,分治算法等. 3)将用栈解决的问题–>递归代码比较简洁 递归需要遵守的重要规则原创 2020-07-03 20:46:34 · 141 阅读 · 0 评论