1 /* 2 线性表的排序算法 3 cza 4 2020/7/1 5 */ 6 #include<iostream> 7 #include<stdio.h> 8 int num[100]; 9 using namespace std; 10 11 int getMix(int left,int ri ...
分类:
编程语言 时间:
2020-08-27 17:06:03
阅读次数:
59
排序 选择排序、快速排序、希尔排序、堆排序不是稳定的排序算法,而冒泡排序、插入排序、归并排序和基数排序是稳定的排序算法 (稳定的排序是指排序前后相同的两个数的相对位置是一致的) 一.冒泡排序 1.算法描述 比较相邻元素,如果第一个比第二个大,交换位置,这样每经过一趟就冒出一个最大的 2.代码实现 p ...
分类:
编程语言 时间:
2020-08-19 19:14:17
阅读次数:
66
一、基本概念 在计算机科学中,分治法是一种很重要的算法。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。这个技巧是很多高效算法的基础,如排序算法(快速排序,归并排序),傅 ...
分类:
编程语言 时间:
2020-08-09 21:34:51
阅读次数:
86
写在前面 最近不少读者找我要大数据面试题,我整理了很久,筛选出这10道容易出错的大数据面试题,希望对大家有所帮助。题目与解答整理自互联网,感谢分享这些面经的技术大牛们! 题目概览 如何从大量的 URL 中找出相同的 URL?(百度) 如何按照 query 的频度排序?(百度) 如何统计不同电话号码的 ...
分类:
其他好文 时间:
2020-08-08 00:32:59
阅读次数:
53
简单介绍和实现基础的排序算法:冒泡排序、插入排序、选择排序、归并排序、快速排序 ...
分类:
编程语言 时间:
2020-08-05 10:40:42
阅读次数:
81
/*冒泡排序 算法思路: 1、比较相邻的元素。如果第一个比第二个大,就交换它们两个; 2、对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对,这样在最后的元素应该会是最大的数; 3、针对所有的元素重复以上的步骤,除了最后一个; 4、重复步骤1~3,直到排序完成。 */ public clas ...
分类:
编程语言 时间:
2020-07-30 18:19:42
阅读次数:
67
/*快速排序 算法思路: 1、在待排序的N个记录中任取一个元素(通常取第一个记录)作为基准,称为基准记录; 2、定义两个索引 left 和 right 分别表示“首索引” 和 “尾索引”,key 表示“基准值”; 3、首先,尾索引向前扫描,直到找到比基准值小的记录(left != righ),并替换 ...
分类:
编程语言 时间:
2020-07-30 16:51:14
阅读次数:
72
利用Java语言实现七大经典排序算法:冒泡排序、选择排序、插入排序、希尔排序、堆排序、归并排序以及快速排序。 分类 类别 算法 插入排序类 插入排序、希尔排序 选择排序类 选择排序、堆排序 交换排序类 冒泡排序、快速排序 归并排序类 归并排序 复杂度 算法 平均情况 最好情况 最坏情况 辅助空间 稳 ...
分类:
编程语言 时间:
2020-07-30 01:51:43
阅读次数:
111
冒泡排序(英语:Bubble Sort)是一种简单的排序算法。此算法依次比较序列的两个元素的大小,如果元素的顺序错误,就交换其位置,直到序列的元素变得有序才停止遍历。 时间复杂度O(n²) 交换过程如下图: 图片来源:https://blog.csdn.net/u014745194 代码1 升序 l ...
分类:
编程语言 时间:
2020-07-29 15:35:02
阅读次数:
97
八种排序算法可以按照如图分类,本文主要介绍快速排序。 交换排序 所谓交换,就是序列中任意两个元素进行比较,根据比较结果来交换各自在序列中的位置,以此达到排序的目的。 快速排序 快速排序的思想很简单,就是先把待排序的数组拆成左右两个区间,左边都比中间的基准数小,右边都比基准数大。接着左右两边各自再做同 ...
分类:
编程语言 时间:
2020-07-29 15:15:23
阅读次数:
74