<div>基数排序是一种分配排序,其基本思想是:排序过程无须比较关键字,而是通过&ldquo;分配&rdquo;和&ldquo;收集&rdquo;过程来实现排序。它们的时间复杂度可达到线性O(n)。基数排序所做的事情,是对N位分别进行排序。从直觉上来看,人们可能会觉得应该首先按最高有效位进行排序,不过这点与我们的直觉相反,基数排序首先对最低有效位数字进行排序。如果我们每次比较r bits,则需要进行b/r趟,每趟进行计数排序需要O(n+2^r),则总的时间复杂度为O(b/…

2020年1月17日 0条评论 1442点热度 0人点赞 code 阅读全文

<p>输入一行字符串,统计每个元音字母在字符串中出现的次数。</p>

2020年1月17日 0条评论 1840点热度 1人点赞 code 阅读全文

<div></div> <div>1.堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法。<br /> &nbsp; 堆是一个近似完全二叉树的结构,并同时满足堆性质:即孩子节点的键值或索引总是小于(或者大于)它的父节点。(假定一组数据的第n(n&gt;=0)个数是一个父节点,那么对应第2n+1和第2n+2个数便是它的孩子节点,孩子节点最多两个)<br /> 2.堆排序的思想<br /> &nbsp; 利…

2020年1月17日 0条评论 1623点热度 0人点赞 code 阅读全文

<p></p> <p>&nbsp; shell排序的基本思想是:<br /> &nbsp; 先取一个小于n的整数d1作为第一个增量,把文件的全部记录分成d1个组。所有距离为d1的倍数的记录放在同一个组中。先在各组内进行直接插人排序;然后,取第二个增量d2&lt;d1重复上述的分组和排序,直至所取的增量dt=1(dt&lt;dt-1&lt;⋯&lt;d2&lt;d1),即所有记录放在同一组中进行直接插入排序为止。&…

2020年1月17日 0条评论 1454点热度 0人点赞 code 阅读全文

<p></p> <p>有数列{6 58 14 2 19 354 684 4}<br /> (1)申请一个数组q,准备存放合并后的序列<br /> (2)将原序列拆分为左序列{6 58 14 2}与右序列{19 354 68 4}<br /> (3)将左右数组分别有序排列成{2 6 14 58}及{4 19 68 354} [这一过程通过递归重复(2)~(7)实现]<br /> (4)设定i,j分别为两序列的初始位置<br /&…

2020年1月17日 0条评论 1887点热度 0人点赞 code 阅读全文

<p>输入M*N的矩阵(M行 N列),输出它的转置矩阵。</p>

2020年1月17日 0条评论 1658点热度 0人点赞 code 阅读全文