当前位置: 首页 > news >正文

网站建设项目公司网站建设和网站开发

网站建设项目公司,网站建设和网站开发,房地产行业网站建设报价方案,seo0577数据准备 在讲排列与组合之前#xff0c;我们先定义数据元素类型Fruit class Fruit{constructor(name,price){this.name namethis.price price} }排列 对N个不同元素进行排序#xff0c;总共有多少不同的排列方式#xff1f; Step1: 从N个元素中取1个#xff0c;共N种…数据准备 在讲排列与组合之前我们先定义数据元素类型Fruit class Fruit{constructor(name,price){this.name namethis.price price} }排列 对N个不同元素进行排序总共有多少不同的排列方式 Step1: 从N个元素中取1个共N种取法 Step2: 从剩下N-1个元素取1个共N-1种 ...... StepN: 从剩1个元素中取1个共1种 所以共有 AN*(N-1)....*1 N!例子:某水果店有以下水果请对所有水果进行全排列请输出所有排列 let fruits [new Fruit(apple,5.3),new Fruit(banana,3.2),new Fruit(orange,4.6),new Fruit(watermelon,2.5) ]排列算法的javascript实现模板(DSF,最优解in-place) const premutation (elements){let res []const swap (arr,i1,i2) [arr[i1],arr[i2]] [arr[i2],arr[i1]]const dsf (elements,k 0){let len elements.lengthif(k len-1){ // 如果想从N4中取3个的全排 只需要改这个k3res.push([...elements.slice(0,k1)])return}for(let i k; i len - 1 ; i){swap(elements, i, k) // 从剩下[k,...,(len-2)]中 取一个 放到当前k位置dsf(elements, k 1) // dsf继续下一个位置 [k1,...,(len-2)]swap(elements,i , k) // 为下一个迭代(k1)做回滚}}dsf(elements)return res } let premutations premutation(fruits) premutations.forEach((e,i)console.log(i,...e.map(xx.name))) 测试结果 0 apple banana orange watermelon 1 apple orange banana watermelon 2 banana apple orange watermelon 3 banana orange apple watermelon 4 orange banana apple watermelon 5 orange apple banana watermelon组合 对N个不同元素进行排序总共有多少不同的组合方式 N个元素中每个元素要么被放到某个组合中或者不放,2种选择 所以共有 C2^N算法实现 同样我们可以用DSF但是还有更优解法-- 整型编码/bitmap 2^N种情况可以用N个bit来表示通过实现对数组索引index来编码同样的例子:请输出所有组合 let fruits [new Fruit(apple,5.3),new Fruit(banana,3.2),new Fruit(orange,4.6),new Fruit(watermelon,2.5) ]组合算法的javascript实现模板(bitmap) const combination (elements){let res []let len elements.lengthlet counts 1 lenfor(let bitmap 0 ; bitmap counts; bitmap){let set []for(let i0 ; i len ; i){if((1i)bitmap){ //对应位为1怎加入当前集合种set.push(i)}}// set 只是数组索引的组合需要转成对应elementres.push(set.map(ielements[i])) // 完成一个集合的收集}return res } let combinations combination(fruits) combinations.forEach((e,i)console.log(i,...e.map(xx.name)))测试结果 0 1 apple 2 banana 3 apple banana 4 orange 5 apple orange 6 banana orange 7 apple banana orange 8 watermelon 9 apple watermelon 10 banana watermelon 11 apple banana watermelon 12 orange watermelon 13 apple orange watermelon 14 banana orange watermelon 15 apple banana orange watermelon
http://www.w-s-a.com/news/773003/

相关文章:

  • 导航网站设计方案个人网站推广方法
  • 网站排名易下拉教程防wordpress花园
  • 计算机网站建设 是什么意思现在网站建站的主流语言是什么
  • php网站跟随导航西安百姓网免费发布信息网
  • 濮阳做公司网站html5 特效网站
  • ppt设计器怎么打开深圳seo网络推广营销
  • 建设银行网站用360浏览器建设信用卡中心网站
  • 创建公司网站 教程广州建设局
  • 详述网站建设的过程简答题ui培训设计怎么样
  • 动易网站官网ppt主题大全素材
  • 怎样用eclipse做网站可以做宣传图的网站
  • 哪里可以做游戏视频网站做网站平台应该注意哪些
  • 网站后期推广是谁来做网页制作步骤作答题
  • 全屋装修设计定制整装成都网站优化多少钱
  • html5购物网站模板一个网站两个数据库
  • 个人网站怎么做微信支付网站建设项目介绍
  • 建网站合同网站适配移动端和PC端
  • 网站建设培训机构哪里好html5开发wap网站
  • 免费自助建站源码学而思网校官网
  • 中国最大的网站制作公司青海省高等级公路建设管局网站
  • 建设网站对服务器有什么要求吗wordpress去除更新提示
  • 找个为公司做网站的手机端原神
  • 邯郸手机建站价格公众号开发者权限哪里添加
  • wordpress模板电子书下载站微信app官方免费下载
  • 从哪些方面进行网站建设如何做网站的实时画面
  • 设计网站公司收费西安小程序开发公司有哪些
  • 如何建网站赚取佣金哪个网站可以做免费宣传
  • 万网手机网站seo方法
  • 免费制作网站app百度首页纯净版
  • 支持api网站开发wordpress排版Markdown