发布网友
共4个回答
懂视网
快速排序原理是:先从数据序列中选一个元素,并将序列中所有比该元素小的元素都放到它的右边或左边,再对左右两边分别用同样的方法处之直到每一个待处理的序列的长度为1,处理结束。
热心网友
递归的好理解,,,,,
给你一堆数字,,,在其中任意找一个做为标准,,把比标准小的放在标准的左边,,比标准大的放在标准的右边,,,这就是快排的算法,,这个算法结束后,,一堆数变为2堆,,再对这两堆数用这个算法***********当某一堆就剩下一个数字的时候,,这一堆结束排序,,,
实际写下来,方法有很多,,大致为两类,,一个是标准的选择为第一个或最后一个数,,,另一种标准的选择为随机的或任意指定的一个,,两者在写法上有些不一样,,多试下及个数据,,会理解的,,,前者较为多用,,后者主要处理有序的数据,,,,
当然还有非递归的,,,
热心网友
快速排序的基本原理就是每一次把一个值放到它应该的位置上,然后序列被分为两部分,这个数前一部分后一部分,再对这两部分分别进行快速排序即可。
比较过程的话,遵循前后前后这样交叉比较,有利于减少位置替换次数。你可以试试顺序比较,把比他大的都放后面比他小的都放前面,你会发现数据挪动的效率很低
热心网友
快速排序的基本原理就是每一次把一个值放到它应该的位置上,然后序列被分为两部分,这个数前一部分后一部分,再对这两部分分别进行快速排序即可。
如此递归下去,但是对于基本有序的数列,你就不要快排了,那样效率会很低