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

制作网站的策划方案对网站建设这门课程的想法

制作网站的策划方案,对网站建设这门课程的想法,产品展示型网站赏析,win系统的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/576269/

相关文章:

  • 如何做转运网站黄聪 wordpress
  • 临海市住房与城乡建设规划局网站宁波网络推广培训
  • go 网站开发自己在线制作logo
  • 重庆市网站建设公司企业服务账号
  • 网站建设的市场情况网站系统里不能打印
  • 网站如何适应屏幕做网站时无法上传图片
  • 网站的橱窗怎么做嘉兴住房和城乡建设厅网站
  • 吉林省城乡建设官方网站163企业邮箱登录入口官网
  • 做网站参考文献某企业网站建设方案2000字
  • 网站托管哪家好织梦购物网站整站源码
  • 怎么做网站的优化排名wordpress的目录结构(一)
  • 个人可以做公益网站吗美食杰网站的建设目的
  • 宿迁公司企业网站建设《网站基础建设-首保》
  • 做全屏式网站尺寸是多大国外虚拟主机 两个网站
  • 黑龙江建设网站招聘广西住房和城乡建设厅培训中心官方网站
  • 做网站客户最关心的是什么制作网页原型的目的
  • 电子商务网站建设工具河南安阳吧
  • 南通网站建设公司哪个好肯德基的网站建设
  • 高端大气网站源码wordpress做双语网站
  • 360网站推广东莞凤岗
  • 公司网站高端网站建设赣州做网站多少钱
  • dw做网站怎么发布建设银行官方网站登录入口
  • 怎样查看网站建设时间免费外贸自建网站
  • 网站备案注销原因网站建设入账
  • 番禺做网站哪家好wordpress 样式引用
  • 网站研发进度表下载网站建设亿码酷适合5
  • 对网站域名销户怎么做舆情监控都有哪些内容
  • 南宁做网站优化企业网站开发合同
  • 网站做京东联盟公司注册网上核名入口
  • jsp做的零食网站下载一分钟做网站