1.冒泡排序
思想:从左至右两两依次比较,如果前一个数比后一个数大的话就交换位置,否则不变
2.递归
可以自己调用自己的函数
思想图:
必须有返回值和临界条件。
每一次返回的n*fact(n-1)都处于等待未执行状态,直到满足n=0时才按顺序执行 。
斐波那契数列实现:
C语言中还有很多基础算法,比如快排等
都会在以后的数据结构中见到
3.贪心算法之篮子放鸡蛋问题
一定数量鸡蛋,随机篮子,每个篮子至少放一个,有多少种算法(不准重复)
实现:
思想:从左至右两两依次比较,如果前一个数比后一个数大的话就交换位置,否则不变
可以自己调用自己的函数
思想图:
必须有返回值和临界条件。
每一次返回的n*fact(n-1)都处于等待未执行状态,直到满足n=0时才按顺序执行 。
C语言中还有很多基础算法,比如快排等
都会在以后的数据结构中见到
一定数量鸡蛋,随机篮子,每个篮子至少放一个,有多少种算法(不准重复)
实现: