简单实践

阶乘问题

问题描述

给定一个数N,求1!+2!+3!+….+N!

思路1:将每个数的阶乘依次算出来,然后相加,2!=2x1 3!=3x2x1…

image.png

�思路2;后一个数的阶乘=前一个数的阶乘x本身,相加

image.png

选择排序-每一次找到最小的往前放

问题描述

给定一个整数无序数组,长度为N,排序

思路:

在0到N-1中找到最小数放到第一位,在1到N-1中找到最小值放到第二位,在2到N-1中…….依次排讯。
i轮排序后0-i位置有序且从小到大,i到n-1位置必定比i位置之前大
image.png

冒泡排序-两两交换,最大的往后排

问题描述

给定一个整数无序数组,长度为N,排序

思路:

在0到N-1中,判断前一位是否比后一位大,大则进行交换。
i轮排序后i到n-1位置有序。
image.png

插入排序

问题描述

给定一个整数无序数组,长度为N,排序

思路:

给定长度为N数据
1 先把0-0位置变有序
2 把0-1位置变有序,从1开始,0-0已经有序
3 把0-2 位置变有序,从2开始,0-1已经有序
n-1 把0-n-1位置变有序,从n-1开始,0-n-1已经有序
i轮排序后0到i位置有序,i-1到n-1位置可能存在比i位置前小的值
image.png

代码:

algorithm模块 work.day.one