基础算法
爱马拉松的东宫高兴
程序员的八荣八耻:
以动手实践为荣,以只看不练为耻。
以打印日志为荣,以出错不报为耻。
以局部变量为荣,以全局变量为耻。
以单元测试为荣,以手工测试为耻。
以代码重用为荣,以复制粘贴为耻。
以多态应用为荣,以分支判断为耻。
以定义常量为荣,以魔法数字为耻。
以总结思考为荣,以不求甚解为耻。
展开
-
常用排序算法
文章目录一、排序1.排序概念衡量效率的方法2.术语说明3.排序分类常见排序算法1.插入排序:1.1代码实现插入排序的特性总结:2.希尔排序:2.1代码实现希尔排序的特性总结:3.选择排序:3.1代码实现选择排序的特性总结:4.堆排序:4.1代码实现堆排序的特性总结:5.冒泡排序:5.1代码实现冒泡排序的特性总结:6.快速排序:6.1代码实现快速排序的特性总结:7.归并排序:7.1代码实现归并排序的...原创 2019-08-27 02:00:49 · 394 阅读 · 0 评论 -
动态规划经典例题一
文章目录动态规划(Dynamic Programming)概念DP定义:动态规划具备了以下三个特点动态规划的本质从四个角度考虑动态规划问题状态定义的要求第一题 Fibonacci动态规划方法第2题 变态青蛙跳台阶(Climbing Stairs) 动态规划(Dynamic Programming) 概念 DP定义: 动态规划是分治思想的延伸,通俗一点来说就是大事化小,小事化无的艺术。 在将大问题...原创 2019-09-12 23:49:50 · 461 阅读 · 0 评论 -
动态规划经典例题二
第7题 路径总数(Unique Paths II) 继续思考题目"Unique Paths": 如果在图中加入了一些障碍,有多少不同的路径? 分别用0和1代表空区域和障碍 例如 下图表示有一个障碍在3*3的图中央。 [↵ [0,0,0],↵ [0,1,0],↵ [0,0,0]↵] 有2条不同的路径 备注:m和n不超过100. 动态规划方法 状态: 子状态:从(0,0)到达(1,0),(1,...原创 2019-09-13 23:44:18 · 467 阅读 · 0 评论 -
深度优先搜索(BFS)
文章目录第1题 放置扑克牌第2题 员工的重要性第3题 图像渲染 第1题 放置扑克牌 假如有编号为1~ 3的3张扑克牌和编号为1~3的3个盒子,现在需要将3张牌分别放到3个盒子中去,且每个盒子只能放一张牌,一共有多少种不同的放法。 当走到一个盒子面前的时候,到底要放那一张牌呢?在这里应该把所有的牌都尝试一遍。假设这里约定一个顺序,按牌面值从小到大依次尝试。在这样的假定下,当走到第一个盒子的时候,...原创 2019-10-07 20:27:02 · 185 阅读 · 0 评论