数据结构与算法
lovego123
这个作者很懒,什么都没留下…
展开
-
快速排序算法的优化总结
快速排序 快速排序是一种交换类排序,它是对冒泡排序的一种改进,基本思想是:通过一趟排序将待排记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。 快速排序最好情况下的时间复杂度为O(nlogn),待排序列越接近无序,本算法的效率越高。最坏情况下的时间复杂度为O(n2),待排序列越接近有序,本算法的效率越低。平...原创 2018-04-25 15:40:21 · 780 阅读 · 0 评论 -
七大经典排序算法实现汇总
学习与整理留存。七大排序算法分析排序算法时间复杂度(平均)空间复杂度稳定性冒泡排序O(n^2)O(1)稳定 插入排序O(n^2)O(1)稳定选择排序O(n^2)O(1)不稳定快速排序O(nlog n)O(log n)不稳定希尔排序O(nlog n)O(1)不稳定归并排序O(nlog n)O(n)稳定堆排序O(nlog n)O(1)不稳定亲测好用C/C++实现汇总:#include <i...原创 2018-05-04 11:07:23 · 244 阅读 · 0 评论 -
一个哈夫曼编码的有趣使用
哈夫曼编码是基于哈夫曼树的一种长度最短的前缀编码。这里,我不详细讲哈夫曼树与哈夫曼编码的相关知识,说一下自己在学习过程中的一点想法。我们看影视剧会经常会看到一方给另一方发送了一大串“01”混合的数串,而另一方会根据某种预先设定好的编码表来解密这一串“01”的奥义,这就是哈夫曼编码的使用之一。至此,我们就会想可以自己设定一串“01”串,这个串中隐含了你想说给他(她)的话,这样通过你喜欢的方式将串传递...原创 2018-05-04 17:07:27 · 2182 阅读 · 1 评论