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

如何更改网站的关键词做seo必须有自己网站吗

如何更改网站的关键词,做seo必须有自己网站吗,维护网站计划书,有网站源代码 怎么样建设网站4大算法#xff1a; 贪心算法#xff1a;局部最优解分治算法#xff1a;将一个问题分成多个小模块动态规划#xff1a;每一个状态都是过去历史的总结回溯算法#xff1a;不是最优选择的时候退回重新选 一、排序算法 1. 冒泡排序#xff1a;数字越大越往上 第一次循环 比… 4大算法 贪心算法局部最优解分治算法将一个问题分成多个小模块动态规划每一个状态都是过去历史的总结回溯算法不是最优选择的时候退回重新选 一、排序算法 1. 冒泡排序数字越大越往上 第一次循环 比较当前元素与下一个元素如果比下一个元素大 就换位置反之不动 function bubbleSort(arr) {let length arr.length;// 外层循环用控制 排序进行多少轮for (let i 0; i length; i) {// 内层循环用于每一轮的数据比较// 注意j的长度范围 length - i - 1for (let j 0; j length - i - 1; j) {// 相邻元素大的放到后面if (arr[j] arr[j 1]) {// 交换位置[arr[j], arr[j 1]] [arr[j 1], arr[j]];}}}return arr; }2. 选择排序 遍历自身以后的元素选择最小的元素跟自己换位置 chooseSort(arr){let len arr.length;for(let i0;ilen-1;i){for(let ji1;jlen;j){if(arr[i]arr[j]){[arr[i], arr[j]] [ arr[j], arr[i]]}}} return arr}3. 插入排序 把将要排序的元素插入到已经排好的元素中去 insertSort(arr){for(let i1;iarr.length;i){//外循环从1开始默认arr[0]已经排序for(let ji;j0;j--){//j i,将arr[j]依次插入有序段中if(arr[j]arr[j-1]){[arr[j],arr[j-1]] [arr[j-1],arr[j]]}}}console.log(arr);return arr}4. 快速排序 通过一趟排序 将数组分成两个部分其中一边的值比另一边的小递归调用函数遍历这两部分进行排序最后按顺序合并数组 function quickSort(arr){if(arr.length1){return arr;}let left[],right[];let currentarr.splice(0,1);for(let i0;iarr.length;i){if(arr[i]current){left.push(arr[i]);}else{right.push(arr[i]);}}return quickSort(left).concat(current,quickSort(right)) } let arr1[5,7,1,6,2,3,9,4,8]; quickSort(arr1);//[1,2,3,4,5,6,7,8,9]5. 归并排序 采用分治法 将所有数组项无限细分得到1个个独立的单元也就是不断分解。将相近的两两进行比较按照已排序数组合并形成n/2个序列每个序列包含2个数字。将上述两个序列递归合并按照已排序数组合并形成n/4个序列每个序列包含4个数字。重复步骤2直到所有元素合并排序完毕。 function MergeSort(array) {let len array.length;// 当每个子序列中仅有1个元素时返回if (len 1) {return array;}// 将给定的列表分为两半let num Math.floor(len / 2);let left MergeSort(array.slice(0, num));let right MergeSort(array.slice(num, array.length));return merge(left, right);function merge(left, right) {let [l, r] [0, 0];let result [];// 从 left 和 right 区域中各个取出第一个元素比较它们的大小while (l left.length r right.length) {// 将较小的元素添加到result中然后从较小元素所在的区域内取出下一个元素继续进行比较if (left[l] right[r]) {result.push(left[l]);l;} else {result.push(right[r]);r;}}// 如果 left 或者 right 有一方为空则直接将另一方的所有元素依次添加到result中result result.concat(left.slice(l, left.length));result result.concat(right.slice(r, right.length));return result;} }二、列表转成树 输入一组列表如下转化成树形结构 // 输入 [{ id: 1, title: chil1, parentId: 0 },{ id: 2, title: chil2, parentId: 0 },{ id: 3, title: chil1-1, parentId: 1 },{ id: 4, title: chil1-2, parentId: 1 },{ id: 5, title: chil2-1, parentId: 2 }, ] // 输出 tree [{id: 1,title: chil1,parentId: 0,{id: 3,title: chil1-1,parentId: 1,},{id: 4,title: chil1-2,parentId: 1,},},{id: 2,title: chil2,parentId: 0,{id: 5,title: chil1-1,parentId: 2,},}, ]listToTree(arr){// 使用对选哪个重新存储数据let map {}// 最终结果let treeData []// 遍历元原始数据 存到map中值为数据for(let i0;iarr.length;i){map[data[i].id] data[i]}// 遍历对象for(let i in map){// 根据parentId找到父节点if(map[i].parentId){if(!map[map[i].parentId].children){map[map[i].parentId].children []} else {// 将子节点放到父节点的children中map[map[i].parentId].children.push(map[i])}} else {// 没有父节点 说明是根节点 直接插到跟数组中treeData.push(map[i])}}}三、深度优先遍历 对树进行遍历然后对他的第一个子节点进行遍历直到所有的子节点都遍历完毕然后遍历它所有的兄弟节点 四、广度优先遍历 对树进行遍历然后对他的第一个子节点进行遍历遍历他的所有兄弟节点再遍历第一个节点的子节点 一层层往下遍历
http://www.zqtcl.cn/news/71438/

相关文章:

  • 哈密建设厅网站绍兴微网站建设
  • 怎么在网站上添加广告代码公司网站怎么做网站备案
  • 自己做简单网站价格老公的姐姐一直用我们的手机号码
  • 做网站电话广东世纪达建设集团有限公司官方网站
  • 视频购物网站开发方案泸县城乡住房建设厅网站
  • 革吉网站建设长沙开发网站的公司哪家好
  • 上海做网站好的公司网站建设管理
  • ipad网站制作无锡网站推
  • 怎样给网站做后台wordpress重置密码忘记
  • wordpress安装网站无法pc端微信端网站建设
  • 镇江网站建设企业网站seo收费
  • 如何注册网站主办者深圳设计展2022
  • 北京网站建设公司如何选龙岩app制作
  • 沈阳免费自助建站模板广东网站建设网
  • wordpress 网站显示加载时长湘潭网络推广公司
  • 国家为什么不禁止外包北京百度seo排名点击软件
  • 做网站字体规范本科毕业 做网站编辑
  • 提供网站制作公司哪家好消防做ccc去那个网站
  • 艺术设计教学资源网站建设标准品牌电商网站
  • 一个完整网站开发需要什么技术建e网室内设计网下载
  • 设计公司网站建设模板图世界购物网站排名
  • 网站做推广搜索引擎营销的典型案例
  • 下载贵州省建设厅网站手游制作
  • 网站建设 计入哪个科目建设020网站需要多少钱
  • 前端网站页面模板网站域名的组成
  • 龙岩做网站开发价格湖北省住房和城乡建设厅网站首页
  • 网站可信国家企业官方网站查询系统
  • 泉州高端网站建设网站建设开发有什么好处
  • 中国移动网站建设情况分析做海报兼职网站
  • 企业网站做的公司凡科建站官网