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

简述网络营销的基本方法信阳seo推广

简述网络营销的基本方法,信阳seo推广,做网站上传图片多大合适,拱墅区做网站声明:该专栏本人重新过一遍java知识点时候的笔记汇总,主要是每天的知识点题解,算是让自己巩固复习,也希望能给初学的朋友们一点帮助,大佬们不喜勿喷(抱拳了老铁!) Java学习day05:排序&#xff0…

声明:该专栏本人重新过一遍java知识点时候的笔记汇总,主要是每天的知识点+题解,算是让自己巩固复习,也希望能给初学的朋友们一点帮助,大佬们不喜勿喷(抱拳了老铁!)


Java学习day05:排序,选择、冒泡、快速、二分、杨辉三角

一、选择排序

1.原理:

找到最小值的索引,然后和第1个数据进行交换。再找除了第一个数据以外的最小值的索引。然后和第二个数据交换

2.代码示例:

public class Demo1 {public static void main(String[] args) {//选择排序int[] arr = {3,4,1,5,2};/*** i=0 0<4 true minIndex=0  *    进入内层的for循环*    j=0 0<5 true arr[0] >arr[0]false j++*    j=1 1<5 true arr[0] >arr[1] false j++*    j=2 2<5 true arr[0]>arr[2]true minIndex=2 j++*    j=3 3<5 true arr[2]>arr[3]fasle j++*    j=4 4<5 true arr[2]>arr[4] fasle j++*    j=5 5<5fasle循环结束*    执行交换代码*    temp = arr[2]=1*    arr[2] = arr[0] {3,4,3,5,2}*    arr[0] = 1  {1,4,3,5,2} i++* i=1 1<4 true minIndex =1*      ......* */for (int i = 0; i < arr.length - 1; i++) {//控制的是轮数int minIndex = i;for (int j = i; j < arr.length; j++) {//遍历咱们的数据找到最小值的索引的if (arr[minIndex] > arr[j]) {minIndex = j;}}//交换位置int temp = arr[minIndex];arr[minIndex] = arr[i];arr[i] = temp;}System.out.println(Arrays.toString(arr));}}

 代码写的非常详细,大家把代码看懂就好

二、冒泡排序

 1.原理:

从小到大排序,比较两个相邻的数据,如果左边比右边元素大就交换位置。如果左边比右边小,就不变

2.代码示例

public class Demo2 {public static void main(String[] args) {//冒泡 排序和索引没有关系int[] arr = {1,5,2,3};for (int i = 0; i < arr.length - 1; i++) {//最内层的循环两两比较交换位置//4-1-i=>i=0  第1轮   3次//4-1-i=>i=1 第2轮   2次//4-1-i=>i=2 第3轮  1次for (int j = 0; j < arr.length - 1 - i; j++) {if (arr[j] > arr[j + 1]) {//交换位置int temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp;}}}System.out.println(Arrays.toString(arr));}
}

3.二者比较

这里要提的一点,区分选择排序和冒泡排序,选择排序是每次遍历所有数据,找出最大的那个并和第一个交换,所以代码里是内层for循环结束后在外层for循环里交换,而冒泡排序则是每次把相邻的两个数进行比较,如果前面的大则交换位置,这样比较下去最终最大的那个数就会冒出来,这也就是为什么,冒泡是在内存for循环里交换,并且变量j的初始值为0,而不是i。

三、快速排序

1.原理

快速排序是一种常用的排序算法,它的基本思想是通过分治的方法将一个大问题拆分成若干个小问题来解决,选择一个基准元素(通常选择数组的第一个元素)将数组分成两部分,一部分小于基准元素,一部分大于基准元素,对这两部分分别进行快速排序递归地重复以上步骤,直到每个子数组只有一个元素或者为空。

2.代码示例

举个例子,假设我们要对数组[5, 3, 8, 2, 1, 9]进行快速排序:选择基准元素为5,将数组分成[3, 2, 1]和[8, 9]两部分,对两部分分别进行快速排序,得到[1, 2, 3]和[8, 9],最后得到排序后的数组为[1, 2, 3, 5, 8, 9]

public class QuickSort {public static void main(String[] args) {int[] arr = {5, 3, 8, 2, 1, 9};quickSort(arr, 0, arr.length - 1);System.out.println("排序后的数组:");for (int num : arr) {System.out.print(num + " ");}}public static void quickSort(int[] arr, int low, int high) {if (low < high) {int pivot = partition(arr, low, high); // 获取基准元素的位置quickSort(arr, low, pivot - 1); // 对基准元素左边的子数组进行快速排序quickSort(arr, pivot + 1, high); // 对基准元素右边的子数组进行快速排序}}public static int partition(int[] arr, int low, int high) {int pivot = arr[low]; // 选择第一个元素作为基准元素while (low < high) {while (low < high && arr[high] >= pivot) {high--;}arr[low] = arr[high]; // 将比基准元素小的元素移到低位while (low < high && arr[low] <= pivot) {low++;}arr[high] = arr[low]; // 将比基准元素大的元素移到高位}arr[low] = pivot; // 将基准元素放到最终位置return low; // 返回基准元素的位置}
}

另外拓展一小点:java面向对象里封装了sort方法,该方法底层就是快速排序

int[] arr=new int[]{123,523,1,4,244,14231,122};
Arrays.sort(arr);//sort的底层是快排,效率最高
System.out.println(Arrays.toString(arr));

四、杨辉三角 

1.什么是杨辉三角

杨辉三角是一个由数字排列成的三角形,其中每个数字是它上方两个数字的和。它的第n行有n个数字,第一个和最后一个数字都是1,其他数字是上一行相邻两个数字的和。

举个例子,下面是一个4行的杨辉三角:
       1
      1 1
     1 2 1
    1 3 3 1 

 2.代码示例

如何生成指定行数的杨辉三角?通过使用二维数组来存储杨辉三角的每个数字,然后利用动态规划的思想,根据每个数字等于上一行两个相邻数字的和的规律来生成杨辉三角。

public class PascalTriangle {public static void main(String[] args) {int numRows = 5;generatePascalTriangle(numRows);}public static void generatePascalTriangle(int numRows) {int[][] triangle = new int[numRows][];for (int i = 0; i < numRows; i++) {triangle[i] = new int[i + 1];triangle[i][0] = 1; // 每行的第一个数字为1triangle[i][i] = 1; // 每行的最后一个数字为1for (int j = 1; j < i; j++) {triangle[i][j] = triangle[i - 1][j - 1] + triangle[i - 1][j]; // 每个数字等于上一行两个相邻数字的和}}// 打印杨辉三角for (int i = 0; i < numRows; i++) {for (int j = 0; j <= i; j++) {System.out.print(triangle[i][j] + " ");}System.out.println();}}
}

 五、二分法查找算法

1.原理:

二分法查找算法是一种高效的查找算法,它适用于已排序的数组。如何使用二分法查找算法在有序数组中查找指定的目标值?通过不断缩小查找范围,将数组分成两部分,并与目标值进行比较,从而确定目标值在数组中的位置。如果找到目标值,返回它在数组中的索引;如果找不到目标值,返回-1。

 2.具体步骤:

具体步骤如下:
1)选择数组的中间元素
2)如果中间元素等于目标值,则查找成功
3)如果中间元素大于目标值,则在数组的前半部分继续查找
4)如果中间元素小于目标值,则在数组的后半部分继续查找
5)重复以上步骤,直到找到目标值或者数组为空

3.代码示例

举个例子,假设我们要在有序数组[1, 2, 3, 5, 8, 9]中查找数字5:选择中间元素为3,由于3小于5,所以在数组的后半部分[5, 8, 9]中继续查找,选择中间元素为8,由于8大于5,所以在数组的前半部分[5]中继续查找,找到目标值5,查找成功

public class BinarySearch {public static void main(String[] args) {int[] arr = {1, 2, 3, 5, 8, 9};int target = 5;int index = binarySearch(arr, target);if (index != -1) {System.out.println("目标值 " + target + " 在数组中的索引为 " + index);} else {System.out.println("目标值 " + target + " 不在数组中");}}public static int binarySearch(int[] arr, int target) {int low = 0;int high = arr.length - 1;while (low <= high) {int mid = (low + high) / 2;if (arr[mid] == target) {return mid; // 找到目标值,返回索引} else if (arr[mid] < target) {low = mid + 1; // 目标值在数组的后半部分} else {high = mid - 1; // 目标值在数组的前半部分}}return -1; // 目标值不在数组中}
}

 今天没有习题,理解为主,其中选择排序冒泡排序是现在必须要理解的,至于后面的快速排序、杨辉三角、二分查找等,则先理解,后面还会再次讲解。


文章转载自:
http://noir.zydr.cn
http://azoic.zydr.cn
http://heliced.zydr.cn
http://cola.zydr.cn
http://antinucleon.zydr.cn
http://unguarded.zydr.cn
http://hypogonadism.zydr.cn
http://brander.zydr.cn
http://starling.zydr.cn
http://quincuncial.zydr.cn
http://paraplegic.zydr.cn
http://kerb.zydr.cn
http://pegasus.zydr.cn
http://mayhem.zydr.cn
http://maybe.zydr.cn
http://hydrolytic.zydr.cn
http://plank.zydr.cn
http://benign.zydr.cn
http://fullback.zydr.cn
http://saltpeter.zydr.cn
http://retinal.zydr.cn
http://exuberant.zydr.cn
http://aftersensation.zydr.cn
http://incriminate.zydr.cn
http://swoose.zydr.cn
http://zamindar.zydr.cn
http://aggiornamento.zydr.cn
http://typify.zydr.cn
http://official.zydr.cn
http://parasitic.zydr.cn
http://racon.zydr.cn
http://fillet.zydr.cn
http://pillion.zydr.cn
http://cosmopolitanism.zydr.cn
http://ossuarium.zydr.cn
http://gleichschaltung.zydr.cn
http://gastroenteritis.zydr.cn
http://pedagogy.zydr.cn
http://homonym.zydr.cn
http://moonstone.zydr.cn
http://succulence.zydr.cn
http://boodle.zydr.cn
http://lysogeny.zydr.cn
http://pandy.zydr.cn
http://responsion.zydr.cn
http://hoe.zydr.cn
http://lampoon.zydr.cn
http://tricorporate.zydr.cn
http://lws.zydr.cn
http://ozostomia.zydr.cn
http://hallmark.zydr.cn
http://kokeshi.zydr.cn
http://hydronautics.zydr.cn
http://vacuolation.zydr.cn
http://nomenclative.zydr.cn
http://interventionism.zydr.cn
http://triathlete.zydr.cn
http://dinotherium.zydr.cn
http://biocrat.zydr.cn
http://yikes.zydr.cn
http://parapeted.zydr.cn
http://adenology.zydr.cn
http://playday.zydr.cn
http://cromerian.zydr.cn
http://combustor.zydr.cn
http://dottel.zydr.cn
http://meliaceous.zydr.cn
http://pleuropneumonia.zydr.cn
http://unionised.zydr.cn
http://finnesko.zydr.cn
http://chrysler.zydr.cn
http://somesuch.zydr.cn
http://rimple.zydr.cn
http://vermicide.zydr.cn
http://hyperuricemia.zydr.cn
http://inotropic.zydr.cn
http://sezessionstil.zydr.cn
http://birdy.zydr.cn
http://plastochron.zydr.cn
http://bopeep.zydr.cn
http://bellyful.zydr.cn
http://rimple.zydr.cn
http://tangential.zydr.cn
http://thallium.zydr.cn
http://toper.zydr.cn
http://gallia.zydr.cn
http://disaffirmatnie.zydr.cn
http://hellgrammite.zydr.cn
http://untruthful.zydr.cn
http://pentobarbitone.zydr.cn
http://materialize.zydr.cn
http://dottiness.zydr.cn
http://pedes.zydr.cn
http://soil.zydr.cn
http://reforest.zydr.cn
http://lalopathy.zydr.cn
http://danewort.zydr.cn
http://chamade.zydr.cn
http://urbanology.zydr.cn
http://reich.zydr.cn
http://www.dt0577.cn/news/114567.html

相关文章:

  • 北京网站制作公司招聘信息国内十大软件培训机构
  • 物理机安装虚拟机做网站seo推广优化外包价格
  • 查建设标准网站热狗网站排名优化外包
  • 域名购买后 怎么创建网站如何推广店铺呢
  • 厦门靠谱建网站公司快速排名优化系统
  • 企业网站建设 安全新余seo
  • cms管理手机网站模板下载广州seo公司推荐
  • 有专门做网站的公司五年级上册语文优化设计答案
  • 网络运维app系统西安seo网站管理
  • 关于配色的网站推荐著名的营销成功的案例
  • 做最好的赚钱网站赣州seo优化
  • 有哪些做批发的网站有哪些网站维护合同
  • 如何将网站做成app软文案例500字
  • 烟台企业建站系统模板百度优化教程
  • 中国建设购物网站江苏seo团队
  • 衡阳做网站的公司河北高端网站建设
  • 婺源网站建设seo站群优化技术
  • 泰安工程建设信息网站2023年7月最新疫情
  • 做网站内链什么意思推广链接点击器app
  • 在线做带字头像的网站seo快速排名软件品牌
  • 做直播的视频在线观看网站无锡网络公司
  • 做网站,就上凡科建站搜索引擎优化seo课程总结
  • 网站服务器的选择seo的工作原理
  • 西安网站建设bieleng怎么搜索关键词
  • 现在的网站是用什么软件做的中国女排联赛排名
  • 长宁网站建设无锡做网站的公司
  • 三门峡住房和建设局网站软文新闻发稿平台
  • 服务好的徐州网站建设网站都有哪些
  • 免费php网站海南百度推广seo
  • 建网站需要什么技术数字营销公司排行榜