算法
十七/
这个作者很懒,什么都没留下…
展开
-
贪心算法解背包问题(JavaScript)
对于背包之类的最优解问题,大多数都使用的是动态规划,今天突然心血来潮想用贪心算法来解一下,特此记录。function fn(max,size,values){ // max:最大容量 size:物品容量集合 values:物品价值集合 if(max < size[0]){ return 0 } if(!size || size.length === 0){ return 0 } if(!values || values.length === 0){原创 2021-03-22 19:50:40 · 485 阅读 · 0 评论 -
树的深度优先搜索和广度优先搜索算法(JavaScript)
大家好,我是十七,今天来和大家讨论一下树形结构数据的深搜和广搜。对于树形结构,我们今天分为二叉树和多叉树来分别讨论。首先咱们来探讨一下深度优先搜索和广度优先搜索的区别,深度优先搜索就是先把一个节点及子节点寻找完了,再去找下个同级节点;广度优先就是先找同级的,同级的节点找不到再找他们的子节点。首先上二叉树的:先来个二叉树的构造函数,如图所示:class Node{ constructor(value){ this.value = value; this.left =原创 2021-02-14 18:01:28 · 1179 阅读 · 0 评论 -
祝大家春节快乐,牛年都是大牛!节日闲暇学习了一下排序算法(JavaScript),来写写收获~~~
今天是春节,大年初一,十七在这里给大家拜年了~ ,在新的一年里,祝大家牛年更牛,身体健康,万事顺心,代码无bug,为我国的互联网事业一起冲冲冲!!!今天咱们主要来讨论三种排序算法,分别是冒泡排序、选择排序、快速排序。首先来说说冒泡排序,冒泡排序顾名思义,就是大的泡泡往上冒,在排序中首先将大的数据排好,然后在依次排小的数据。如图所示:说明:图中最后一排文字错误,应是:依次对比这个是冒泡排序的基本思路,代码也很简单,代码所示:function arrChange(arr,a,b){原创 2021-02-12 18:07:30 · 1165 阅读 · 4 评论 -
基础算法之二叉树遍历
基础算法之二叉树遍历二叉树的遍历分为前序、中序和后序遍历---------------有不足之出还需要各位在评论区批评指正正文:····前序遍历:是指首先从根节点开始,再依次寻找左节点、右节点。 打印顺序为: r , a , c , d ,b , f代码为:function before(root){ if(root == null) return console.log(root.value) before(root.left) before(root.rig原创 2020-10-08 17:16:43 · 125 阅读 · 0 评论