认知算法(二)

14天阅读挑战赛


努力是为了不平庸~
算法学习有些时候是枯燥的,这一次,让我们先人一步,趣学算法!欢迎记录下你的那些努力时刻(算法学习知识点/算法题解/遇到的算法bug/等等),在分享的同时加深对于算法的理解,同时吸收他人的奇思妙想,一起见证技术er的成长~

嗨,大家好,我是异星球的小怪同志,一个想法有点乱七八糟的菜鸟,请跟我一起学习算法的知识吧。

目录

一、算法的特性

二、算法的分类

三、选择排序

1.选择排序

2.算法思路

3.算法分析

4.动画演示

5.具体代码  


一、算法的特性

算法有许多特性:

(1)有穷性:算法是有若干条指令组成的有穷序列,总是在执行若干次后结束,不可能永不停止。

(2)确定性:每条语句都有确定的含义,无岐义。

(3)可行性:算法在当前环境条件下可以通过有限次运算来实现。

(4)输入/输出:有零个或多个输入以及一个或多个输出。

二、算法的分类

算法可大致分为基本算法、数据结构的算法、数论与代数算法、计算几何的算法、图论的算法、动态规划以及数值分析、加密算法、排序算法、检索算法、随机化算法、并行算法,厄米变形模型,随机森林算法。

算法可以宏泛的分为三类

(1)有限的,确定性算法 这类算法在有限的一段时间内终止。他们可能要花很长时间来执行指定的任务,但仍将在一定的时间内终止。这类算法得出的结果常取决于输入值。

(2)有限的,非确定算法 这类算法在有限的时间内终止。然而,对于一个(或一些)给定的数值,算法的结果并不是唯一的或确定的。

(3)无限的算法 是那些由于没有定义终止定义条件,或定义的条件无法由输入的数据满足而不终止运行的算法。通常,无限算法的产生是由于未能确定的定义终止条件。

三、选择排序

1.选择排序

选择排序是一种简单直观的排序算法,无论什么数据进去都是 O(n²) 的时间复杂度。所以用到它的时候,数据规模越小越好。唯一的好处可能就是不占用额外的内存空间了吧。

2.算法思路

(1)在未排序序列中找到最小(大)的元素,存放到排序序列的起始位置。

(2)从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。

(3)以此类推,直到所有元素均排序完毕。

3.算法分析

假如现在有十个元素进行选择排序,从小到大排

十个元素分别是:10  9  8  7  6  5  4  3  2  1

十个元素下标是:0  1  2  3  4  5  6  7  8  9

10   9     8    7     6        4     3    2     1  

1    10    9    8     7     6     5     4    3     2

1     2     10  9     8     7     6     5     4     3

1     2     3    10   9    8    7   6    5   4

1     2     3     4     10   9     8     7    6     5

……

1     2     3     4     5     6     7     8     9    10

4.动画演示


5.具体代码  

#include<stdio.h>
int main()
{
	//定义的一个数组 
	int arr[10]; 
 	printf("请输入十个数:\n");
 	 //定义的一个临时变量用来作交换空间 
	int temp=0;
	 //最小值的下标 
 	int mindex;
 	 //找了几趟的趟数   10个数找9趟
 	for (int i = 0; i <10; i++)
	 {
	 	scanf("%d", &arr[i]);
	 }
	 for (int i = 0; i < 9; i++)
	 {
	 	//假设第一个数就是最小值
	 	mindex = i;
	 	 //待排序的最小值
	 	for (int j = i +1 ; j < 10; j++)
		 {
		 	//交换mindex和待排序的第一个值
		 	if (arr[j]<arr[mindex])
			 {
			 	mindex = j;
			 }
		 	
		 }
		temp = arr[i];
  		arr[i] = arr[mindex];
 		arr[mindex] = temp;
	 }
	printf("排序后的顺序是:\n");
 	for (int i = 0; i < 10; i++)
	 {
	 	printf("%d ", arr[i]);	
	 }
	 return 0;	 
}

猜你喜欢

转载自blog.csdn.net/weixin_65445097/article/details/127480965