计数排序详解以及java实现
前言
我们知道,通过比较两个数大小来进行排序的算法(比如插入排序,合并排序,以及上文提到的快速排序等)的时间复杂度至少是Θ(nlgn),这是因为比较排序对应的决策树的高度至少是Θ(nlgn),所以排序最坏情况肯定是Θ(nlgn)。那有没有哪种排序算法的时间复杂度是线性的(Θ(n))呢?(因为我们如果要对一个数组排序,肯定至少要考察每个元素,因此可以推断Θ(n)是所有排序算法的下界)。答案是:在一定条件下,是有的。
思考过程
为了更好的理解计数排序,我们先来想象一下如果一个数组里所有元素都是整数,而且都在0-k以内。那对于数组里每个元素来说,如果我能知道数组里有多少项小于或等于该元素。我就能准确地给出该元素在排序后的数组的位置。
拿上图这个数组来说,元素5之前有8个元素小于等于5(含5本身),因此我排序后5所在的位置肯定是8.所以我只要构造一个(k+1)大小的数组,里面存下所有对应A中每个元素之前的元素个数,理论上就能在线性时间内完成排序。
算法过程
根据以上说明,我们能得出计数算法的过程:
- 初始化一个大小为(k+1)的数组C(所有元素初始值为0),遍历整个待排序数组A,将A中每个元素对应C中的元素大小+1。操作结果见下图:
aaarticlea/png;base64,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" alt="" />
我们可以得到原数组中有2个0,0个1,2个2,3个3,0个4,1个5.
2.我们将C中每个i位置的元素大小改成C数组前i项和(基于之前的算法思考,我们不难理解这么做的道理):
aaarticlea/png;base64,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" alt="" />
3.OK,现在我们已经快看到成功的曙光了。现在要做的就是初始化一个和A同样大小的数组B用于存储排序后数组,然后倒序遍历A中元素(后面会提到为何要倒序遍历),通过查找C数组,将该元素放置到B中相应的位置,同时将C中对应的元素大小-1(表明已经放置了一个这样大小的元素,下次再放同样大小的元素,就要往前挤一个位置)。遍历完A数组后,就完成了所有的排序工作(只画出了前3步):
aaarticlea/png;base64,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" alt="" />
aaarticlea/png;base64,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" alt="" />
aaarticlea/png;base64,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5ocPH9I0vWbNGryCmUlubi6kSbFj4ffee4+iKIFAQNM0s9AzyxaGuDATExMTdix8+vRpmqaZxdKk4sL4QWJhRRaegxALy+HSpUvnzp3bs2fPN99809DQ0N3dvXv37oMHD547d+7vv/9mrRkHDx7cvXt3RUVFZmamm5vb/Pnz4Ua4oqJiy5YtBw8efPTo0Wy3gWlhJyeniOl4e3u7ubn19/ezY+Evv/zS398fovNQxPLkyZMHDx709fX19vZuaGhYv349C83466+/zk0nODjY19eXoqjFixefO3fu+vXrs/TWd+7cOXfu3N27d6emps6fP3/w4MHU1NSIiIgffvgBKkw9fPjw4MGDIpHoHbfw3bt3z507x1oFWi0hFlbGkydPaJr+v//7P728+7p16yArdtmyZbhooY+PD0KopaWFpulbt27NdhuYFlYEayuY9+zZg29N4KYE50jot5pPRkYG+zkSzHyeoaEhmMMgORJvIsTCynj9+vXVq1dZkJ1crl69Ojk5eerUqWPHju2RcOjQoVOnTl26dOnq1asspIK+evXq6tWrP/30U6k8tm7dumfPnsnJydkb/TG5c+fOqVOn4Jepvr6+u7u7rKyssLCwpKSkpqbm6tWrLBf8nJqa+umnn3bu3Oni4uLg4ACFfbu7u7/99ttZersrV67s3LkTMlJu37599erV9PT00NDQgoKCioqKnTt3rlu3ztfXd/HixaGhocPDw1evXtW4ps/u3btZngV5ZyEWJswM7Hgki17Wzn366adSS8X0uOPR2NgYMy5sZ2cH2TWz9HaycWGpypZVVVW6qvL+/vvvb9q0ae4kErzFvP0WPnTo0JYtWyCURtCMV69e3ZeHXioVPHz48MZ07t27JzczlJ3G3L9/v6OjQywWT0xMXL58GdozS2/3/Pnz+/fvM++B/v777xs3bvT19XV2dmZlZRUUFLS0tHz22Wc3btyAaYMjR45s2bJFgwjpgwcP9HVW3zXefgtDDUayZzth9ti4ceOHH36oxwasX79+YGAAIZSfn0/T9P79+/FT+/bto2ma/VgNQXXeZgu3t7fD2lZjY2NTU1MzFvH29l61apWvry9+JC4ubtWskZGRsUEfvClz0LPN69ev9VvADBoAVeVev37NTFz777//Xr9+PZcDC+fOnduwYQNrO7e+ePFi48aNX3755dw5J2+nhV+9evX06dP6+nqKokxMTMzMzKysrKytrc3Nzc3Nza2tra2srGbVwp6engghb29vMzMz2JkxLCwsXgJCKCUlJV53JCYmivXB+fPnb84O9+7dg6DH3bt38YO3b9+WGxiZVR48ePD06dPHjx/fv3//4cOHT9lFqmO/fPlS6gVSmcKyPH/+HL947niHyZkzZ2iaPnv2LDtvR9bOsQSzBmNwcDBCqKuri6bp9PT0tLQ0mqa7u7tl6wHOEk5OTsy8Lqg7ExUVpST3iwC/VQghqJ4OcLlc1q4aJjs7m6bptrY2hFBFRYXcWcpZQjb/D2bnmNyfYqQQIwAAGb5JREFUaRUlRCSAubkHErHw22/hyMjI/Pz83t5emqYLCwsLCgpomu7r68tnC1dXV+yRRYsWeXl55efnp6amuilm/vz5dgwcHR2lXrBgwQL8LJfLVXQcJycnOzs7FxcXNzc3BwcHOzs7AwMDAwMDOzs7BwcHNzc3Z2dnO9axtbXFJ8TU1FTua0JDQyMiIhBCsbGxdnZ2VlZWFEVxOJyIiAgsaITQ8uXLI2aZ2NjY6urq1atXR0REpKWlVbNIQ0PDkel88sknUq/Zu3fvEaWMjo7iF586dWpiYmJiYmJ8fBy/AD+IuXHjxs2bN1mTFMsWfvny5Y4dOw4cOMDCez169OjmzZszZpS+/RaGeuR6JCAgAEunv79flX/JzMxkDsdkP0JJSQl+dnBwUNFxII2pra2Npuns7GyEkJGRkampKUIoLy+PlpQoYpm4uDh8QiCnShaI5OA/Q0ND8b/4+fnhx6HKO0FFVLzD6O7upmmate2jWLYwmxw+fJim6StXrih/2dtvYYFAIBKJhoaGNJSoFnR1dYlEIi8vL9zj+/v7R0ZGRNOBTs+ksrKytLQUIZSWllZaWlpXVyf1AhUtLBKJSktL4fjYwubm5qWlpTU1NTRNi8Xi0tLSnJwcfLSCggK5CzR0Bbawqampi4tLaGio3JeFhYUtXboU/5mZmcmXIBAI8OORkZF8TfH29sbXxdra2kWvwGDf3t5e50e2sLDAH9Pf3z8oKAghFB8f7+LiAmviHRwcAgMDY2JiEELLli0LDAysqKgQiUSs7SV4/fr1ffv2sbPwh2WIheXEhVmmsrISTY8L9/f3Dw0NSQ09qqqq5P47QigjI0PuUypamAm2sJWVldRTtbW1+Ghr165V6zOqi0AgAAvb29sjSY0kvVBRUYGvC6wL1yOenp4URfH5fJ0f2cXFhTkcVn6HAX11+fLlCCHZuUGCuhALz1ELj4yM1NTUrFmzBn8Z8vPza2pqZFuIZrJwWVlZTU3N8PCwKo3BFrawsKipqWlubsZPMS0Mx5y9W4e5aeGwsDC8aZBQKEQIVVZW1jCAE56Xl1cjD6nye9nZ2VIvyMjIQAhVVFRUV1cjhNLT0/FTsGcH08Jr1qyRfYvi4mIlDcCUlZUhhJh7IEVHR3tLiI2NTUhIYB4zQQIc2d3dnaIoaD/7+2q/fVy7du3XX3+dcQaVWHgWkWtheKqrq0tqzNLU1CT17zNaWCwWq94YuXFhgGlhQMX4tQbMTQtDvVAgLy8PydxhKM+RSE1NZZ492Q+1evVqOKujo6MIoczMTPxUU1OTlIXl9tXW1lb4bVD+oTo7O5Fk908AokDAwMCA8n/39/enKKqhoYFmMS5MePstLBAImpub9RUXbm5ulooLw1NDQ0PNEmCYI2thkUjU2toq98hg4cLCwrKyMiVjYZFIVFZWJhUXtrS0bG5ubm9vxy/r6elpbm7Oz89/Ryw8ODhYVlaWnJyMrwufzy8rK4NfNbBwSUlJGQPQaFZWVllZWUdHh9QBRSJRQ0MD6LW5ubmzs1PqBfDvxcXFZWVlzc3NzMuqloWzs7PLysqURI3AwpmZmWVlZTArCxaurq5ubm4eGRlR9I8tLS1lZWVcLpdYmH3efgvP/RyJuro6uRZWgjY5ErJxYQBuZt8FCyuvFwoWVgJISorBwUGpOwwmYGGEEJSoZ6KWhYHGxkZFHw0sDMAELFhY9odBCuZ9G7Ewy8xFC+/fv3/Hjh07duzYtm1bqzw2bdq0Y8cOJctn54iFGxsbpfKF5dqtv7+/s7NzxrtFJr29vZ2dnSDWvLw8SIKWBYq8wH2AihZuaGjo7OxUMmjSks7OTljTqEcLj4yMdHZ2rl69Gl+XmJiYzs7O8vLy/Px8kUjUyaC5uRlOMn5E7pUaHR3t7OyUTXcBsIURQvn5+SUlJfgptSxcUlKivKsMDw/jdtbU1OTn58MFnXHyALqKj48PsTD7zEULf/7559AzYHwhC8wsKdlFdY5YWElcWCfgUVtqauqML1bRwrOdI0HTdGdn59yMC8uNtvf09CCEioqKtHkvpoXRbMaFmdTU1CCERCKR6v9C4sJ6YW5ZeMOGDUVFRZmZmUKhcGRkZNOmTXcl7N69GyHk7+9vbm6em5tLq2zhsLAwoVCoaJAil/z8fKFQaGdnZ2NjY2Njw+VyhUKhBqtXtbfwwMCAUChcsWKFjYTg4GChUAhBBrBwd3e3KuPoRYsWmZubUxSlyMJDQ0MDAwNFRUVCoVCtgblaZGZmQkB2DloYzsDo6CjzZaOjowMDA1rOK4CFxWLxgAT8lIoWHhkZGRgYqKurEwqFKop1eHh4YGBArdsaYmG9MFcsDJWfurq6UlJSBAIBhM9gExfgl19+SUtL8/PzMzAwyMrKolW2sAY5ErCbpJGRkYGBAUVRdnZ2KSkpzLtIFWFaGJYOq2Xh0dHRvr6+lJSUsLAwAwk+Pj4pKSnNzc2jo6Ow+abcuPCoBPwI/jGwsrKSeopJQUGBQCBQ0k7435GRkeHhYUUHUUJqamp8fLxmFma+tSxKPpRcpCys7mcZVYrUi1evXq3orKpoYaC+vl55XBg3TK3PgiEW1gtzxcIff/wxQmjBggUURUHA4dWrV7Iv27Fjh7oRCY0tjBACX+BpdHX7NNPCkAmvYm4vgBCKjY2lKGr+/Pn4ZhYyLmAFFCDXwjBlz5xHwhaWzVRTi6qqKoQQh8OhKKq+vl6DI2gckWhsbEQIQU6rFFAjCW6SVER21QbMzqkI5PnKRa0PpVsLy2aqqQWxsF7Qv4Vh+4DR0dGYmBgPDw9HR8eBgYEtW7bItfDevXvLy8uHh4e3bNmiZDtkpoWXLVuWlZXV09Ojel8sKCgAEWtp4bq6uqysLGdnZ4qili5dGhMTo+KNbV9fX29v74oVK2Ae39HRMSsra9WqVdjCPB4vJiYmOTlZkYWbm5uzsrKYt67u7u7z5s2jKMrMzCwrK0uDof3Q0FBvb29hYWFMTAxsOsmyhWtqamJiYpiznbqycEBAQFZWFjN7TwmDg4O9vb0ZGRkxCsjOzu7t7VVxTaNaFobLyvy1gK6CJ66rqqpiYmJyc3N7e3s1iKIQC+sF/Vv47NmzNE1Dpcfi4mKaprXfnUgns3MCgUBLCwMaV/OBeAhFUZ6enjRNw2Q9M/s4MjJSkYVlmXF2bkaYvgBYtnB6erqsf3ViYeaqDVX+Ed+3ycXZ2RkhVF1drcrR1LKwLDBcgBrWGBcXFyTJVFMLYmG9oH8L//rrrx0dHUuXLqUoqrW19dtvv4X9srSBaeH09PSOjg61QgGA9hbu7e3t6OiA7B87OzsY5qvyj3It3NHRUVBQsHjxYtyklStXFhQUqDjkiY+PDw0NNTQ0tLS0hH3S1P04OrFwR0dHTU2NNhaeN2+eo6Oju7u7DwN/f3/Yh1j1o+nEwnBZMVC0093dvaCgQMU5NI0t3NXV1dHRERMTExoa6jgdd3f30NDQnJycjo4OtSZaiYX1gv4t/P333yOE3NzcKIratWuXTo6pkxXM2ltY47iwXAsDzLKQtbW1qjdG+7iwTiyszaoNsDDUnYEsEW3QiYWjo6OZEeGIiAiKooKCglQ/msYWLigoQAhBlAliU5jAwECKory9vRHJVHsT0L+Ft27dGhAQAEX23mILe3p6BgQEqBg9qKmpKS8vD5cA6cC9vb2NjY1QB8vBwYHL5TIr8swItrCFhUV5eblaAu3v729sbMzKygoICHBwcHhnLdzd3d3Y2AhpZwEBAVwuNy8vr7y8vLy8vLi4OCAggMfjcbnchIQE1ZuhKwunpaWVl5cXFRURC79x6N/C69evx1+Gt9jCgDarNphxYciRUCuqwMxUU/etOzo6EELMYMi7aWHIPGGCZ327urooirKzs5vVHAkmUhYWCoW0JEeCWPjNQp8Wvnfv3uHDhyFK6OTkxOPxfv75Z50cmWnhlStX1tfXqzgIZSJlYR8fn8rKStlKLkqA1boeHh5aWrivr6+yslIgEHh4eHh7e/N4vKysrPr6erVCftpbePny5TweD+5agIyMjMrKSrXWBWhvYXt7ew8Pj9DQ0Ojo6OLi4srKSqhCqe6H0sDCXV1d9dOBoHxVVVVhYSFFURwOp76+XsVcC0AnFnZ3d/fz86usrITlf8TCbxb6tPAff/xB03RaWhpFUf7+/gihEydO6OTIs5EjofG8swY5ElKsXbsWIbRkyRJKo8xWQHsLA8y4cFRUFEJIrYwo7S3MBKLtCKH09HR1P5TGcWFZUlNTExISKIricrnq/q9OLExRlLm5OYkLv6G8/RaOiYkpLi7u6+tT9+shZWF/f//W1lbYRVRFoGrlokWLKIri8Xh8Pl+DITlN03V1dRwOx8PDg8/nZ2Vltba2amBzzSw8MDBQXFwsEAg4HM7ixYulLFxYWNja2qrWSi3tLezi4oJ3LXJ1deVwOBwOx93dXfXjDA4OFhcXJyUl6crCrq6uzs7OfD4/MTFR3f9lWjgtLa21tVXFXzWxWNza2rp8+XI+n29gYGBoaMiRAF0lMzNT3a5CLKwX3n4Lz5G4sAZr5zAwanN1dUUIqZUXwUQzC/f19SGEwsLCKIpatGjR3MmRAPDun5aWlqofR7aypZYWNjEx0UnmiQb3bSRf+C1AnxZ+8eLFnTt3ent74X7K2tp67969yv9lfHx869atk5OTyl/GtHBmZmZ3d7eS2KVIJMrJyZG9x4cJcW0sPDAw0N3d7evrS1HUvHnzrK2t1RqY5EiADyJr4dLS0pycHBWHTikpKcuXLzc0NDQzM8vJyZlxkevo6GhOTk5qaqq1tbWlpaVcCyckJOTk5Kj104LPqgYW7unpaWxsbG9v75aQnJy8fPly2EAkJydHxaPp0MLFxcU5OTlGRkbz5s3r7u5W61ZJLBbn5OTAZkhwViMiInJyctRa50ks/BbwhuVInDhxgqbpixcvKn+ZWnFhJWvzYZWXxhYGNI4L4xEf+ELWwnL35lGEkh2P5AJ788A5BGQtrEFcmNZpZUvYPdrY2FittXM6tLA2KxJlo+1k7dy7if4t/N133yUlJcFWK2vWrHn//ffv3bvHfMHt27fff/99sVicnZ0N/UO3Fh4ZGRkaGpINbq5atYoZOnR1dU2XoOLkWHV1dXp6OhS+CQ8PT0pKUktYCKG4uDhjY2NHR8ekpKSioqKhoSE4pru7u7m5eY0623Q6OzsbGxtT6qzaGBoaEolE+AwYGhoaGxszv/BGRkbGxsbJycmK9seTi8YWbmpqSk9PZ5YowhamKMrY2NjNzU3FQw0NDa1Zs0Z7C+OzqoGFR0dHh4aGYBCggYWLi4vT09NtbW2NjY0TEhKSkpKSkpIgnRyulJ+fn+p9FSAW1gv6t/D+/ftzcnJ4PJ6JiUl+fn5vb++1a9eePHnyXMK1a9dgl7b09PTGxsYPPvhgYmJC+TGZFs7NzZUrWSUMDw8PDQ0lJSVFR0dLjS9SU1NV79kax4WHhoaGhoYSExOXL19OSWqqlZaWgjsSExPB7JqtnTMzM0tPT1e0PYcU7e3tFhYW5ubmJhKYFoZBaEpKiuoWHhoaamtrU9fCIKyamprExMSqqip8QZkWNjExUd3CtNY5EtBJYAWdiYmJnZ2dukcANM6RyMvLS0xMhGARdMv09PTo6GgLCwtTU1OK5Ei8OejfwgCzsiWsCsWRXLFYjBCCGmBHjx5V5Wg6qWyp/V2erlYwy1a2BDSz8JuYqdbe3o4QgtgOc9WGZhEJQEsLQ2VLKysriqJWrly5atUqdY8AaGxhqE8CSF2C7OxsYuE3iLli4Z07d9bX18fHx8NeErm5udjCAwMD9fX1vb2927ZtO3/+vCpHmw0LL1iwICoqSq3KrQ0NDbm5uS4uLlpa2MbGJkoC1HW0sLCwsbGRuw2lIrSxsFgszs3NZc4jsWxhaACfz6coyt3dPSoqqqqqqqura+XKlVFRURDszs3NVSu+ARY2MTGxsbFJS0tT/R+BuWnh4eHhrq4uyDtatGhRVFSUWnksxMJ6Ya5YmAnedw7Yvn27ukeYDQsDapUIAGAEp42FZWF5BTMgW81Hj6s2li5dqnGmGqBl/t/ctDBzBTOQk5OjemOIhfXCXLTw4cOHdzNQMQrBRCcWXrhwobOz85IlS3g8HofDcXNzW7JkiVoZnd3d3a2trd7e3upauKKiori4eOHChRwFJCUlFRcXq5UXhS1saWnZ2tqqwS6fshb29fXl8/mNjY2qV3XQxsL5+fkcDgciobAwwcLCgqIoJycntVZtAG+6hcPDwzkcDsTE8/LyioqKWltbYcdPsLCVlRWHw1GrnD+xsF6YixbWHl3teMSskKJBTpX2Ox4pQpsVzDqsbAkkJiaqfkevjYUV7XiUlJSk8QrmN9fCZAXzWwOxsBzq6+urqqoEAkFaWlpdXV15eTn2hVgsrqurg7x6kUhUV1cnJda+vr66ujoo+qOlhasUo9aW0oCUhTMyMurq6lSsO9Pf319XV1dcXIwQSkhIWDGd8vJy1ScttbGwWCyuqqqCTamZVFRUaFzNR2MLNzc3V1VVLVmyxNPTs7y8XOM1jRpbGBqwePFiT09PAwMDY2NjXwk+Pj6enp6QT6JWVyEW1gvEwgoRCATM4Sf4Au74YHyRn5+PEJIqbAaz+eXl5bTuVjDrBCkLMz/UjDBzJOrq6rRphjYW1i06WRcOqzbUqionBdnxiEAsrJCm6UAgtaurq6mpCQKybW1tTU1NUmKdgxZubGxcs2aNnZ2dKhaur69fs2aN1ITbwMAAPg8aDMOZvDUWhrPa0NDQ1NSk8c7ztNYWbmlpaWpqysjIEAqFQqEwOTl58eLFiYmJTU1NGvR5YmG9QCysY+aghWH/BYhgzmhh2EhCm2r0ynlrLAxxYbVqPshFSwtLAXMYauVTMiEW1gvvioXz8vIKCgrUleDg4GBBQUFlZSV+RCQSFUiQ+w18UyyclZXV0dHR0NBQUFDA3DlJiYXb29sLCgo0mBhk8i5YeO3atVJnFSgtLZVdssi08KpVqxTtVNvZ2VkwHZB1WVkZ/Am5EENDQx0dHfX19apvP8qEWFgvvCsWBtStOzMwMIAQys/Px49AXBjo7OyU/Zc3xcKQIyESidD0PduVWBh8QeLCgBILy55VICMjQyAQSD2oYmXL1tZWNB2YAZbK5wFgcywSF35TIBZWxujoaF9fH3P+jWlhoVCYmZk5ODg4OjqaKUEoFCKE0tLSMjMz09PT54KFBwYG+vr6HB0dZS08PDzc19fHPC1g4YyMjKysLKnjyL5YA94aC8NZXb16NVx3Zuaf7IkqLS3NzMyE+d7MzEymbVW0MBwTKC0txRbu7++HB5k/nBpfKWJhvUAsrB5MCwMDAwNQBFIRercwoGK+MFgYISQ7atMJb42FAciRQAgpzxfGZxXIzMzET2lQ5R1SJ9XaAlFFiIX1wttp4f379wsEAujZTAsLBAJmen9bW5tAMVIT3yKRSCp3DR/z/2vvfl7SB+M4gP8d/QHRQawOXwwPEoRBaIuE6qHEtqiGaYrfRcSMOvSFiqdAnBEbeIoO0SW/BUE3C/pSB68RROAxomtD+sX38MGHoWRu5pb6vG6NZzZHvfc8nz17BtuDwaAsy6QiIcvyD6lIgPKZaiXfF+qYkBfJZFKWZY7jtD3itbU1juO0FYlwOMxxnGlPMH+vb0lhRVHkoiqbkZMPNWJj79qoZVZGBTSFLdGcKXxxccHzPDxo39fXhzTGx8dxkSiK6HObm5tYY2lpqUJjhNDk5CTGeHl5GSE0Pz+PMY5GowghKAV4vV6E0MbGBsZYsgKsV0dSeGpqiuf5mZkZcjlZXV2VJAlWjt/e3oZ3HfE8Tz5hZWWFZdl4PC5JEsyQjcViPM8nEgloUPmd0KlUSpKkpknhnZ0d7ekt/+67u7uSJJVcd7XDpvIUDoVCkiTVKWGrQVPYEs2ZwtqKxE8DazCar8LdOQPW19fJvy6Uv1mWrbxwDLmP1BwpDHfniPKKBFy0SmZKVE7h2meq1YimsCWaM4Xz+fzJyYkgCE6ns7u722azORwOZ9Xsdrutbjo7O1mW9fv9jLlg4Ru4DDAMgxASRXFubs7Yp4VCIbFoeHgYNo6NjYmfGxkZgWawQGV7ezvDMIFAoKQZrDRkgkgk0tbWZrfbGYaJRCJ6d4dBAzE9PV3SYHFxkWXZeDxesp3sEg6HMcZQttKmMDwiBOULjHE1oby1taVrgb1yyWQSYwzDR5rCJmvOFAbX19eKoiwsLOjtX5BeW/34fD7zu+ENYWhoqN4nHzCa9865XC5zfulntCkM4H0r7FcjDMBxnHammgHaexg0hU3WzCl8f3+fzWYPDg7S6fTZ2Vm2ant7e+k6S6VSv83l8/k8Hk8sFotGox4r9PT0/KrC6OiogRQLBAJunZxOJ0nhrq4uvbt/L7h54HA4yJbZ2Vme591ut9frDX6lv79/YGCA/CgIwh+dOI5zu90dHR00hc3XzClMaR0eHiqK8vr6qqpqLZ0mw+o6wpiYmDC5z/6TwWo+umjXC6UpbDKawq3i5uYml8u9v7+/vLzkrHB6evq3bo6OjhJmEQTBX3+9vb0uozwej94UHhwcJLsfHx/ncrm3tzer/2ZbBU1hitLn8vLShKEDmXlivnw+b/U5bi00hSlKn8fHx7ui/f19RVFub2/vvtvV1dU/izw/P1t9jlsLTWGKMo5U260+EKqB0RRuYOfn55lMplAoWH0grevp6enh4eHj48PqA6EaGE3hBpbJZBRFUVXV6gOhKMo4msINrFAoqKpKO2IU1dD+A20u1e6+5X4xAAAAAElFTkSuQmCC" alt="" />
最后排序结果B:
aaarticlea/png;base64,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" alt="" />
我们现在回过头来思考一下为什么要限定A中是整数而且要限定元素大小?以及这个计数算法的时间复杂度是多少?
首先第一个问题,要知道我们要在C数组中存储所有A中对应元素之前的元素个数,因此如果不是整数或者大小范围无限大的话,我们就没法构造C数组,加之我们要对C数组遍历操作,如果K太大的话,这个算法的线性复杂度也就没有任何意义了。所以限制是整数纯粹只是为了限制C数组的大小,如果你想提出另外一种有限范围的限制,比如都是整数或者0.5结尾的小数(1.5,3.5等)也是可以的,只要将C的数组大小变成2k+2就可以了,只不过这种假设几乎没有任何实际意义而已。
对于第二个问题,我们来看看算法过程:第一步我们遍历了A数组,因此操作时间是Θ(n),第二步遍历C数组操作时间是Θ(k),第三步遍历A数组插入B,因此操作时间是也是Θ(n)。加起来时间复杂度就是Θ(n+k)。据此我们也能得到该算法的适用场景仅限于k较小的情况,如果k很大的话,就不如使用比较排序效率高了。
细心的读者应该还记得我在前文提过要解释为何要倒序遍历A数组,我们观察一下A数组中的3,我们可以看到有3个元素都等于3,对应位置:3,6,8。这3个3最后在5,6,7位置
我们是把8位置的3放在了7位置上,6位置的3放在了6位置上,3位置的3放在了5位置上。也就是说所有元素仍保持了之前的相对位置,我们称这个性质为排序的稳定性。有可能有人会觉得这个稳定性看起来没什么用,单纯从计数排序结果看,确实没什么用处,但是当在其他地方用到计数排序时,稳定性就非常有用了,比如我们在下一篇博客将要谈到的基数排序。
最后附上计数排序的java代码:
package sort;
public class CountSort { private static int[] countSort(int[] array,int k)
{
int[] C=new int[k+1];//构造C数组
int length=array.length,sum=0;//获取A数组大小用于构造B数组
int[] B=new int[length];//构造B数组
for(int i=0;i<length;i++)
{
C[array[i]]+=1;// 统计A中各元素个数,存入C数组
}
for(int i=0;i<k+1;i++)//修改C数组
{
sum+=C[i];
C[i]=sum;
}
for(int i=length-1;i>=0;i--)//遍历A数组,构造B数组
{ B[C[array[i]]-1]=array[i];//将A中该元素放到排序后数组B中指定的位置
C[array[i]]--;//将C中该元素-1,方便存放下一个同样大小的元素 }
return B;//将排序好的数组返回,完成排序 }
public static void main(String[] args)
{
int[] A=new int[]{2,5,3,0,2,3,0,3};
int[] B=countSort(A, 5);
for(int i=0;i<A.length;i++)
{
System.out.println((i+1)+"th:"+B[i]);
}
}
}
排序结果:
计数排序详解以及java实现的更多相关文章
- 排序基础之插入排序、冒泡排序、选择排序详解与Java代码实现
转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6594533.html 一:插入排序==逐个往前相邻数比较交换,小的在前 第一轮:A[1]与A[0]比较,小的 ...
- sorted()排序详解
sorted()排序详解 http://wiki.python.org/moin/HowTo/Sorting?highlight=%28howto%29#The_Old_Way_Using_t ...
- 事件驱动模型实例详解(Java篇)
或许每个软件从业者都有从学习控制台应用程序到学习可视化编程的转变过程,控制台应用程序的优点在于可以方便的练习某个语言的语法和开发习惯(如.net和java),而可视化编程的学习又可以非常方便开发出各类 ...
- Heapsort 堆排序算法详解(Java实现)
Heapsort (堆排序)是最经典的排序算法之一,在google或者百度中搜一下可以搜到很多非常详细的解析.同样好的排序算法还有quicksort(快速排序)和merge sort(归并排序),选择 ...
- Myeclipse Templates详解(一) —— Java模板基础
目录 Templates简介 MyEclipse自带Templates详解 新建Template 自定义Template 因为自己比较懒,尤其是对敲重复代码比较厌恶,所以经常喜欢用快捷键和模板,Mye ...
- 基数排序详解以及java实现
前言 基数排序(radix sort)又称桶排序(bucket sort),相对于常见的比较排序,基数排序是一种分配式排序,即通过将所有数字分配到应在的位置最后再覆盖到原数组完成排序的过程.我在上一篇 ...
- 二叉搜索树详解(Java实现)
1.二叉搜索树定义 二叉搜索树,是指一棵空树或者具有下列性质的二叉树: 若任意节点的左子树不空,则左子树上所有节点的值均小于它的根节点的值: 若任意节点的右子树不空,则右子树上所有节点的值均大于它的根 ...
- Java AtomicInteger类的使用方法详解_java - JAVA
文章来源:嗨学网 敏而好学论坛www.piaodoo.com 欢迎大家相互学习 首先看两段代码,一段是Integer的,一段是AtomicInteger的,为以下: public class Samp ...
- java 流操作对文件的分割和合并的实例详解_java - JAVA
文章来源:嗨学网 敏而好学论坛www.piaodoo.com 欢迎大家相互学习 java 流操作对文件的分割和合并的实例详解 学习文件的输入输出流,自己做一个小的示例,对文件进行分割和合并. 下面是代 ...
随机推荐
- 物联网操作系统HelloX V1.79发布公告
经过HelloX开发团队近半年的努力,在HelloX V1.78版本基础上,增加许多功能特性,并对V1.78版本的一些特性进行了进一步优化之后,正式形成HelloX V1.79测试版本.经相对充分的测 ...
- python练习程序(c100经典例4)
题目: 输入某年某月某日,判断这一天是这一年的第几天? def judge_run(year): a=year/4.0; b=year/100.0; c=year/400.0; if a==int(a ...
- JVM——垃圾收集器
概念补充 并行(Parallel):指多条垃圾收集线程并行工作,但此时用户线程仍然处于等待状态. 并发(Concurrent):指用户线程与垃圾收集线程同时执行(但不一定是并行的,可能会交替执行),用 ...
- 【转】shell脚本调试(bash trap support bashdb )
原文网址:http://zhu8337797.blog.163.com/blog/static/170617549201122512712136/ 命 令 选 项 功 能 bash –x 脚本名 回显 ...
- 在centOS中加入本地ISO yum源
注:本文转载自<liujun_live的博客>,感谢原博主的辛勤写作:原文地址:http://blog.sina.com.cn/s/blog_8ea8e9d50101em6f.html 在 ...
- JSON和JSONP有哪些区别,PhoneGap跨域请求如何实现
前言 由于Sencha Touch 2这种开发模式的特性,基本决定了它原生的数据交互行为几乎只能通过AJAX来实现. 当然了,通过调用强大的PhoneGap插件然后打包,你可以实现100%的Socke ...
- SVN 命令行 精编版
1.将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout https://svn.sinaapp.com/beckhom 简 ...
- HDU 4540 威威猫系列故事——打地鼠
威威猫系列故事--打地鼠 Time Limit: 300/100 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) Total Su ...
- HUD 2717 Catch That Cow
Catch That Cow Time Limit: 5000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Tota ...
- 第二个UI脚本--Python+selenium之unittest+HTMLtestRunner及python的继承
前面有一篇对于常见元素的识别和操作的python自动化脚本,这一篇就接着聊下python的类继承,已经它的第三款unittest框架,和报告收集包HTMLtestRunner的应用. 还是直接上代码吧 ...