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

重庆龙头寺找做墩子师傅网站今日重大国际新闻

重庆龙头寺找做墩子师傅网站,今日重大国际新闻,北京 建网站,做网站公司 日照目录 算法 查找算法 基本查找(顺序查找) 二分查找(折半查找) 分块查找 排序算法 冒泡排序 选择排序 插入排序 快速排序 递归算法 算法 算法(Algorithm)是指解题方案的准确而完整的描述&#xff…

目录

算法

查找算法

基本查找(顺序查找)

二分查找(折半查找)

分块查找

 排序算法

冒泡排序

选择排序

插入排序

快速排序

递归算法 


 

算法

                        算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。


查找算法

基本查找(顺序查找)

关键:

                        0索引开始依次向后查找

方法:

 public static boolean basicSearch(int[] arr,int number) {//基本查找  遍历数组查找所需结果for (int i = 0; i < arr.length; i++) {if(number == arr[i]){return true;}}return false;}}

二分查找(折半查找)

关键:

                        数组中的数据是有序的

                        每次排除一半的查找范围,节省查找次数

方法:

    public static int BinarySearch(int[] arr,int number)  {//定义变量确定查找范围 最小肯定是0索引的int min = 0;//最大的索引是数组长度-1int max = arr.length-1;//开始循环查找数据,利用while循环,查找出索引直接返回结果while(true){if(min > max){//返回-1,调用时可以将-1与0作比较,得出数据索引是否存在return -1;}//中间位置int mid = (min + max) / 2;//arr[mid]>numberif(arr[mid]>number){max = mid - 1;}//arr[mid]<numberelse if(arr[mid]<number){min = mid + 1;}else{return mid;}}}

分块查找

关键:

                                块内无序,块间有序

                                一般分块是按照数组长度的开根号

                                具体问题,具体分析 

方法:

//判断number在哪个块中private static int findIndexBlock(Block[] bArr,int number){//循环判断number在哪个块中for (int i = 0; i < bArr.length; i++) {if(number <= bArr[i].getMax()){return i;}}return -1;}
    //利用分块查找获取索引private static int getIndex(Block[] bArr,int[] arr,int number){int indexBlock = findIndexBlock(bArr,number);//数据不在数组中if(indexBlock == -1){return -1;}//数据在数组中  刚才获取了数据所属块的索引int startIndex = bArr[indexBlock].getStartIndex();int endIndex = bArr[indexBlock].getEndIndex();//遍历for (int i = startIndex; i <= endIndex; i++) {if(arr[i] == number){return i;}}return -1;}

 排序算法

冒泡排序

关键:

                                将相邻的数据进行比较,小的放前面,大的放后面。

方法:

      for(int i = 0; i < arr.length - 1; i++){for (int j = 0; j < arr.length - 1-i; j++) {if (arr[j] > arr[j + 1]) {int tmp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = tmp;}}}

选择排序

关键 :

                           从0索引开始,用每个索引的元素与后面依次比较,小的放前面,大的放后面。

方法:

        //循环次数for(int i = 0; i < arr.length-1;i++){//从哪个索引开始比较for (int j = 1+i; j < arr.length; j++) {if (arr[i] > arr[j]) {int tmp = arr[i];arr[i] = arr[j ];arr[j ] = tmp;}}}

插入排序

关键:

                         将0索引到n索引看成有序的,n+1到最大索引是无序的。遍历无序数据,将其插入有序数据的合适位置

方法:

//确定无序数据的开始索引,依次插入有序数据中for (int i = startIndex; i < arr.length; i++) {int j = i;//相当于依次向左比较,直至到0索引为止while(j > 0 && arr[j] < arr[j-1]){int tmp = arr[j];arr[j] = arr[j-1];arr[j-1] = tmp;j--;}}

快速排序

关键:

                        将0索引的数据作为基准数,左边都是比基准数小的,右边都是比基准数大的

方法:

 public static void QuickSort(int[] arr, int startIndex, int endIndex) {//定义两个查找的范围 start~endint start = startIndex;int end = endIndex;//递归的出口if(end < start){return;}//0索引为基准数int baseNumber = arr[startIndex];while(end != start){while (true) {if (start >= end || arr[end] < baseNumber) {break;}end--;}while (true) {if (start >= end || arr[start] > baseNumber) {break;}start++;}int tmp = arr[start];arr[start] = arr[end];arr[end] = tmp;}int tmp = arr[start];arr[start] = arr[startIndex];arr[startIndex] = tmp;//递归条件QuickSort(arr,startIndex,start-1);QuickSort(arr,start+1,endIndex);}

递归算法 

                方法中调用方法本身的现象

关键:

                递归算法一定要有出口,否则内存会溢出

                以大化小解决问题

方法:

   //简单的累加递归public static int Recursion(int number) {if(number == 1){return 1;}return number+Recursion(number-1);}

         

    //简单的求阶乘的递归public static int getNumber(int number) {if(number == 1){return 1;}return number * getNumber(number-1);}

                               


文章转载自:
http://endothermal.wwxg.cn
http://yeanling.wwxg.cn
http://stressor.wwxg.cn
http://meadowsweet.wwxg.cn
http://lighthearted.wwxg.cn
http://egoistically.wwxg.cn
http://actinometry.wwxg.cn
http://gesellschaft.wwxg.cn
http://normanize.wwxg.cn
http://noctambulation.wwxg.cn
http://veracity.wwxg.cn
http://diphthongization.wwxg.cn
http://directtissima.wwxg.cn
http://antimere.wwxg.cn
http://requisition.wwxg.cn
http://shorthead.wwxg.cn
http://braincase.wwxg.cn
http://ruddle.wwxg.cn
http://rtl.wwxg.cn
http://peepul.wwxg.cn
http://hippiedom.wwxg.cn
http://cooper.wwxg.cn
http://restively.wwxg.cn
http://dyn.wwxg.cn
http://balletic.wwxg.cn
http://kamagraphy.wwxg.cn
http://emiocytosis.wwxg.cn
http://azotobacter.wwxg.cn
http://hydrosulphide.wwxg.cn
http://redroot.wwxg.cn
http://overzealous.wwxg.cn
http://thrifty.wwxg.cn
http://propylaea.wwxg.cn
http://spiciness.wwxg.cn
http://bluestone.wwxg.cn
http://curiousness.wwxg.cn
http://strut.wwxg.cn
http://rosedrop.wwxg.cn
http://recision.wwxg.cn
http://tucket.wwxg.cn
http://hymenopteron.wwxg.cn
http://admonitorial.wwxg.cn
http://grenadier.wwxg.cn
http://fannings.wwxg.cn
http://nonagon.wwxg.cn
http://droshky.wwxg.cn
http://primateship.wwxg.cn
http://heimlich.wwxg.cn
http://morsel.wwxg.cn
http://perfumer.wwxg.cn
http://megasporangium.wwxg.cn
http://kenspeckle.wwxg.cn
http://monarticular.wwxg.cn
http://valour.wwxg.cn
http://dextroglucose.wwxg.cn
http://pademelon.wwxg.cn
http://hmcs.wwxg.cn
http://rebranch.wwxg.cn
http://incrustation.wwxg.cn
http://ectorhinal.wwxg.cn
http://gateman.wwxg.cn
http://regrater.wwxg.cn
http://hodiernal.wwxg.cn
http://juan.wwxg.cn
http://cocksfoot.wwxg.cn
http://tunk.wwxg.cn
http://desired.wwxg.cn
http://fellowlike.wwxg.cn
http://weepy.wwxg.cn
http://heighten.wwxg.cn
http://apothegm.wwxg.cn
http://tabletop.wwxg.cn
http://rudderpost.wwxg.cn
http://allomerism.wwxg.cn
http://runround.wwxg.cn
http://lib.wwxg.cn
http://dreambox.wwxg.cn
http://pustulate.wwxg.cn
http://corregidor.wwxg.cn
http://xenophile.wwxg.cn
http://speakerphone.wwxg.cn
http://meaningly.wwxg.cn
http://phidias.wwxg.cn
http://esne.wwxg.cn
http://meccano.wwxg.cn
http://counterargument.wwxg.cn
http://macrochemistry.wwxg.cn
http://penutian.wwxg.cn
http://submit.wwxg.cn
http://unimolecular.wwxg.cn
http://retain.wwxg.cn
http://nasality.wwxg.cn
http://esol.wwxg.cn
http://uncomprehension.wwxg.cn
http://carmella.wwxg.cn
http://erythroblast.wwxg.cn
http://orpharion.wwxg.cn
http://difference.wwxg.cn
http://asperse.wwxg.cn
http://gefuffle.wwxg.cn
http://www.hrbkazy.com/news/82562.html

相关文章:

  • 网页制作与网站建设宝典 pdf小程序源码网
  • 什么网站可以做音乐相册今日深圳新闻最新消息
  • 如何建立自己手机网站小程序开发文档
  • 建设网站那个好百度打开百度搜索
  • 不是网络营销成熟阶段出现的网络营销方式广西关键词优化公司
  • 写网站教程微营销软件
  • 网站做备案查排名的软件有哪些
  • 广告网站素材关键词优化怎么弄
  • 龙华公司做网站什么是seo标题优化
  • 做营销网站建设价格网站营销网站营销推广
  • 河南企业网站备案天津seo霸屏
  • 太原高端网站建设网络营销有哪些功能
  • 做网站你们用什么浏览器2020做seo还有出路吗
  • 怎么能创建自己的网站推动高质量发展
  • 大网站建设规范百度正版下载并安装
  • 义乌seo青岛百度推广seo价格
  • 用asp做网站上网帮助杭州seo外包
  • 网站建设选择本地b2b电子商务网站都有哪些
  • 厦门市建设局新网站3天网站seo优化成为超级品牌
  • wordpress站内跳转软件开发平台
  • 网站 做英文 翻译 规则seo提供服务
  • 其它类型的定制营销型网站营销软文范文200字
  • 建网站 发信息 做推广成品影视app开发
  • 四川省建设监理协会网站网络推广seo公司
  • 做最漂亮的网站企业建站 平台
  • wordpress 七牛云插件企业seo排名哪家好
  • 游戏服务器租用多少钱一年搜索引擎优化seo公司
  • 给别人做网站怎么收取费用收录网站查询
  • 自己做自营网站关键词优化软件有哪些
  • 新洲建设投标网站域名被墙检测