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

织梦怎么更新网站html东莞网站空间

织梦怎么更新网站html,东莞网站空间,申请域名地址,wordpress自动标签插件下载一. 初识算法 1.1 什么是算法#xff1f; 在数学和计算机科学领域#xff0c;算法是一系列有限的严谨指令#xff0c;通常用于解决一类特定问题或执行计算 不正式的说#xff0c;算法就是任何定义优良的计算过程#xff1a;接收一些值作为输入#xff0c;在有限的时间…一. 初识算法 1.1 什么是算法 在数学和计算机科学领域算法是一系列有限的严谨指令通常用于解决一类特定问题或执行计算 不正式的说算法就是任何定义优良的计算过程接收一些值作为输入在有限的时间内产生一些值作为输出。 1.2 什么是数据结构 在计算机科学领域数据结构是一种数据组织、管理和存储格式通常被选择用来高效访问数据 数据结构是一种存储和组织数据的方式旨在便于访问和修改 1.3 衡量算法好坏 一般从以下维度来评估算法的优劣正确性、可读性、健壮性对不合理输入的反应能力和处理能力。时间复杂度time complexity估算程序指令的执行次数执行时间。空间复杂度space complexity估算所需占用的存储空间。 1.3.1 时间复杂度 常见的时间复杂度从快到慢 常数复杂度                                 O(1) 对数复杂度                                 O(logn) 线性时间复杂度                          O(n) 线性对数复杂度                          O(nlogn) 平方                                            O() 立方                                            O() 指数                                            O() 阶乘                                            O(n!) 1.3.2 空间复杂度 空间复杂度就是算法需要多少内存占用了多少空间 常用的空间复杂度有O(1)、O(n)、O() 二、二分查找 二分查找算法也称折半查找是一种非常高效的工作于有序数组的查找算法。 2.1 二分查找基础版 /*** description: 二分查找基础版* author: 憨憨浩浩* date: 2023/12/11 21:54* param: [a, target]* return: int**/public static int binarySearchBasic(int[] a, int target) {// 定义左侧指针int i 0;// 定义右侧指针int j a.length - 1;// 当 i j 时退出循环while (i j){// 定义中间指针int m (i j) / 2;if (a[m] target){ // 目标值在左边j m - 1;}else if (a[m] target){ // 目标值在右边i m 1;}else { // 找到目标值返回对应索引return m;}}return -1; // 找不到目标值返回-1} (i j) / 2 有没有问题? 有问题当数组长度足够长是会发生问题 Testpublic void Test01(){int i Integer.MAX_VALUE / 2;int j Integer.MAX_VALUE;int m (i j) / 2;System.out.println(m); // -536870913} 解决方案 Testpublic void Test02(){int i Integer.MAX_VALUE / 2;int j Integer.MAX_VALUE;int m (i j) 2;System.out.println(m); // 805306367} 2.2 二分查找改变版 另一种写法 /*** description: 二分查找改变版* author: 憨憨浩浩* date: 2023/12/11 22:10* param: [a, target]* return: int**/public static int binarySearchAlternative(int[] a,int target){// 定义左侧指针int i 0;// 定义右侧指针int j a.length;// 当 i j 时退出循环while (i j){// 定义中间指针int m (i j) /2;if (a[m] target){ // 目标值在左边j m;} else if (a[m] target) { // 目标值在右边i m 1;}else { // 找到目标值返回对应索引return m;}}return -1; // 找不到目标值返回-1} 2.3 二分查找性能 2.4 二分查找平衡版 /*** description: 二分查找平衡版* author: 憨憨浩浩* date: 2023/12/13 13:46* param: [a, target]* return: int**/public static int binarySearchBalance(int[] a,int target){// 定义左侧指针int i 0;// 定义右侧指针int j a.length;// 当 i 1 j 时退出循环while (1 j - i) {// 定义中间指针int m (i j) 1;if (target a[m]) { // 目标值在左边j m;} else {i m;}}// 查到返回i查不到返回-1return (a[i] target) ? i : -1;} 2.5 二分查找 Java 版 Java8源码 public static int binarySearch(int[] a, int key) {return binarySearch0(a, 0, a.length, key);}private static int binarySearch0(int[] a, int fromIndex, int toIndex, int key) {int low fromIndex;int high toIndex - 1;while (low high) {int mid (low high) 1;int midVal a[mid];if (midVal key)low mid 1;else if (midVal key)high mid - 1;elsereturn mid; // key found}return -(low 1); // key not found.} 2.6 Leftmost 与 Rightmost /*** description: 二分查找返回左侧的索引值* author: 憨憨浩浩* date: 2023/12/15 20:21* param: [a, target]* return: int**/public static int binarySearchLeftmost1(int[] a,int target){int i 0, j a.length - 1;int candidate -1;while (i j) {int m (i j) 1;if (target a[m]) {j m - 1;} else if (a[m] target) {i m 1;} else {candidate m; // 记录候选位置j m - 1; // 继续向左}}return candidate;} 如果希望返回的是最右侧元素 /*** description: 二分查找返回最右侧值的索引* author: 憨憨浩浩* date: 2023/12/15 20:23* param: [a, target]* return: int**/public static int binarySearchRightmost1(int[] a,int target){int i 0, j a.length - 1;int candidate -1;while (i j) {int m (i j) 1;if (target a[m]) {j m - 1;} else if (a[m] target) {i m 1;} else {candidate m; // 记录候选位置i m 1; // 继续向右}}return candidate;} 应用 对于 Leftmost 与 Rightmost可以返回一个比 -1 更有用的值 Leftmost 改为 public static int binarySearchLeftmost(int[] a, int target) {int i 0, j a.length - 1;while (i j) {int m (i j) 1;if (target a[m]) {j m - 1;} else {i m 1;}}return i; } Rightmost 改为 public static int binarySearchRightmost(int[] a, int target) {int i 0, j a.length - 1;while (i j) {int m (i j) 1;if (target a[m]) {j m - 1;} else {i m 1;}}return i - 1; } 大于等于中间值都要向右找 几个名词
http://www.pierceye.com/news/171411/

相关文章:

  • 网站怎么做uc整合查企业网站
  • 网站没被收录什么原因网站排名点击工具
  • 江西南昌建设厅网站商品展示软件
  • 眼镜企业网站建设方案2015做那些网站致富
  • 创建个人网站的流程建设网站聊天室
  • cms 学校网站上海模板网站
  • 网站建设投资风险分析公司做的网站费用如何做账
  • 网站建设费用核算科目DW做的网页用网站打不开
  • wordpress标签搜索引擎嘉兴市做网站优化
  • 网站更换关键词怎么做好wordpress post fonts
  • 厦门优化网站排名网站备案转服务器
  • 怎样做pdf电子书下载网站做旅行攻略的网站
  • 怎样做网站推广啊抖音网站的flash怎么做
  • 网站建设小说网站建设目标是什么意思
  • 如何做一个好的网站中英文网站好处
  • wordpress站点版权设置晋中建设集团网站
  • 怎么夸一个网站做的好看烟台百度网站推广
  • 佛山市网站建设分站多少钱企业门户账号是什么
  • 大中型网站开发价格铜山区建设局局网站周保春
  • 为什么有人做商城优惠券网站卖科技风格设计网站
  • 企业网站的需求分析是做网站编辑还是做平面设计
  • 超酷 flash 网站淮南网红餐厅
  • 湛江网站建设开发株洲关键词seo优化服务商
  • 女的有没有做网站的十大经典随身空间小说推荐
  • 江西做网站哪家好监理证查询网
  • 北京驾校网站建设网络哪里能接活做网站
  • 建设网站公司排名西宁网站建设优化案例
  • 外贸网站推广有用吗网络服务投诉平台
  • 网站制作价上传下载网站模板
  • 注册网站会员 我们的信息淘宝上可以做网站吗