算法
文章平均质量分 72
一条余弦Cos
知道的越多,不知道的也就越多。
展开
-
【经典排序算法】十大经典排序算法汇总篇
【算法】快速检索算法文章目录【算法】快速检索算法1、经典排序算法1.1 算法的分类2、神经网络3、其他1、经典排序算法1.1 算法的分类十种常见的排序算法可以分为 敲黑板!敲黑板啦~~~ ????排序方法时间复杂度(最坏)时间复杂度(最好)时间复杂度(平均)空间复杂度稳定性桶排序O(n2)O(n^2)O(n2)O(n)O(n)O(n)O(n+k)O(n+k)O(n+k)O(n+k)O(n+k)O(n+k)稳定计数排序O(n+k)O(n+k)O(原创 2021-03-12 22:23:24 · 890 阅读 · 0 评论 -
【经典排序算法】堆排序(动图演示 + C 语言代码实现)
【经典排序算法】堆排序(动图演示 + C 语言实现)文章目录【经典排序算法】堆排序(动图演示 + C 语言实现)1、动图演示2、排序思想3、时间/空间复杂度4、代码实现 (C语言)1、动图演示2、排序思想 堆它是选择排序的一种,它是通过堆来进行选择数据。(升序要建大堆,降序建小堆) 首先是创建堆,即把待排序的序列转换成堆的形式。然后将根节点与最后一个节点交换。交换之后会打乱堆的规律,需要对前(n-1)个节点进行调整,使之重新成为堆。接下来交换根节点与倒数第二个节点 …… 重复上述调整,直原创 2021-08-25 11:23:47 · 1137 阅读 · 1 评论 -
【经典排序算法】选择排序(动图演示 + C 语言代码实现)
【经典排序算法】选择排序(动图演示 + C 语言实现)文章目录【经典排序算法】选择排序(动图演示 + C 语言实现)1、动图演示2、排序思想3、时间/空间复杂度4、代码实现 (C语言)1、动图演示2、排序思想 每次从待排序的区间中,选择一个最小 (降序) 或最大 (升序) 的数,放在数组的最开头或最后,直到待排序序列的数为0。 具体步骤:第一次从 arr[0] ~ arr[n-1] 中选取最小值,与 arr[0] 交换; 第二次从 arr[1] ~ arr[n-1] 中选取原创 2021-08-25 11:19:55 · 792 阅读 · 0 评论 -
【经典排序算法】希尔排序(动图演示 + C 语言代码实现)
【经典排序算法】希尔排序(C 语言代码实现 + 动图演示)文章目录【经典排序算法】希尔排序(C 语言代码实现 + 动图演示)1、动图演示2、 排序思想3、 时间/空间复杂度4、 代码实现 (C语言)1、动图演示2、 排序思想 希尔排序是对直接插入排序的优化。直接插入排序每次插入前的遍历步长为1,而希尔排序是将待排序列分为多干个子序列,对这些子序列分别进行直接插入排序。当每个子序列长度为1时,再进行一次直接插入排序时,结果一定是有序的。常见的划分子序列的方法有:初始步长(两个子序列相应元素相差原创 2021-08-25 11:09:14 · 2412 阅读 · 2 评论 -
【经典排序算法】插入排序(动图演示 + C 语言代码实现)
【经典排序算法】插入排序(C语言代码实现+动图演示)文章目录【经典排序算法】插入排序(C语言代码实现+动图演示)1、动图演示2、 排序思想3、 时间/空间复杂度4、 代码实现 (C语言)1、动图演示2、 排序思想 把 n 个待排序的元素看成为一个有序表和一个无序表。开始有序表中只包含一个元素,无序表当主包含 n-1 个元素。排序过程中每次从无序表中取出第一个元素,把它的排序码以此与有序表元素的排序码进行比较,将他插入到有序表中的适当位置,使之形成新的有序表,以此类推。 举例: 就像玩过扑原创 2021-08-25 11:04:54 · 869 阅读 · 0 评论 -
【经典排序算法】归并排序(动图演示 + C 语言代码实现)
文章目录前言一、冒泡排序1.1 排序思想1.2 时间/空间复杂度1.3 代码实现 (C语言)二、插入排序2.1 排序思想2.2 时间/空间复杂度2.3 代码实现 (C语言)三、希尔排序3.1 排序思想3.2 时间/空间复杂度3.3 代码实现 (C语言)四、选择排序4.1 排序思想4.2 时间/空间复杂度4.3 代码实现 (C语言)五、堆排序5.1 排序思想5.2 时间/空间复杂度5.3 代码实现 (C语言)六、归并排序6.1 排序思想6.2 时间/空间复杂度6.3 代码实现 (C语言)七、快速排序7.1 排原创 2021-08-16 10:21:14 · 526 阅读 · 0 评论 -
【经典排序算法】快速排序法 (动图演示 + C 语言代码实现)
【经典排序算法】快速排序法 (代码+动图演示)文章目录【经典排序算法】快速排序法 (代码+动图演示)1、动图演示2、排序的思想3、代码实现4、三种分割方法4.1 hoare法4.2 挖坑法4.3 前后指针法1、动图演示2、排序的思想 快速排序算法的基本原理为通过一次排序将要排序的数据分割成独立的两部分,将序列分为两部分的中间数作为基准(par),基准左边的数都要比基准右边的数要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 换原创 2021-03-12 17:40:42 · 1284 阅读 · 0 评论 -
【经典排序算法】二分查找法 (动图演示 + C 语言代码实现)
【经典排序算法】二分查找法 (代码+动图演示)文章目录【经典排序算法】二分查找法 (代码+动图演示)1、动图演示2、查找场景3、查找条件4、代码实现5、注意事项5.1 BinarySearch15.2 BinarySearch21、动图演示2、查找场景 二分搜索用于在一个单调或者局部单调有序数组中查找一个符合某些条件的值,时间复杂度为O(logN)3、查找条件 二分查找的前提条件是有序数列,普通查找则不需要。 查找到返回该元素的下标,否则返回-1。 普通查找的时间复原创 2021-03-12 17:05:15 · 23598 阅读 · 3 评论 -
【神经网络】多层前馈神经网络 BP ( 附 MATLAB 源程序)
文章目录1.数据预处理1.1 什么是归一化?1.2 为什么要归一化处理?1.3 **归一化算法**1.4 Matlab数据归一化处理函数1.4.1 premnmx1.4.2 tramnmx1.4.3 postmnmx2. 使用Matlab实现神经网络2.1 newff函数2.1.1 newff函数语法2.1.2 常用的激活函数2.1.3 常见的训练函数2.1.4 网络配置参数2.2 train函数2.3 sim函数3. 参数设置对神经网络性能的影响3.1 隐含层节点个数3.2 激活函数的选择3.3 学习率的原创 2020-11-13 22:16:00 · 3596 阅读 · 1 评论