当前位置: 首页 > news >正文

做亚马逊需要的图片外链网站深圳网站建设制作设计平台

做亚马逊需要的图片外链网站,深圳网站建设制作设计平台,做企业网站需要什么,江西中慧城乡建设开发公司网站棋牌类游戏算法–牌分类毫无疑问#xff0c;Quicksort被认为是本世纪最重要的算法之一#xff0c;并且它是许多语言的事实上的系统排序#xff0c;包括Java中的Arrays.sort 。 那么#xff0c;quicksort有何新功能#xff1f; 好吧#xff0c;除了我刚刚#xff08;在J… 棋牌类游戏算法–牌分类 毫无疑问Quicksort被认为是本世纪最重要的算法之一并且它是许多语言的事实上的系统排序包括Java中的Arrays.sort 。 那么quicksort有何新功能 好吧除了我刚刚在Java 7发行了2年之久之后才想到 Arrays.sort的Quicksort实现已被称为Dual-Pivot QuickSort的变体替代。 出于这个原因这个线程很棒而且乔恩·本特利和约书亚·布洛赫真的很谦虚。 接下来我要做什么 就像其他所有人一样我也想实现它并针对约1000万个整数随机和重复进行一些基准测试。 奇怪的是我发现以下结果 随机数据 快速排序基本1222毫秒 快速排序3种方式1295毫秒严重 双轴快速排序1066毫秒 重复数据 快速排序基础378毫秒 快速排序3种方式15毫秒 快速分类双枢轴6毫秒 愚蠢的问题1 恐怕在三向分区的实现中缺少一些东西。 在针对随机输入1000万个的数字进行的多次运行中我可以看到单个枢轴始终表现更好尽管对于1000万个数字其差异小于100毫秒。 我知道直到现在将三路Quicksort设置为默认Quicksort的全部目的是它不会在重复键上提供0n 2性能-当我对重复输入运行它时这是非常明显的。 但是为了处理重复的数据三路方式会付出一点代价吗 还是我的实现不好 愚蠢的问题2 我的Dual Pivot实现下面的链接不能很好地处理重复项。 它需要永远的甜蜜0n 2才能执行。 有避免这种情况的好方法吗 谈到Arrays.sort实现我发现在完成实际排序之前就消除了升序和重复项。 因此作为一个肮脏的解决方法如果枢轴相等则我快进lowerIndex直到它与pivot2不同。 这是公平的实施吗 else if (pivot1pivot2){while (pivot1pivot2 lowIndexhighIndex){lowIndex;pivot1input[lowIndex];}} 而已。 那就是我所做的一切 我总是发现算法的跟踪很有趣但是由于Dual Pivot quicksort中的变量数量众多我的眼睛在调试时发现它不知所措。 因此我还继续创建了启用跟踪的实现针对所有3种实现以便可以看到变量指针当前所在的位置。 这些启用了跟踪的类仅覆盖指针在数组值下方的位置。 我希望您发现这些课程有用。 例如。 用于Dual Pivot迭代 整个项目以及DSA的一些la脚实现可在github 此处获得 。 仅在这里可以找到 quicksort类。 这是我对SinglePivotHoare3waySedgewick和新Dual-PivotYaroslavskiy的实现 单枢轴 package basics.sorting.quick;import static basics.sorting.utils.SortUtils.exchange; import static basics.sorting.utils.SortUtils.less; import basics.shuffle.KnuthShuffle;public class QuickSortBasic {public void sort (int[] input){//KnuthShuffle.shuffle(input);sort (input, 0, input.length-1);}private void sort(int[] input, int lowIndex, int highIndex) {if (highIndexlowIndex){return;}int partIndexpartition (input, lowIndex, highIndex);sort (input, lowIndex, partIndex-1);sort (input, partIndex1, highIndex);}private int partition(int[] input, int lowIndex, int highIndex) {int ilowIndex;int pivotIndexlowIndex;int jhighIndex1;while (true){while (less(input[i], input[pivotIndex])){if (ihighIndex) break;}while (less (input[pivotIndex], input[--j])){if (jlowIndex) break;}if (ij) break;exchange(input, i, j);}exchange(input, pivotIndex, j);return j;}} 3路 package basics.sorting.quick;import static basics.shuffle.KnuthShuffle.shuffle; import static basics.sorting.utils.SortUtils.exchange; import static basics.sorting.utils.SortUtils.less;public class QuickSort3Way {public void sort (int[] input){//inputshuffle(input);sort (input, 0, input.length-1);}public void sort(int[] input, int lowIndex, int highIndex) {if (highIndexlowIndex) return;int ltlowIndex;int gthighIndex;int ilowIndex1;int pivotIndexlowIndex;int pivotValueinput[pivotIndex];while (igt){if (less(input[i],pivotValue)){exchange(input, i, lt);}else if (less (pivotValue, input[i])){exchange(input, i, gt--);}else{i;}}sort (input, lowIndex, lt-1);sort (input, gt1, highIndex);}} 双枢轴 package basics.sorting.quick;import static basics.shuffle.KnuthShuffle.shuffle; import static basics.sorting.utils.SortUtils.exchange; import static basics.sorting.utils.SortUtils.less;public class QuickSortDualPivot {public void sort (int[] input){//inputshuffle(input);sort (input, 0, input.length-1);}private void sort(int[] input, int lowIndex, int highIndex) {if (highIndexlowIndex) return;int pivot1input[lowIndex];int pivot2input[highIndex];if (pivot1pivot2){exchange(input, lowIndex, highIndex);pivot1input[lowIndex];pivot2input[highIndex];//sort(input, lowIndex, highIndex);}else if (pivot1pivot2){while (pivot1pivot2 lowIndexhighIndex){lowIndex;pivot1input[lowIndex];}}int ilowIndex1;int ltlowIndex1;int gthighIndex-1;while (igt){if (less(input[i], pivot1)){exchange(input, i, lt);}else if (less(pivot2, input[i])){exchange(input, i, gt--);}else{i;}}exchange(input, lowIndex, --lt);exchange(input, highIndex, gt);sort(input, lowIndex, lt-1);sort (input, lt1, gt-1);sort(input, gt1, highIndex);}} 参考 Resort.me博客上的快速排序–我们JCG合作伙伴 Arun Manivannan的3向和双向旋转 。 翻译自: https://www.javacodegeeks.com/2013/06/quicksorting-3-way-and-dual-pivot.html棋牌类游戏算法–牌分类
http://www.pierceye.com/news/112077/

相关文章:

  • 2018年网站开发技术动漫电影做英语教学视频网站
  • 设备管理系统网站模板网站开发基础知识试题
  • wordpress建立好的网站万能搜索网站
  • 杭州 高端网站建设wordpress 不显示ip
  • 校考前做试题的网站池州哪里有做网站
  • 四合一小说网站搭建教程WordPress主题资源
  • 网站制作com台州网站哪家专业
  • 网站怎么上百度阿里云网站建设
  • 全国最大的网站建设公司肇庆网络推广
  • 网站做301跳转需解析设计用哪些网站有哪些功能
  • 如何将网站添加到信任站点手机价格
  • 做网站显示上次登录时间代码深圳有哪些招聘网站
  • 网站开发可选择的方案页面设计说明
  • 手机付费咨询网站建设网站正能量免费推广软件晚上
  • 网站群建设技术规范seo收索引擎优化
  • 西安网站托管维护百度首页广告
  • 洛龙区网站设计建设免费网页小游戏
  • 建设摩托125图片大全优化大师怎么删除学生
  • 郑州哪家公司给国外做网站闵行网站推广
  • 微网站 开发提供坪山网站建设
  • 狗狗和人做网站centos6搭建wordpress
  • 培训教育学校的网站建设方案vx小程序怎么制作
  • 泉州网站建设优化公司酒店网络营销推广方案
  • 重庆潼南网站建设公司电话crm客户关系管理平台
  • 怎么做可以访问网站连接加密东莞++网站建设
  • 企业网站的建设与流程数据分析师要学什么课程
  • 重庆营销型网站随做的好谷歌广告投放教程
  • 个人公众号做网站广州市车管所网站建设
  • 上海网站建设公司排名王也诸葛青cp
  • 常用的设计网站有哪些wordpress如何汉化主题