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

上海域名网站公司介绍ppt

上海域名网站,公司介绍ppt,常州网站建设报价,舆情信息范文你整理的这些前端常见算法知识点挺实用的,适合复习或面试准备。下面我帮你稍微整理美化一下格式,并补充一点细节,让内容更清晰易读: 1. 排序算法 冒泡排序(Bubble Sort) 原理:通过重复比较相邻元…

你整理的这些前端常见算法知识点挺实用的,适合复习或面试准备。下面我帮你稍微整理美化一下格式,并补充一点细节,让内容更清晰易读:


1. 排序算法

  • 冒泡排序(Bubble Sort)
    原理:通过重复比较相邻元素并交换位置,将最大(或最小)的元素逐步“冒泡”到数组的末尾。
    时间复杂度:平均和最坏为 O(n²),最好情况(已经有序)为 O(n)。

    function bubbleSort(arr) {for (let i = 0; i < arr.length - 1; i++) {for (let j = 0; j < arr.length - 1 - i; j++) {if (arr[j] > arr[j + 1]) {[arr[j], arr[j + 1]] = [arr[j + 1], arr[j]];}}}return arr;
    }
    
  • 快速排序(Quick Sort)
    原理:选择一个基准元素(pivot),将数组分成小于和大于基准的两部分,递归排序。
    时间复杂度:平均 O(n log n),最坏 O(n²)。

    function quickSort(arr) {if (arr.length <= 1) return arr;const pivot = arr[0];const left = arr.slice(1).filter(item => item < pivot);const right = arr.slice(1).filter(item => item >= pivot);return [...quickSort(left), pivot, ...quickSort(right)];
    }
    

2. 搜索算法

  • 线性搜索(Linear Search)
    原理:从头开始逐个比较,直到找到目标或遍历结束。
    时间复杂度:O(n)

    function linearSearch(arr, target) {for (let i = 0; i < arr.length; i++) {if (arr[i] === target) return i;}return -1;
    }
    
  • 二分搜索(Binary Search)(适用于有序数组)
    原理:每次将数组一分为二,根据中间值判断目标在左侧还是右侧,缩小范围。
    时间复杂度:O(log n)

    function binarySearch(arr, target) {let left = 0, right = arr.length - 1;while (left <= right) {const mid = Math.floor((left + right) / 2);if (arr[mid] === target) return mid;else if (arr[mid] < target) left = mid + 1;else right = mid - 1;}return -1;
    }
    

3. 字符串算法

  • 字符串匹配(BF、KMP)

    • BF(Brute Force,暴力匹配):从主串每一个位置开始匹配模式串。时间复杂度 O(mn)。

    • KMP(Knuth-Morris-Pratt)算法:通过前缀表避免重复比较,提高效率。时间复杂度 O(n + m)。

    这里以暴力匹配为例:

    function bruteForceMatch(str, pattern) {for (let i = 0; i <= str.length - pattern.length; i++) {let j = 0;while (j < pattern.length && str[i + j] === pattern[j]) {j++;}if (j === pattern.length) return i;}return -1;
    }
    
  • 字符串反转
    原理:可以使用循环或内置方法来反转字符串。

    • 方法1:循环方式

      function reverseString(str) {let reversed = '';for (let i = str.length - 1; i >= 0; i--) {reversed += str[i];}return reversed;
      }
      
    • 方法2:内置方法

      const reverseString = str => str.split('').reverse().join('');
      

http://www.dtcms.com/wzjs/599880.html

相关文章:

  • 网站搭建的意义做相框的网站
  • 服装网站设计策划wordpress页面目录下
  • 柳州网站建设22怎样才能申请网站
  • 网站建设的公司上海安徽工程建设信息网实名制查询
  • 手机网站WordPress主题wordpress的菜单和页面
  • 湘潭seo网站优化财务公司经营范围有哪些
  • 湖南建设长沙网站建设价格建筑工程 网络图
  • 织梦如何新建网站微信小程序和网页哪个开发难
  • wordpress 全宽页面网站在线seo
  • 戴尔公司网站建设的特点是什么怎样查网站空间地址
  • 网站开发需要什么专业的人才html5的网站设计与实现是做什么
  • 列出网站开发建设的步骤云南测绘公司最新排名
  • 化工行业网站设计网站做海康直播
  • 做网站都需要考虑哪些做淘宝客网站难吗
  • 凡科 如何建设网站流程做房产网站需要了解什么
  • 做网站多少钱PageAdminwordpress版本控制
  • 网站建设站点地图网址导航可以卸载吗
  • 开发区网站建设工作管理办法企业网站制作套餐
  • 网站设计参考文献有哪些潍坊住房公积金官网登录
  • 目录网站做外链商务网站内容建设包括
  • 网站配资公司网站微信号 网站模板
  • 想做一个静态网页网站不需要有后台数据库广州网站建设公司
  • 厦门高端模板建站一款可做引流的网站源码
  • 怎么注册自己的网站商贸有限公司经营范围
  • 互联网网站备案流程用一个矿泉水瓶子做手工
  • 网站开发php教程礼品网站建设策划
  • 合作建站方案购买帝国cms做网站代理
  • 北京大兴企业网站建设咨询网店装修是什么意思
  • 国家骨干高职院校建设网站邯郸建设网站制作
  • 网站后台怎么管理高德地图是国产软件吗