摘要: 快速排序算法流程 选定一个基准值(任意选,以第一个为例) 定义左右指针指向左右两端 左指针往右移动,如果遇到大于基准值的数就把它和右指针的值调换位置,然后左指针不动,右指针开始向左移动,如果遇到小于基准值的数就把他和左指针的值调换位置,然后开始移动左指针,以此类推,知道左右指针相遇 递归上述过程知道 阅读全文
posted @ 2020-05-26 16:01 KainHuck 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 归并排序算法流程 并归排序采用的是分治的思想,先将乱序的数组逐级拆分成一个个小部分,最底层每个部分长度为一(各个部分视为有序),然后在将有序的部分按照完全二叉树两两合并逐级往上,直到排序结束 参考如下图片(来源:https://www.cnblogs.com/chengxiao/p/6194356. 阅读全文
posted @ 2020-05-26 15:27 KainHuck 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 归并排序算法流程 并归排序采用的是分治的思想,先将乱序的数组逐级拆分成一个个小部分,最底层每个部分长度为一(各个部分视为有序),然后在将有序的部分按照完全二叉树两两合并逐级往上,直到排序结束 参考如下图片(来源:https://www.cnblogs.com/chengxiao/p/6194356. 阅读全文
posted @ 2020-05-26 15:08 KainHuck 阅读(497) 评论(0) 推荐(0) 编辑
摘要: 在golang中channel用于goroutine之间的通信,在阅读这篇文章之前,我已经默认你已经熟悉了(至少了解了)goroutine 1. channel的定义 channel是引用类型,需要实用make来创建channel,如下 make(chan Type, [buffer]) make对 阅读全文
posted @ 2020-05-26 14:12 KainHuck 阅读(2954) 评论(0) 推荐(0) 编辑
摘要: 快速排序算法流程 选定一个基准值(任意选,以第一个为例) 定义左右指针指向左右两端 左指针往右移动,如果遇到大于基准值的数就把它和右指针的值调换位置,然后左指针不动,右指针开始向左移动,如果遇到小于基准值的数就把他和左指针的值调换位置,然后开始移动左指针,以此类推,知道左右指针相遇 递归上述过程知道 阅读全文
posted @ 2020-05-26 00:23 KainHuck 阅读(595) 评论(0) 推荐(0) 编辑