![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
米奇罗
谢谢各位的关注,我是菜鸡米奇罗,一个会后端的产品经理,成功成为自己最讨厌的人。本人已毕业,转岗产品经理。
展开
-
排序算法(Java)
1. 前言排序算法在算法中占有重要地位,我实在太菜,记性也不大好,先记录一下吧。本文记录了十大排序算法,很多文章都是八大算法,桶排序、计数排序和基数排序也很重要,所以都记录下来。2. 概述排序算法分为内部排序和外部排序,内部排序把数据记录放在内存中进行排序,而外部排序因排序的数据量大,内存不能一次容纳全部的排序记录,所以在排序过程中需要访问外存。我将基数排序、计数排序、桶排序三个归为一...原创 2020-03-17 15:47:28 · 193 阅读 · 0 评论 -
算法基础(Java)--动态规划
前言**动态规划(dynamic programming)是运筹学的一个分支,是求解决策过程(decision process)**最优化的数学方法。在面试笔试中动态规划也是经常作为考题出现,其中较为简单的 dp 题目我们应该有百分之百的把握顺利解决才可以。1. 基本概念动态规划实际上是一类题目的总称,并不是指某个固定的算法。动态规划的意义就是通过采用递推(或者分而治之)的策略,通过解决大问...原创 2019-08-13 16:33:40 · 538 阅读 · 0 评论 -
算法基础(Java)--八大排序算法
前言为了巩固自己的算法能力,重学算法,一个一个自己写,敲。本文主要介绍Java八大排序经典算法。1. 冒泡排序(BubbleSort)1.1 基本思想两个数比较大小,较大的数下沉,较小的数冒起来。1.2 过程1.3 算法实现 /** * @Description: 冒泡排序,优化版 平均时间复杂度:O(n^2) * @Date: 21:11 2019/8/...原创 2019-08-09 13:59:53 · 353 阅读 · 1 评论 -
算法基础(Java)--贪心算法
title: 算法基础(Java)–贪心算法toc: truedate: 2019-08-09 14:41:53top:tags: [Java,算法]前言前面简单的介绍了八大经典排序算法,此文将要介绍贪心算法,并利用贪心算法解决背包问题。1. 贪心算法的概念所谓贪心算法是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义...原创 2019-08-10 16:14:11 · 15096 阅读 · 5 评论 -
动态规划套路详解
前言前一篇博客总结了动态规划,但是对于我这初学者,还是很多地方不能理解,所以我就在网上找到了一个大神的讲解,确实很棒。转载过来。原文链接在下面参考资料。1. 动态规划套路详解下面通过对斐波那契数列和这道凑零钱问题详解动态规划。如果只想看本题的答案,请直接翻到最后查看。动态规划算法似乎是一种很高深莫测的算法,你会在一些面试或算法书籍的高级技巧部分看到相关内容,什么状态转移方程,重叠子问题,...转载 2019-08-15 22:24:59 · 3273 阅读 · 1 评论 -
动态规划之背包问题
前言此篇博客主要讲常见的三种背包问题,0-1背包,完全背包,多重背包。为了加深理解,每个问题都有leetcode实例。1. 0-1背包问题1.1 题目有N件物品和一个容量为V 的背包。放入第i件物品耗费的空间是Ci,得到 的价值是Wi。求解将哪些物品装入背包可使价值总和最大。1.2 基本思路这是最基础的背包问题,特点是:每种物品仅有一件,可以选择放或不 放。 用子问题定义状态:即F[i...原创 2019-08-31 15:03:40 · 323 阅读 · 0 评论 -
算法基础(Java)--分治算法
前言此篇博客为转载和修改,来源写在参考资料。分治算法分治,“分而治之”。从字面上理解就是分—治,把大的问题分成小问题,解决一个一个小问题,之后把问题的答案合并起来,就得到大问题的结果。您肯定会在想,这思想这么简单,你不说我也是知道。历史上,秦国通过远交近攻的策略,逐个击破,最后统一六国不也是分治思想的体现吗?以下用一个二叉树的前序遍历为例,对分治思想在代码上的体现进行说明。public ...转载 2019-08-31 15:36:22 · 1106 阅读 · 1 评论 -
算法基础(Java)--回溯算法
前言本文还是转载加编写,关于算法的教程网上很多很多,找到这个比较适用的,算法本身就是一种思想,掌握了思想,再根据一些数学知识解决问题。1. 什么是回溯算法?回溯法是一种系统搜索问题解空间的方法。为了实现回溯,需要给问题定义一个解空间。说到底它是一种搜索算法。只是这里的搜索是在一个叫做解空间的地方搜索。而往往所谓的dfs,bfs都是在图或者树这种数据结构上的搜索。根据定义来看,要实现回溯...转载 2019-09-01 22:19:34 · 390 阅读 · 0 评论