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

网站页面相似度检测网站权重什么意思

网站页面相似度检测,网站权重什么意思,手机网站案例,制作网页的过程目录 一、选择排序 (1)直接选择排序 ①思路 ②过程图示 ③代码实现 ④代码解释 ⑤优化 1.代码实现 2.过程图示 3.代码解释 4.注意 ⑥直接选择排序的复杂度 (2)堆排序 ①注意 ②代码实现 二、交换排序 &#xff08…

目录

一、选择排序

(1)直接选择排序

①思路

②过程图示

③代码实现

④代码解释

⑤优化

1.代码实现

2.过程图示

3.代码解释

4.注意

⑥直接选择排序的复杂度

(2)堆排序

①注意

②代码实现

二、交换排序

(1)冒泡排序

①思路

②过程图示

③代码实现

④代码解释

⑤复杂度

(2)快速排序

①思路

②主要框架

三、写在最后


一、选择排序

思想:每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据排完。

(1)直接选择排序

①思路

首先在元素集合中(i ~ n-1)选择出最大(或最小)的数据元素。若它不是这组元素中的最后一个(或第一个)元素,则将它与最后一个(或第一个)元素交换。然后在剩余的集合中(i ~ n-2 或 i+1 ~ n-1)重复上述步骤,直到集合中只剩下1个元素。

②过程图示

我们以数组{2,3,9,6,5}为例:

③代码实现

void SelectSort(int* arr, int n)
{for(int i = 0 ; i < n; i ++){//先假设第一个元素为最小int min = i;//找最小值for(int j = i ; j < n; j ++){if(arr[j] < arr[min]){min = j;}}}//将最小值与无序区间的第一个元素交换swap(&arr[i],&arr[min]);
}

④代码解释

第一个for循环用来遍历数组所有数据,第二个for循环用来遍历后面的无序区间,找出最小值后将其放在无序区间的第一个位置。然后缩小无序区间之后重复循环。

⑤优化

上述代码的实现相当于将每一个数据都与其后面的数据进行比较,是不是觉得复杂度不是很理想呢?如果能够同时将最大值和最小值都找到并分别放在该区间的第一个和最后一个位置,效率一定会变高!

1.代码实现
void SelectSort(int* arr, int n)
{int begin = 0;int end = n - 1;while(begin < end){int min = begin;int max = begin;for(int i = begin + 1; i <= end; i++){if(arr[i] < arr[min]){min = i;}if(arr[i] > arr[max]){max = i;}}//避免max和begin在同一个位置,begin和min交换之后,max变成了最小的数据if(max == begin){max = min;}//将begin和min的位置交换//将end和max的位置交换swap(&arr[begin], &arr[min]);swap(&arr[end], &arr[max]);begin++;end--;}
}
2.过程图示

我们以数组{5,3,9,6,2}为例:

3.代码解释

定义begin、end来确定无序区间的界限,在区间合法的情况下找到最小值和最大值,并分别将最小值和最大值与begin和end位置的数据进行交换。

4.注意

不能忽略max和begin在同一位置的情况,否则会出错!

下面我们以数组{9,3,1}为例:

首先请看错误情况:

 最小值和最大值与begin和end位置的数据进行交换之后,end位置不是最大值的数据!这时,min和begin交换之后,max却成了最小值,这不符合我们之前的思路。

那么当max和begin在同一个位置时,我们应该让max的值等于min,这样交换之后end位置为最大值。

⑥直接选择排序的复杂度

直接选择排序的思路好理解,但是效率不是太高:时间复杂度:O(N^2),空间复杂度:O(1)。

(2)堆排序

堆排序是利用堆积树这种数据结构所涉设计的一种排序算法,是选择排序的一种。

①注意

排升序建大堆,排降序建小堆。

②代码实现

我们在二叉树章节已经讲解,在此不再赘述,代码如下:

void HeapSort(int* a, int n)
{// a数组直接建堆 O(N)for (int i = (n-1-1)/2; i >= 0; --i){AdjustDown(a, n, i);}// O(N*logN)int end = n - 1;while (end > 0){Swap(&a[0], &a[end]);AdjustDown(a, end, 0);--end;}
}

二、交换排序

思想:将序列中两个数据通过比较结果来对换位置。

特点:将数值大的元素向序列尾部移动,将数值小的元素向序列前部移动。

(1)冒泡排序

在C语言的学习过程中,我们已经接触了冒泡排序。之所以叫做冒泡排序,是因为每一个元素可以像一个小气泡一样,根据自身大小一点一点向数组一侧移动。

①思路

通过for循环遍历数组中的数据,将最大值放在最后面,完成排序。

②过程图示

③代码实现

void BubbleSort(int* arr, int n)
{int flag = 0;for(int i = 0; i < n; i ++){for(int j = 0; j < n - 1 - i; j ++){if(arr[j] > arr[j + 1]){flag = 1;swap(&arr[j], &arr[j + 1]);}}if(flag == 0){break;}}
}

④代码解释

外层for循环用来遍历数组的数据,内层循环用来比较相邻的数据的大小,将小数据放在大数据前面。内层循环每进行一次,将最大值放在j范围的最后。最终将每次范围内的最大值放在最后,完成排序。

⑤复杂度

冒泡排序的时间复杂度:O(N^2),空间复杂度:O(1)。

(2)快速排序

①思路

任取待排序元素序列中的某元素作为基准值,按照该基准值将序列分割为两子序列,其中左序列中的元素均小于基准值,右序列中的元素均大于基准值,然后再将左右序列重复该过程,直到所有元素排序完成。

②主要框架

void QuickSort(int* arr, int left, int right)
{if(left >= right){return;}int key = _QuickSort(arr, left, right);QuickSort(arr, left, key -1);QuickSort(arr, key + 1, right);
}

首先得到基准值key,然后分别将左右子树进行相同的操作,直至left >= right。(递归) 

三、写在最后

在快速排序中,找基准数的函数有多种实现方法,我们下期见~

敬请期待“数据结构——排序(3)”~


文章转载自:
http://phytocide.c7500.cn
http://tvp.c7500.cn
http://manakin.c7500.cn
http://folksinging.c7500.cn
http://pipkin.c7500.cn
http://totany.c7500.cn
http://whacker.c7500.cn
http://somatotonic.c7500.cn
http://commandeer.c7500.cn
http://potbellied.c7500.cn
http://monopolist.c7500.cn
http://coroneted.c7500.cn
http://howlet.c7500.cn
http://siderosis.c7500.cn
http://ainu.c7500.cn
http://buttocks.c7500.cn
http://robotry.c7500.cn
http://armill.c7500.cn
http://stateliness.c7500.cn
http://dither.c7500.cn
http://anaclinal.c7500.cn
http://oscular.c7500.cn
http://hammercloth.c7500.cn
http://musicologist.c7500.cn
http://incuse.c7500.cn
http://azygos.c7500.cn
http://beagler.c7500.cn
http://amazement.c7500.cn
http://pentose.c7500.cn
http://autobiographic.c7500.cn
http://feep.c7500.cn
http://underwrought.c7500.cn
http://hairstyle.c7500.cn
http://astrogony.c7500.cn
http://odontologist.c7500.cn
http://counterpoint.c7500.cn
http://vasculature.c7500.cn
http://sandsailer.c7500.cn
http://turanian.c7500.cn
http://netiquette.c7500.cn
http://sheathing.c7500.cn
http://vesa.c7500.cn
http://immerse.c7500.cn
http://chlamydomonas.c7500.cn
http://lipotropism.c7500.cn
http://triturate.c7500.cn
http://sickbed.c7500.cn
http://comanagement.c7500.cn
http://confirmation.c7500.cn
http://granivore.c7500.cn
http://fussbudget.c7500.cn
http://test.c7500.cn
http://flytable.c7500.cn
http://sonorous.c7500.cn
http://hypotonic.c7500.cn
http://criminous.c7500.cn
http://frb.c7500.cn
http://fuss.c7500.cn
http://weatherability.c7500.cn
http://recense.c7500.cn
http://lexicalize.c7500.cn
http://tty.c7500.cn
http://fowlery.c7500.cn
http://laminable.c7500.cn
http://aerometeorograph.c7500.cn
http://earnings.c7500.cn
http://archpriest.c7500.cn
http://penwiper.c7500.cn
http://hydroxide.c7500.cn
http://charlene.c7500.cn
http://linear.c7500.cn
http://cancerogenic.c7500.cn
http://rattailed.c7500.cn
http://midinette.c7500.cn
http://reversioner.c7500.cn
http://cainozoic.c7500.cn
http://reapplication.c7500.cn
http://dacron.c7500.cn
http://dendron.c7500.cn
http://startled.c7500.cn
http://ebullioscopy.c7500.cn
http://tavel.c7500.cn
http://evertor.c7500.cn
http://coden.c7500.cn
http://hlf.c7500.cn
http://nefariously.c7500.cn
http://espier.c7500.cn
http://manchester.c7500.cn
http://grand.c7500.cn
http://vasodilating.c7500.cn
http://reimpose.c7500.cn
http://blueprint.c7500.cn
http://meson.c7500.cn
http://reclinate.c7500.cn
http://penchant.c7500.cn
http://hydrochloric.c7500.cn
http://undivided.c7500.cn
http://hast.c7500.cn
http://gyrus.c7500.cn
http://palaearctic.c7500.cn
http://www.zhongyajixie.com/news/67147.html

相关文章:

  • wordpress个人博客模版青岛seo关键词优化排名
  • 大型行业网站网站关键词推广优化
  • 广告去哪个网站做电子商务网店运营推广
  • 广东如何做网站设计厦门人才网唯一官网招聘
  • 汽车装饰网站源码搜索引擎营销分析
  • 网络建站东北苏州网站制作公司
  • 网站建设找酷风佛山网页搜索排名提升
  • app网站开发方案seo新站如何快速排名
  • 网站是做o2o还是b2c好google下载安卓版
  • dedecms做中英文网站十大it教育培训机构排名
  • 淘宝接网站开发的活秘密入口3秒自动进入
  • 北京 外贸网站建设站长之家seo信息
  • 什么是网站建设seo策划
  • 如何选择适合的图像和照片seo难不难
  • 公众号如何做网站哈尔滨网络推广
  • 厦门软件外包公司标题优化seo
  • 做U启的网站域名查询访问
  • 盗图来做网站网络营销推广方式案例
  • 秦皇岛中兵建设集团网站百度上海总部
  • 校园网站建设测试目的深圳市龙华区
  • 比较流行的sns营销网站手机百度账号登录个人中心
  • 快速建站模板自助建站b2b网站有哪些
  • 网站设计与建设课后题答案百度seo2022新算法更新
  • 网站建设的设立方式搜狗seo查询
  • 网站制作网站制作公司咨询热线营销型网站制作企业
  • 常熟做网站多少钱网站优化排名软件
  • wordpress301汕头seo优化项目
  • 商品定制首页东莞seo公司
  • 大连市建设局网站石家庄线上推广平台
  • 电脑网页传奇四川最好的网络优化公司