算法
Beyonderwei
知识不难,难的是要会运用知识和具有执行力。
展开
-
数据结构——插入排序
文章目录一、排序思想二、图解三、代码实现一、排序思想将数据元素,一个一个的插入到当前已经排序好的表中。二、图解三、代码实现void insertSort(int array[], int length){ int i, j, tmp; for(i = 1; i < length; i++) { if(array[i] < array...原创 2020-03-01 21:47:35 · 291 阅读 · 0 评论 -
数据结构——交换排序(冒泡排序、快速排序)
文章目录一、冒泡排序排序思想图解代码实现二、快速排序排序思想图解代码实现一、冒泡排序排序思想从头到尾,两两比较相邻的两个元素,如果顺序不对,则交换顺序,这样每一次即可将参与比较中最小的找出来。图解从下向上,如果array[i]<array[i-1]则进行交换,如最左侧的一列,35交换-37交换-32不换-21不换-14交换-16交换。这样就得到了第二列,循环执行。代码实现/*...原创 2020-03-01 21:47:51 · 407 阅读 · 0 评论 -
数据结构——选择排序
文章目录一、排序思想二、图解三、代码实现一、排序思想每一次取出没有被排序的元素中最小的元素。二、图解先从已有的七个中找到最小的(下标为2),记住下标,与下标为0的交换。从剩下的六个中再找到这六个中最小的(下标为3),记住下标,与下标为1的交换。直到循环六次(N-1次),全部排好。三、代码实现/** * * @param array[] 要排序的数组 * ...原创 2020-03-01 21:47:18 · 703 阅读 · 0 评论 -
数据结构——查找(平衡二叉树、分块索引、哈希表对比)
文章目录一、平衡二叉树1. 解决的问题2. 概念3. 分析二、分块索引1. 解决的问题2. 概念3. 使用场景三、哈希表1. 解决的问题2. 概念使用场景一、平衡二叉树1. 解决的问题 对于顺序存储的有序表在查找时可以采用二分法、插值法等查找方式,使查找的时间复杂度由 O[n]O[n]O[n] 提高到了O[logn]O[log_n]O[logn] ,但是面临的问题是,顺序存储的有序...原创 2020-03-01 21:47:01 · 664 阅读 · 0 评论 -
数据结构——最小生成树
文章目录一、相关概念二、问题导向三、相关算法Prim算法:Kruskal算法:一、相关概念连通图:图中的任意两个节点之间都是联通的,即:总能从A节点按照一定路径走到B节点。生成树:为联通图的一个联通子图,包含N个结点和N-1条边。最小生成树:当联通图中的每条边带有权值时,所有边权值和最小的生成树。二、问题导向 各个城市之间修建铁路,城市之间铺设电缆、水管等,不考虑环境等复杂因...原创 2020-03-01 21:46:42 · 670 阅读 · 0 评论 -
数据结构——链表
文章目录一、概念二、分类三、单链表四、循环链表一、概念线性表:多个数据元素组成的有限序列。链表:线性表的链式存储结构二、分类单链表:链表的结点包含数据域和指针域,指针域只有一个,并指向下一个结点。循环链表:单链表中,终端结点的指针由空指针改为指向头结点的指针,形成一个环。双向链表:结点中除数据域以外包含两个指针域,一个指向前驱结点,一个指向后继结点。三、单链表注:C语言实...原创 2020-03-01 21:45:02 · 545 阅读 · 0 评论 -
数据结构——KMP模式匹配算法
文章目录注:普通的匹配方式以及KMP匹配的方式,实现快速查找子串。并对程序进行测试。/** * kmp.c * * Created on: 2020年1月31日 * Author: Beyonderwei */#include <stdio.h>#include <stdlib.h>#include <string.h>/*...原创 2020-03-01 21:46:00 · 339 阅读 · 0 评论 -
数据结构——赫夫曼树
文章目录一、实际问题场景二、赫夫曼树概念:分析:构造赫夫曼树:一、实际问题场景比如要为学生的成绩按照分数线分为优、良、中、及格、和不及格,对应的分数线如下:等级优良中及格不及格分数区间90-10080-8970-7960-690-59分数在该区间的概率10%30%40%10%10%现在有大量的学生的成绩需要对比,如果按照下面两种顺序...原创 2020-03-01 21:46:17 · 379 阅读 · 0 评论 -
四旋翼 PID 控制
文章目录一、PID 原理二、四旋翼串级双闭环 PID 控制1. 外环一、PID 原理 偏差控制,利用目标值(期望值)与实际测量值构成的偏差(误差)对被控对象进行线性的控制。偏差 = 目标值 - 测量值。二、四旋翼串级双闭环 PID 控制1. 外环...原创 2019-05-17 20:02:00 · 8987 阅读 · 3 评论 -
卡尔曼(Kalman)滤波算法原理、C语言实现及实际应用
文章目录卡尔曼滤波一、滤波效果展示二、简介三、组成1. 预测状态方程(1)目的:(2)方程:(3)备注2. 预测协方差方程(1)目的(2)方程(3)备注3. 卡尔曼增益方程(1)目的(2)方程(3)备注4. 跟新最优值方程(卡尔曼滤波的输出)(1)目的(2)方程(3)备注5. 更新协方差方程(1)目的(2)方程(3)备注四、C 程序代码实现1. 参数列表2. 代码实现(一维数据滤波)五、发送波形到...原创 2019-05-17 11:11:28 · 75738 阅读 · 47 评论