
模板
Bthsky
生命以痛吻我
展开
-
基于单链表的快排
最近要交高级语言程序设计作业,由于不满足于插入排序的低效率,便顺手撸了一个基于单链表的快排。 虽然网络上已经有很多这样的博客了,不过还是贴上来吧,毕竟自己敲的模板用起来最顺手是吧= =。嘛,这个函数默认不带头结点,返回值为结点首地址。 所以对于带头节点来说就要酱: head->next=QUICK_SORT( head->next , &head ); 不过大家那么聪明肯定不用提醒了 ╮( ̄原创 2016-10-25 00:24:54 · 677 阅读 · 0 评论 -
基于单链表快排的优化算法
快排大法好,不说日常数据处理的巨大优势,面试时能手写快排更是装X一大利器。 不过传统的快排有一巨大缺陷:当出现大量相同值时,由于对相同值的重复递归,排序效率会急剧降低至O(N^2)。 为避免此情况笔者编写了快排PRO 优化算法(也称三明治法):将传统快排的二分法(小于中点值、大于等于中点值)更改为三分(小于中点值、等于中点值、大于中点值)。且对等于中点值部分不再递归,由此减少无效的排序。代码实现原创 2016-10-25 09:39:16 · 979 阅读 · 0 评论