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

沈阳网站建设信息微网站的建设第一步是什么

沈阳网站建设信息,微网站的建设第一步是什么,wordpress 文章空白页,wordpress播客播放器源码目录 1.时间和空间复杂度 1.1时间复杂度 1.2空间复杂度 2.包装类 2.1基本数据类型和对应的包装类 2.2装箱和拆箱 //阿里巴巴面试题 3.泛型 3.1擦除机制 3.2泛型的上界 1.时间和空间复杂度 1.1时间复杂度 定义#xff1a;一个算法所花费的时间与其语句的执行次数成…目录 1.时间和空间复杂度 1.1时间复杂度 1.2空间复杂度 2.包装类 2.1基本数据类型和对应的包装类 2.2装箱和拆箱 //阿里巴巴面试题 3.泛型 3.1擦除机制  3.2泛型的上界 1.时间和空间复杂度 1.1时间复杂度 定义一个算法所花费的时间与其语句的执行次数成正比算法中的基本操作的执行次数为算法的时间复杂度。 public class Main {public static void main(String[] args) {int n 10;int count 0;for (int i 0; i n; i) {for (int j 0; j n; j) {count; //F(n)n^2}}for (int k 0; k 2*n; k) {count; //F(n)2n}for (int m 0; m 10; m) {count; //F(n)10}} } 所以此时F(n)n^22n10 但实际情况下只需要计算大概执行次数即——大O渐进法: 大O渐进法 1 用常数1代替所有的加法常数 2 只保留最高阶项 3 如果最高阶项存在且不是1则去除与这个项相乘的常数。 例F(n) 2n^2 5n 100  O(n^2) 注意 二分查找 O(n) log2N 递归 O(n) 递归的次数*每次递归后执行的次数 public class Main {long factorial(int n) { //阶乘return n2?n:factorial(n-1)*n; //O(n)n}long fibonacci(int n) { //菲波那切数列return n2?n:factorial(n-1)factorial(n-2); //O(n)2^n} } 拓展平均复杂度 定义所有情况下代码执行的次数累加起来再除以所有情况数量即为平均复杂度。 例如下述代码判断x在循环中出现的位置有n1种情况1xn 和 nx 所以平均复杂度为(123……n) n/ n1 public int Function(int n, int x){int sum 0;for (int i 1; i n; i){if (i x)break;sum i;}return sum; } 1.2空间复杂度 定义空间复杂度是一个算法在运行时临时占用存储空间大小的量度即计算的是变量的个数。 public class Test {//实例1使用了常数个额外空间空间复杂度为O(1)//冒泡排序void bubbleSort(int[] array) {for (int end array.length; end 0; end--) {boolean sorted true;for (int i 1; i end; i) {if (array[i - 1] array[i]) {Swap(array, i - 1, i);sorted false;}} if(sorted true) {break;}}}//实例2动态开辟了N个空间空间复杂度为O(N)//菲波那切数列long[] fibonacci(int n) {long[] fibArray new long[n 1];fibArray[0] 0;fibArray[1] 1;for (int i 2; i n ; i) {fibArray[i] fibArray[i - 1] fibArray [i - 2];}return fibArray;}//实例3递归调用了N次开辟了N个栈帧每个栈帧使用了常数个空间空间复杂度为O(N)//阶乘递归long factorial(int N) {return N 2 ? N : factorial(N-1)*N;} }2.包装类 2.1基本数据类型和对应的包装类 基本数据类型 包装类byteByteshortShortintIntegerlongLongfloat Float double DoublecharCharacterbooleanBoolean 2.2装箱和拆箱 装箱基本类型——包装类型 拆箱包装类型——基本类型 public class Test {public static void main(String[] args) {int a 10;Integer i a;//自动装箱Integer ii new Integer(a);//显示装箱Integer iii new Integer(a);//显示装箱int m i.intValue();//显示拆箱float ff i.intValue();//拆成对应的类型int fff a;//自动拆箱} } //阿里巴巴面试题 public class Test {public static void main(String[] args) {Integer a 127;Integer b 127;Integer c 128;Integer d 128;System.out.println(ab);//trueSystem.out.println(cd);//false} } 原因装箱时底层调用了valueOf方法本质是一个范围在-128~127之间的数组。 3.泛型 先来看看一道编程题编程要求创建一个可以存放任何类型数据的数组。 解所有类的父类默认为Object类所以可以创建一个Object数组用来存放不同类型的元素 class MyArray {public Object[] objects new Object[10];//创建Object类数组public Object getPos(int pos) {//访问数组return objects[pos];}public void setVal(int pos,Object val) {//赋值数组objects[pos] val;} } public class Test {public static void main(String[] args) {MyArray myArray new MyArray();//此时可以将不同类型的元素放入数组中myArray.setVal(0,123);myArray.setVal(1,10);//由于父类是Object类型访问时必须强制类型转换int val (int)myArray.getPos(1);System.out.println(val);//10} }我们发现上述代码有些繁琐但用泛型来解这道题就会简单可读很多  定义通俗来讲就是适用于许多许多类型从代码上讲就是对类型实现了参数化传递类型。 意义在编译时帮我们进行类型的检查和转换注意在运行时没有泛型这一概念即JVM中没有泛型。 语法class 泛型类名称 类型形参列表 { 代码块 } 常见类型形参列表E - Element、K - Key、V - Value、N - Number、T - Type、S/U/V等 - 第二、第三、第四个类型。 注意不能new泛型类型的数组。 class MyArray T { //T是一个占位符表示当前类是一个泛型类public T[] objects (T[]) new Object[10];//这种写法不是很好改良版见下public T getPos(int pos) {return objects[pos];}public void setVal(int pos,T val) {objects[pos] val;} } public class Test1 {public static void main(String[] args) {MyArrayInteger myArray1 new MyArrayInteger();//指定类型为Integer myArray1.setVal(0,1); //这里的Integer可不写myArray1.setVal(1,2);int val myArray1.getPos(1);System.out.println(val);//2MyArrayString myArray2 new MyArrayString();//指定类型为StringmyArray2.setVal(0,hello); //这里的String可不写myArray2.setVal(1,world);String ret myArray2.getPos(1);System.out.println(ret);//world} } 3.1擦除机制  定义在编译过程中将所有的T替换为Object这种机制称为擦除机制。 编译器生成的字节码在运行期间并不包含泛型的类型信息。 class MyArray T {public Object[] objects new Object[10];public T getPos(int pos) {return (T)objects[pos];//强转}public void setVal(int pos,Object val) {objects[pos] val;} } 3.2泛型的上界 写一个泛型类其中有个方法用来求数组中的最大值 class AlgT extends ComparableT { //擦除为一个实现了Comparable接口的类型public T findMax(T[] array) { //即限制了T的边界(上界)使其为Comparable的子类或Comparable本身T max array[0];for (int i 1; i array.length; i) {if(max.compareTo(array[i]) 0) {max array[i];}}return max;} } class Alg2 {public staticT extends ComparableT T findMax(T[] array) { //静态泛型方法T max array[0];for (int i 1; i array.length; i) {if(max.compareTo(array[i]) 0) {max array[i];}}return max;} } public class Test {public static void main(String[] args) {AlgInteger alg new Alg();Integer[] array {1,9,3,7,5,4};Integer max alg.IntegerfindMax(array);//此处Integer可不写System.out.println(max);}public static void main2(String[] args) {Integer[] array {1,9,3,7,5,4};Integer max Alg2.IntegerfindMax(array);//此处Integer可不写System.out.println(max); //静态方法通过类名调用} } 这一点点只是开胃菜后面还有更多有趣的知识等着我们去学习 痛并快乐着捏 ~ ~
http://www.dnsts.com.cn/news/124938.html

相关文章:

  • 网站建设和维护视频做分色找工作网站
  • 源美网站建设开发一个电商网站
  • 网站建设应该怎么做医疗ppt模板下载免费完整版
  • 在线设计网站排名网站建设克隆
  • 做房产网站有哪些wordpress视频主题汉化
  • 网站设计师是什么网站备案 是域名还是空间
  • 云南seo简单整站优化wordpress模板yunnut
  • 做网站每一年都要交钱吗校园网站开发的需求和分析
  • 眉山 网站开发滨江区建设局网站
  • 网站备案 企业备案站长工具查询官网
  • 购物网站怎么做代码龙华在深圳算什么档次
  • 天津百度搜索网站排名百度seo公司哪家强一点
  • 深一互联网站建设怎样长沙部分风险区域调整
  • 杭州外贸网站建设网页设计免费模板参考网页
  • 重庆给商家企业做网站免费个人博客注册
  • 自己有域名要怎么制作网站广州外贸公司联系方式
  • 糖果网站建设策划书模板网盘怎么做电影网站
  • wordpress设置投稿厦门seo网站优化
  • 浦东企业网站建设app推广软件有哪些
  • 平阴县建设工程网站网页游戏平台十大排名
  • 爱站网综合查询装修设计公司网站排名
  • 做网站卖狗挣钱吗自己如何做网站关键词排名
  • 电脑突然多了windows优化大师宁波seo排名费用
  • 建网站找汉狮做的好的微商城网站
  • 帝国网站后台编辑器没有了用什么软件做网站原型
  • 昆山做网站找文博通过网站建设提高企业的
  • 大庆市住房与城乡建设局网站php网站建设的公司
  • 深圳市营销型网站福州小程序定制
  • 汕头网站建设报价海洋网站建设
  • 东莞做外贸网站汽贸公司网站建设