- 博客(15)
- 资源 (1)
- 收藏
- 关注
原创 08-十大排序算法-桶排序-Python实现
桶排序(Bucket sort)或所谓的箱排序,是一个排序算法,工作的原理是将数组分到有限数量的桶里。每个桶再个别排序(有可能再使用别的排序算法或是以递归方式继续使用桶排序进行排序),最后依次把各个桶中的记录列出来记得到有序序列。桶排序是鸽巢排序的一种归纳结果。当要被排序的数组内的数值是均匀分配的时候,桶排序使用线性时间(Θ(n))。但桶排序并不是比较排序,他不受到O(n log n)下限的影响。核心思想:就是将大问题化小(分治思想)(1)例如:数组:(2)观察知:数组的元素分布在(0。
2023-08-05 13:57:13 75
原创 07-十大排序算法-堆排序-Python实现
思想准备:什么是堆?什么是大根堆和小根堆?堆是具有以下性质的完全二叉树:父节点的数据大于子节点的数据称之为大根堆,可以用来做升序;父节点的数据小于子节点的数据称之为小根堆,可以用来做降序。对于上面的数组{4,6,8,5,9}来说可以构成如下的树:将它构成大根堆或者小根堆则如下图所示:基本思想:将待排序序列构成一个大顶堆,此时,整个序列的最大值就是堆顶的根节点。
2023-08-05 13:56:03 96
原创 06-十大排序算法-快速排序-Python实现
基本思想:(1)在待排序的元素任取一个元素作为基准(通常选第一个元素,但最好的选择方法是从待排序元素中任选一个作为基准),称之为基准元素;(2)将待排序的元素进行分区,比基准元素大的元素放在它的右边,比其小的放在它的左边;(3)对左右两个分区重复以上步骤直到所有元素都是有序的;
2023-08-05 09:53:03 77
原创 05-十大排序算法-归并排序-Python实现
基本思想:利用归并的思想实现的排序算法,该算法采用经典的分治策略。分治法分为两个阶段,首先是分阶段,分阶段将问题分成一系列小的问题然后进行递归求解,然后是治阶段,治阶段将分阶段得到的各个答案“修补”在一起,这就是分而治之。算法实现:对于一个无序序列{4,6,8,5,9}我们使用分治策略可以画出如下图所示,可以看出这种结构很像一颗树,所以我们可以使用递归的方式去实现,分阶段是递归拆分子序列的过程,而治阶段则是将两个已经有序的子序列合并成一个有序的序列。
2023-08-05 09:51:32 60
原创 04-十大排序算法-希尔排序-Python实现
基本思想:希尔排序是把序列按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量的逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个序列恰好被分为一组,算法便终止。算法实现:希尔排序需要定义一个增量,这里选择增量为gap=length/2,缩小增量以gap=gap/2的方式,这个增量可以用一个序列来表示,{n/2,(n/2)/2…1},称为增量序列,这个增量是比较常用的,也是希尔建议的增量,称为希尔增量,但其实这个增量序列不是最优的。
2023-08-05 09:50:57 29
原创 03-十大排序算法-冒泡排序-Python实现
基本思想:对相邻的元素进行两两比较,顺序相反则进行交换,这样,每一趟会将最小或最大的元素“浮”到顶端,最终达到完全有序。算法实现:对于前面的无序序列arr{4,6,8,5,9}来说,我们可以定义一个i和j,用i记录有序子序列的最后元素的下标,j进行从左到右的遍历并比较当前数据元素和后一个数据元素,若当前的数据元素比后一个数据元素大,就相互交换,这样一直相互比较直到序列有序即可。
2023-08-05 09:50:30 19
原创 02-十大排序算法-插入排序-Python实现
基本思想:每一步将一个待排序的数据插入到前面已经排好序的有序序列中,直到插完所有元素为止。算法实现:直接插入排序是将无序序列中的数据插入到有序的序列中,在遍历无序序列时,首先拿无序序列中的首元素去与有序序列中的每一个元素比较并插入到合适的位置,一直到无序序列中的所有元素插完为止。对于一个无序序列arr{4,6,8,5,9}来说,我们首先先确定首元素4是有序的,然后在无序序列中向右遍历,6大于4则它插入到4的后面,再继续遍历到8,8大于6则插入到6的后面,这样继续直到得到有序序列{4,5,6,8,9}。
2023-08-05 09:49:10 21
原创 Django-WebSocket-Channels项目使用
channels通过升级http协议 升级到websocket协议。也就是说,我们完全可以用channels实现我们的即时通讯。而不是使用长轮询和计时器方式来保证伪实时通讯。之前django-websocket退出到3.0之后,被废弃。官方推荐大家使用channels。他通过改造django框架,使django既支持http协议又支持websocket协议。Python3.8.6版本。
2023-02-23 10:16:29 349
原创 Django-Web-Socket的supervisor配置和nginx
【代码】Django-Web-Socket的supervisor配置和nginx。
2023-02-23 10:15:53 131
原创 workflow 的审批流程的业务实现一
关于workflow 的审批流程的业务实现<一>文章目录关于workflow 的审批流程的业务实现<一>一、业务背景二、业务分析2.1用户表单设计2.2用户流程定义2.3用户发起审批2.4进行审批版本时间变更内容作者备注v1.02021/11/13创建[email protected]微信号:henry_oulen一、业务背景工作流在工作中非常常见,一般的业务系统中例如下面的例子因此开发出一个审批
2021-11-13 22:46:53 2598 2
北京黑马JavaEE32期就业班视频
2018-03-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人