数据结构
文章平均质量分 63
子藤杜
文艺代码狗
展开
-
桶排序
今天看到一个简单又感觉巧妙的排序——桶排序如图所示,我们如何对5 3 5 2 8(0分-10分数范围内)进行排序?首先我们需要准备好题意0-10整个范围的桶li_tong,其中len(li_tong)=11,其中桶数组中的index表示0-10范围内的顺序分数值,数组中每个index下的值表示每个分数在带排序数据中出现的次数然后把带排序的数字都放入桶数组中的各个桶中最后将各个桶的代表的分数值顺序打印出来,则是排序后的结果,其中每个分数需要打印每个桶中的数字也就是带排序数组中数字出现的次数,便得到原创 2021-01-10 17:46:36 · 143 阅读 · 0 评论 -
数据结构(一)——数组
数组数组可以说是一种最简单的数据结构,它占据一块连续内存并按照顺序存储数据。我们在创建数组是要首先指定数组的空间大小,假如我们只在这个数组中存储一个数据,那也是占据着整块内存,所以它的空间效率并不高。因为数组中的内存是连续的,所以我们可以下标在O(l)时间读写任何元素,因此它的时间效率是很高的。 我们可以根据数组时间效率高的优点,用数组来实现简单的哈希表:把数组的下标设为哈希表的键值(Key),而原创 2018-03-07 12:19:00 · 478 阅读 · 0 评论 -
使用Python实现八大排序之归并排序
归并排序归并排序其实就是将一个长度为n数组拆分成一个个长度为1的子序列,然后再通过两两进行对比,组成n/2个长度为2的有序数组,然后再两组两组进行对比组合形成n/4个长度为4的有序数组,直至将整个数组排序完成。 下图更加形象的向我们展示了归并排序的整个流程。 那对于一个数组的归并排序其实总的来说就是两个步骤:分解和组合。分解就是将数组分割成一个个长度为1的子序列,组合就是想子序列进行组...原创 2018-04-06 15:32:11 · 499 阅读 · 0 评论