首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
南风以南
掘友等级
摸鱼校尉
|
python公众号:不灵兔
python开发工程师
获得徽章 8
动态
文章
专栏
沸点
收藏集
关注
作品
赞
23
文章 21
沸点 2
赞
23
返回
|
搜索文章
最新
热门
Python 实现·数据结构与算法之双向链表
表元素域elem用来存放具体的数据。 关注微信公众号【不灵兔】,获取更多免费资源,生活不易,拜托了。。。。
Python 实现·数据结构与算法之单向循环链表
单向循环链表定义节点示意图单向循环链表示意图单向循环链表的基本操作is_empty()判断链表是否为空length链表长度travel()遍历整个链表,打印元素add(item)在链表头部添加元素ap
Python 实现·数据结构与算法之单向链表
单向链表定义节点示意图单向链表示意图单向链表的基本操作is_empty()判断链表是否为空length链表长度travel()遍历整个链表,打印元素add(item)在链表头部添加元素append(i
python实现·十大排序算法之桶排序(Bucket Sort)
按顺序访问桶,将桶中的元素依次放回到原序列中对应的位置,完成排序。 最好情况:输入序列是排好序的,插入排序的时间复杂度在,即最好情况下时间复杂度为。 最坏情况:对于待排序序列大小为 ,共分为 个桶,需进行次循环,将每个元素装入对应的桶中;次循环,对每个桶中的数据进行排序(平均每…
python实现·十大排序算法之基数排序(Radix Sort)
重复3~4过程,直到最高位,即可完成排序。 设待排序的数组,数组中最大的数是位数,基数为(十进制基数为10,数字0~9,最多需要10个桶来映射数组元素)。处理一位数,需要将数组元素映射到个桶中,映射完成后还需要收集,相当于遍历整个数组,则遍历一位数的时间复杂度为。所以,总的时间…
python实现·十大排序算法之计数排序(Counting Sort)
将待排序集合每一个元素移动到计算得出的正确位置上。 数据取值范围是常数 k,待排序元素个数是 n,总的时间复杂度是 。 计数排序只需要额外的空间复杂度为,所以计数排序的空间复杂度为。 计数排序不会改变相等元素的相对位置,所以计数排序是稳定的。
python实现·十大排序算法之堆排序(Heap Sort)
构造初始堆。将给定无序序列构造成一个大顶堆(一般升序采用大顶堆,降序采用小顶堆); 将堆顶元素与末尾元素进行交换,使末尾元素最大。然后继续调整堆,再将堆顶元素与末尾元素交换,得到第二大元素; 如此反复进行交换、重建、交换,直到整个序列有序。 在每次重建时,随着堆的容量的减小,层…
python实现·十大排序算法之希尔排序(Shell Sort)
每趟排序根据对应的增量,将待排序列分割成若干长度为的子序列,分别对各子序列进行直接插入排序。当增量因子为1 时,整个序列作为一个序列来处理,排序完成。 当一开始为顺序时,效率最高,时间复杂度最好,为;当一开始为逆序时,效率最低,时间复杂度最坏,为。希尔排序的时间复杂度是取决于增…
python实现·十大排序算法之归并排序(Merge Sort)
将两个排序好的子序列的元素拿出来,按照顺序合并成一个最终的序列,即可完成排序。 归并排序时间复杂度计算公式:排序总时间=子序列排序时间+合并时间。 每次递归需要用到一个辅助表,长度与待排序的表相等,虽然递归次数是,但每次递归都会释放掉所占的辅助空间,下次递归的栈空间和辅助空间与…
python实现·十大排序算法之快速排序(Quick Sort)
首先设定一个分界值(pivot),通过该分界值将数组分成左右两部分。 将大于或等于分界值的数据集中到数组右边,小于分界值的数据集中到数组的左边。此时,左边部分中各元素都小于或等于分界值,而右边部分中各元素都大于或等于分界值,这个称为分区(partition)操作。 然后,左边和…
下一页
个人成就
文章被点赞
14
文章被阅读
18,407
掘力值
483
关注了
10
关注者
18
收藏集
12
关注标签
15
加入于
2020-05-19