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

农八师建设兵团社保网站深圳包装设计招聘

农八师建设兵团社保网站,深圳包装设计招聘,深圳全网推广服务,wordpress图片切换插件1 、算法的魅力深刻研究排序算法是入门算法较为好的一种方法#xff0c;现在还记得4年前手动实现常见8种排序算法#xff0c;通过随机生成一些数据#xff0c;逐个校验代码实现的排序过程是否与预期的一致#xff0c;越做越有劲#xff0c;越有劲越想去研究#xff0c;公… 1 、算法的魅力深刻研究排序算法是入门算法较为好的一种方法现在还记得4年前手动实现常见8种排序算法通过随机生成一些数据逐个校验代码实现的排序过程是否与预期的一致越做越有劲越有劲越想去研究公交车上吃饭的路上。。。那些画面现在依然记忆犹新。能力有限当时并没有生成排序过程的动画所以这些年想着抽时间一定把排序的过程都制作成动画然后分享出来让更多的小伙伴看到通过排序算法的动态演示动画找到学习算法的真正乐趣从而迈向一个新的认知领域。当时我还是用C写的时过境迁Python迅速崛起得益于Python的简洁接口易用最近终于有人在github中开源了使用Python动画展示排序算法的项目真是倍感幸运。动画还是用matplotlib做出来的这就更完美了一边学完美的算法一边还能提升Python熟练度一边还能学到使用matplotlib制作动画。2 、完美的答案这个库一共演示8个常见的排序算法bubble-sort : Only show the visualization of bubble sorting algorithm in the animation. The following arguments have similar functions.comb-sortheap-sortinsertion-sortmerge-sortquick-sortselection-sortshell-sort启动的脚本是output.py脚本的参数有三类下面逐个解释。python output.py play heap-sort reversedplay表示展示排序的动画其他两个选项保存html和mp4play : Play an animation of a specific sorting algorithm or all algorithms in a new window, as a figure to Matplotlib.save-html : Save the animation as a HTML page with a sequence of images.save-mp4 : Save the animation as a MP4 video.heap-sort表示堆排序就是此次执行脚本你想看哪个排序算法的动画展示,设置为quick-sort表示查看快排动画, all表示所有排序算法一次展示。reversed 这类参数是我重点想说的这类参数还有如下其他几个选项。通常说一个快排平均时间复杂度为nlog2n为什么是平均呢我们很难找到一个真正100%准确的函数t输入data通过t(data)计算出准确的理论执行时间因为data的分布无法准确的拟合出来而它又直接影响到实际的排序时间比如输入一个几乎排序好的序列一个没有重复元素的序列一个随机序列一个递减序列。所以只能根据某类分布给出大概的预估执行时间值。almost-sorted : Sort an almost-sorted sequence.few-unique : Sort a few-unique sequence.random (default) : Sort a random sequence.reversed : Sort a descending sequence.3 、动画展示使用的模块和实例代码如下使用的包主要是内置模块random, os, sys, re以及 matplotlib的 animation功能剩下的就是手动实现的8个排序算法。import randomimport osimport sysimport refrom matplotlib import pyplot as pltfrom matplotlib import animationfrom sorting.data import Datafrom sorting.selectionsort import selection_sortfrom sorting.bubblesort import bubble_sortfrom sorting.insertionsort import insertion_sortfrom sorting.shellsort import shell_sortfrom sorting.mergesort import merge_sortfrom sorting.quicksort import quick_sortfrom sorting.heapsort import heap_sortfrom sorting.combsort import comb_sortfrom sorting.monkeysort import monkey_sort快速排序代码会保存所有的操作帧# Script Name : quicksort.py# Author : Howard Zhang# Created : 14th June 2018# Last Modified : 14th June 2018# Version : 1.0# Modifications :# Description : Quick sorting algorithm.import copyfrom .data import Datadef quick_sort(data_set):# FRAME OPERATION BEGIN frames [data_set]# FRAME OPERATION END ds copy.deepcopy(data_set) qsort(ds, 0, Data.data_count, frames)# FRAME OPERATION BEGIN frames.append(ds)return frames# FRAME OPERATION ENDdef qsort(ds, head, tail, frames):if tail - head 1:# FRAME OPERATION BEGIN ds_y copy.deepcopy(ds)for i in range(head, tail): ds_y[i].set_color(y)# FRAME OPERATION END i head j tail - 1 pivot ds[j].valuewhile i j:# FRAME OPERATION BEGIN frames.append(copy.deepcopy(ds_y)) frames[-1][i if ds[i].value pivot else j].set_color(r) frames[-1][j if ds[i].value pivot else i].set_color(k)# FRAME OPERATION ENDif ds[i].value pivot or ds[j].value pivot: ds[i], ds[j] ds[j], ds[i]# FRAME OPERATION BEGIN ds_y[i], ds_y[j] ds_y[j], ds_y[i] frames.append(copy.deepcopy(ds_y)) frames[-1][i if ds[i].value pivot else j].set_color(r) frames[-1][j if ds[i].value pivot else i].set_color(k)# FRAME OPERATION ENDif ds[i].value pivot: j - 1else: i 1 qsort(ds, head, i, frames) qsort(ds, i1, tail, frames)我已经执行完8个排序算法录制了3个动画效果如下1) 快速排序2) 归并排序3) 堆排序项目地址这里面有完整源码https://github.com/zamhown/sorting-visualizer往期精彩如何在面试中展现你对Python的coding能力如何用Python和数据分析鉴别网络刷单 使用Python伪装黑客批量获取网站密码用Python打造实时截图识别OCREND关注【程序IT圈】更多的Python好文输出
http://www.pierceye.com/news/88795/

相关文章:

  • 做微商做什么网站比较好广州服装设计公司排行
  • 个人可以做导航网站吗网站友情链接 关键词经常改动
  • 慈溪专业做网站公司开发小程序需要的技术
  • 国外网站的设计风格企业网站建立之前必须首先确定
  • 宣武成都网站建设0基础做网站多久
  • 360免费视频网站建设微信小程序用什么开发
  • 网站无后台可以上框架电商网站设计平台
  • 动态asp.net网站开发制作人
  • 网站模板建设报价单网站前端工程师
  • 整站优化和关键词优化的区别咖啡色网站模板
  • 烟台网站推广优化视觉营销网站
  • 课程平台网站建设报价黎平网站建设
  • 国外响应式网站模板vs网站模态框怎么做
  • 哪些网站是php做的天津企业网站建设公司
  • 有经验的唐山网站建设张家港手机网站
  • 上海营销网站建设公司百度指数怎么看
  • 易语言做购物网站开发房地产需要多少钱
  • 怎么做刷qq业务网站网站怎么做响应
  • 订阅号做影视网站我想建网站做推广
  • 昆明医院网站建设网络工程师证书考试时间
  • 有哪些建设网站的越秀区建设水务局网站
  • 优质做网站费用有没有做生物科技相关的网站
  • mvc做网站企业管理咨询上班好吗
  • 欧美电影免费网站遂宁网站设计
  • 做网站 程序员 暴富渭南网站建设服务
  • html 网站开发网站建设的考虑
  • 做教育网站用什么颜色南京手机网站制作
  • 网站建设工作整改报告柳州建设网栗园新居
  • 手机网站开发设计动漫设计师资格证
  • 宝安网站建设制作搬家网站建设公司