【C语言】算法知识点

来源:互联网 发布:山西农业大学软件学院 编辑:程序博客网 时间:2024/06/11 12:36

1、算法是用来解决常见问题的方法
2、同一个问题有多种解决方法,他们各自使用在不同的环境下
3、排序算法可以按照某种顺序把一组数字排列好
4、排序算法通常分很多次执行,每次负责把一个数字放在合适位置上
5、为了把一个数字放在合适的位置上可以采用两种做法,一种是根据数字找位置,一种是根据位置找数字
6、通过不断的交换两个数字之间的顺序最终把一个数字放在合适的位置上
冒泡排序算法:(相邻的)
采用先确定位置然后找数字的方法(这个位置可以是最前面的也可以是最后面的)
通过不断对两个相邻数字进行顺序调整最终把一个数字放在选定的位置
选择排序:(不相邻)
3 6 2 4 7 5 1 ->
这个算法也是先确定位置然后找数字(这个位置即可以在最前也可以在最后)
把选定位置上的数字和其他位置上的数字进行顺序调整,最终把合适的数字放在合适的位置上
插入排序:
2 3 6 4 7 5 1 -> 2 3 4 6 7 5 1
采用先确定位置然后找位置的方法
每次把与排好序的数字相邻的数字作为选定数字,把他插入到已经排好序的数字中间合适位置上
不断把选定数字和相邻的数字进行顺序调整,直到把选定的数字放到合适位置
快速排序
4 5 6 7 1 2 3->
采用先确定数字后找位置
从待处理的数字的两端选择一个作为基准数字
每次把基准数字和另一端的数字进行顺序调整,直到和所有数字都进行过顺序调整
每次调整过顺序之后都把非基准数字排除在待处理数字范围之外
7、查找算法可以从一组数字里找到某个数字所在的位置
顺序查找:
把每个数字和要查找的数做对比,直到找到为止
如果数字之间没有任何规律就只能用顺序方法查找
折半查找:
如果数字已经按照某种顺序排列好,就可以用中间位置的数字和目标数字做对比,这样一次可以排除一半的数字
重复这个过程就可以很快找到目标数字所在位置

原创粉丝点击