编程基础
刘季玉
这个作者很懒,什么都没留下…
展开
-
五种常见排序算法的总结
本文总结了一下五种常见的排序算法:选择排序、冒泡排序、插入排序、快速排序、堆排序。为方便理解记忆,以升序为例,先通过图形化排序过程来解释排序算法的实现原理,然后通过Java代码来实现排序。原创 2018-10-18 16:13:45 · 7653 阅读 · 1 评论 -
通过分治思想递归实现数组的全排列
在高中数学学习排列与组合的时候,我们知道,要得到一组元素的所有排列情况例如【1,2,3,4,5】这五个数字,它所有的排列一共有5!种,也就是5x4x3x2x1=120种。我们在编程中借鉴这个过程:数组第一个数和其他所有的数交换位置,可以得到数组第一个数可能出现的所有排列情况;然后先忽略掉数组第一位数字,将剩余数组视作一个新的数组,新数组的第一个数字再和其他所有数字交换位置,可以得到新数组第一个数可能出现的所有排列情况,以此类推,将一个数组分治为越来越小的数组,最后组合出来的排列,就是原数组的全排列。原创 2018-11-02 16:08:54 · 510 阅读 · 0 评论