02 2020 档案
摘要:一、基本介绍 归并排序是采用分治的策略实现排序的一种方法,即将问题分为若干个小问题,递归的去求解,然后将各个小问题合在一起,便完成整个排序过程。 二、排序过程 对数组arr = [9 , 4 , 5 , 3 , 7 , 1 , 6 , 2 ] 从小到大排序: 1. 首先要将数组分成多个小的部分,
阅读全文
摘要:一、基本介绍 基数排序属于稳定的排序,排序时将待比较数统一数位长度,数位较短的数前面补零;然后从最低位开始,依次进行一次排序,这样从最低位一直到最高位排序完成之后,待排序数组便完成排序。 二、排序过程 对数组arr = [3 , 52 , 67 , 57 , 720 ] 从小到大排序过程如下:
阅读全文
摘要:一、基本介绍 冒泡排序是对冒泡排序的一种改进,其基本思想是:通过一趟排序将待排序数据分割成独立的两个部分,其中一部分比另一部分的最小数据还要小,然后在依照此方法对两部分数据分别使用快速排序,最终形成有序序列。 二、排序过程 对数组[2 , 10 , 33 , 6 , 21 , 3 , 18] 从
阅读全文
摘要:一、基本介绍 希尔排序也是一种插入排序,它是简单插入排序经过改进之后的一个更加高效的版本,也称为缩小增量排序。 在排序过程中,把待排序数据按照一定增量分组,对每组数据使用直接插入排序算法进行排序;随着增量的减小,每组的数据越来越多;当增量减少为 1 时,整个数据被分为一组,算法终止,排序完成
阅读全文
摘要:一、基本介绍 插入排序是将 n 个待排序的元素看成一个有序表和一个无序表,开始时有序表中只包含一个元素,无序表中包含 n 1 个元素,排序过程中每次从无序表中取出第一个元素,依次与有序表进行比较,将它插入到合适的位置,形成一个新的有序表。 二、排序过程 对数组[100 , 20 , 80 , 8
阅读全文
摘要:一、基本介绍 冒泡排序是从带排序的数据中,按照某一排序规则(从大到小或者从小到大)选出某一元素,在依规定交换位置达到排序的目的。 二、排序过程 对数组[100 , 20 , 80 , 8 ] 从小到大排序过程如下: 1. 第一趟排序 从数组 [100 , 20 , 80 , 8 ] 第一个位置起
阅读全文
摘要:一、基本介绍 冒泡排序是通过对待排序序列从前向后,依次比较相邻元素的值,如果逆序则交换顺序,使值大的元素移向后部。冒泡排序是一种稳定的算法,时间复杂度 O(n2)。 二、排序过程 对数组 [10 , 20 , 13 , 8 ] 的排序过程如下: 1. 第一趟排序 第一次排序:10和20比较大小,
阅读全文
摘要:一、问题描述 将一个带有头结点的单向列表反转,如将 head node1 node2 node3 转换成 head node3 node2 node1。 二、解决思路 1. 定义一个新的头结点; 2. 遍历原链表的结点,每遍历到一个结点便将该结点取出添加到新链表的第一个位置; 3. 原链表遍历完成之
阅读全文
摘要:1、队列的定义 队列是一个有序列表,可以使用数组或者链表来实现。其遵循先入先出原则,即先存入队列的元素要先取出;后存入队列的元素要后取出。 2、数组模拟队列的分析 使用数组的结构来存储队列的数据,需要声明一个最大容量以及两个变量来存储首尾位置。 赋初始值首指针 front = 0,尾指针 rea
阅读全文
posted @ 2020-02-13 15:22
xhanglog
摘要:1、工作队列 两个消费端共同消费同一个队列中的消息。对于任务过重或任务较多情况使用工作队列可以提高任务处理的速度。一条消息只会被一个消费者接受;采用轮询的方式将消息平均发送给消费者;消费者在处理完某条消息后才会收到下一条消息。 2、 消息/订阅模式 每个消费者监听自己的队列;生产者将消息发送给b
阅读全文

浙公网安备 33010602011771号