- 博客(73)
- 资源 (1)
- 收藏
- 关注
转载 【STM32F4】I/O引脚的复用和映射
目录一、基本概念1. 什么是I/O引脚?2. 什么是I/O引脚的复用?二、如何配置I/O引脚复用?1. 复用器(GPIOx_AFRL/GPIOx_AFRH)和复用功能(AF)2. 程序编写2.1 打开I/O时钟和复用功能对应外设时钟2.2 配置I/O引脚的模式2.3 配置相应的复用器注:本博文只是对正点原子课程的又一次重复,总结正点的教程、写一些自己的感悟,并非以原创之名做抄袭之事。一、基本概念1. 什么是I/O引脚?I 是 input 之意,O 是 output 之意。I/O
2021-04-05 10:17:03 6279
原创 考试报名管理系统
/************************************************************版权所有(C)2017liusiyuan**文件名称:lsy.c*文件标识:无*内容摘要:该代码用于创建一个考试报名管理系统*其它说明:无*当前版本:V1.0*作者:刘思源*完成日期:20171221**修改记录1:*修改日期:20171
2017-12-21 09:49:30 6604 1
原创 第十五周项目3 归并排序算法的改进
采用归并排序、快速排序等高效算法进行排序,当数据元素较少时(如n≤64),经常直接使用直接插入排序算法等高复杂度的算法。这样做,会带来一定的好处,例如归并排序减少分配、回收临时存储区域的频次,快速排序减少递归层次等。 试按上面的思路,重新实现归并排序算法。 [参考解答]#include #include #include #include #define MinLeng
2017-12-13 11:04:08 168
原创 第十五周项目2 - 大数据集上排序算法性能的体验
设计一个函数,产生一个至少5万条记录的数据集合。在同一数据集上,用直接插入排序、冒泡排序、快速排序、直接选择排序、堆排序、归并排序、基数排序等算法进行排序,记录所需要的时间,经过对比,得到对复杂度不同的各种算法在运行时间方面的感性认识。提示1:这一项目需要整合多种排序算法,可以考虑先建设排序算法库,作为我们这门课算法库的收官之作; 提示2:本项目旨在获得对于复杂度不同算法的感性认识
2017-12-13 11:03:48 264
原创 第十五周项目项目4 - 英文单词的基数排序
设计一个基数排序的算法,将一组英文单词,按字典顺序排列。假设单词均由小写字母或空格构成,最长的单词有MaxLen个字母。[参考解答]#include #include #include #define MaxLen 9 //单词的最大长度#define Radix 27 //基数rd为27,分别对应' ','a',
2017-12-13 11:03:11 204
原创 第十五周项目1 验证算法(7)基数排序
用序列{57, 40, 38, 11, 13, 34, 48, 75, 6, 19, 9, 7}作为测试数据,运行并本周视频中所讲过的算法对应 程序,观察运行结果并深刻领会算法的思路和实现方法:本文是[数据结构基础系列(9):排序]中第10课时[基数排序]的例程。#include #include #include #define MAXE 20 //线性表中
2017-12-07 10:57:01 180
原创 第十五周项目1 验证算法(6)归并排序
用序列{57, 40, 38, 11, 13, 34, 48, 75, 6, 19, 9, 7}作为测试数据,运行并本周视频中所讲过的算法对应 程序,观察运行结果并深刻领会算法的思路和实现方法:本文是[数据结构基础系列(9):排序]中第8课时[归并排序]的例程。#include #include #define MaxSize 20typedef int Ke
2017-12-07 10:53:45 120
原创 第十五周项目1 验证算法(5)选择排序之堆排序
用序列{57, 40, 38, 11, 13, 34, 48, 75, 6, 19, 9, 7}作为测试数据,运行并本周视频中所讲过的算法对应 程序,观察运行结果并深刻领会算法的思路和实现方法:对算法运行过程,补充了一个示例,见[补充示例]。#include #define MaxSize 20typedef int KeyType; //定义关键字类型typedef
2017-12-07 10:52:02 152
原创 第十五周项目1 验证算法(4)交换排序之快速排序
用序列{57, 40, 38, 11, 13, 34, 48, 75, 6, 19, 9, 7}作为测试数据,运行并本周视频中所讲过的算法对应 程序,观察运行结果并深刻领会算法的思路和实现方法:1.以第1个元素作为基准#include #define MaxSize 20typedef int KeyType; //定义关键字类型typedef char InfoTyp
2017-12-07 10:49:22 133
原创 第十五周项目1 验证算法(3)交换排序之冒泡排序
用序列{57, 40, 38, 11, 13, 34, 48, 75, 6, 19, 9, 7}作为测试数据,运行并本周视频中所讲过的算法对应 程序,观察运行结果并深刻领会算法的思路和实现方法:冒泡排序#include #define MaxSize 20typedef int KeyType; //定义关键字类型typedef char InfoType[10];t
2017-12-07 10:48:05 172
原创 第十五周项目1 验证算法(2)插入排序之希尔排序
用序列{57, 40, 38, 11, 13, 34, 48, 75, 6, 19, 9, 7}作为测试数据,运行并本周视频中所讲过的算法对应 程序,观察运行结果并深刻领会算法的思路和实现方法:1.希尔排序#include #define MaxSize 20typedef int KeyType; //定义关键字类型typedef char InfoType[10];
2017-12-07 10:46:22 148
原创 第十五周项目1 验证算法(1)插入排序之直接插入排序
用序列{57, 40, 38, 11, 13, 34, 48, 75, 6, 19, 9, 7}作为测试数据,运行并本周视频中所讲过的算法对应 程序,观察运行结果并深刻领会算法的思路和实现方法:1.直接插入排序#include #define MaxSize 20typedef int KeyType; //定义关键字类型typedef char InfoType[10
2017-12-07 10:44:47 150
原创 第十四周项目3 - B-树的基本操作
实现B-树的基本操作。基于序列{4, 9, 0, 1, 8, 6, 3, 5, 2, 7}完成测试。 (1)创建对应的3阶B-树b,用括号法输出b树。 (2)从b中分别删除关键字为8和1的节点,用括号法输出删除节点后的b树。 【项目 - B-树的基本操作】 实现B-树的基本操作。基于序列{4, 9, 0, 1, 8, 6, 3, 5, 2, 7}完成测试。 (1
2017-12-07 10:07:22 228
原创 第十四周项目2 用哈希法组织关键字
已知一个关键字序列为if、while、for、case、do、break、else、struct、union、int、double、float、char、long、bool,共15个字符串,哈希函数H(key)为关键字的第一个字母在字母表中的序号,哈希表的表长为26。 (1)若处理冲突的方法采用线性探测法,请设计算法,输出每个关键字对应的H(key),输出哈希表,并求成功情况下的平均查找长
2017-12-07 10:06:05 172
原创 第十四周项目1验证算法
1、认真阅读并验证哈希表实施查找的相关算法,写程序建立序列{16, 74, 60, 43, 54, 90, 46, 31, 29, 88, 77}的哈希表,装填因子定为0.8,哈希函数为h(k)=key%p,p=11,采用线性探查法解决冲突。测试中: (1)输出建立的哈希表; (2)完成关键字为29的元素的查找; (3)在上述哈希表中删除关键字为77的元素,再显示哈希表。
2017-12-07 10:04:35 311
原创 第十三周项目三 是否二叉排序树?
【项目 - 是否二叉排序树?】 设计一个算法,判断给定的二叉树是否是二叉排序树。[参考解答] int JudgeBST()是设计的算法对应的实现。#include #include #define MaxSize 100typedef int KeyType; //定义关键字类型typedef char InfoType;type
2017-11-29 09:58:36 160
原创 第十三周项目2二叉树排序树中查找的路径
【项目 - 二叉树排序树中查找的路径】 设计一个算法,输出在二叉排序中查找时查找某个关键字经过的路径。[参考解答] 专为本项目设计的算法体现在函数int SearchBST(…)和void SearchResult()中。#include #include #define MaxSize 100typedef int KeyType;
2017-11-23 11:26:26 218
原创 第十三周项目1验证算法(2)
3、认真阅读并验证二叉排序树相关算法。 (1)由整数序列{43,52,75,24,10,38,67,55,63,60}构造二叉排序树; (2)输出用括号法表示的二叉排序树; (3)用递归算法和非递归算法查找关键字55; (4)分别删除43和55,输出删除后用括号法表示的二叉排序树。本文是[数据结构基础系列(8):查找]中第6、7课时[ 二叉排序树]的例程。#in
2017-11-23 11:24:04 169
原创 第十三周项目1验证算法
1、认真阅读并验证折半查找算法。请用有序表{12,18,24,35,47,50,62,83,90,115,134}作为测试序列,分别对查找90、47、100进行测试。折半查找#include #define MAXL 100typedef int KeyType;typedef char InfoType[10];typedef struct{ KeyType k
2017-11-23 11:20:15 227
原创 第十二周项目5拓扑排序算法验证
本文是[数据结构基础系列(7):图]中第11课时[拓扑排序]的例程。(程序中graph.h是图存储结构的“算法库”中的头文件,详情请单击链接…)[代码]#include #include #include "graph.h"void TopSort(ALGraph *G){ int i,j; int St[MAXV],top=-1;
2017-11-23 11:13:17 112
原创 第十二周项目4Floyd算法验证
本文是[数据结构基础系列(7):图]中第14课时[每对顶点之间的最短路径]的例程。[Floyd算法实现] (程序中graph.h是图存储结构的“算法库”中的头文件,详情请单击链接…)#include #include #include "graph.h"#define MaxSize 100void Ppath(int path[][MAXV],int i,int
2017-11-23 11:12:13 175
原创 第十二周项目3Dijkstra算法的验证
本文是[数据结构基础系列(7):图]中第13课时[从一个顶点到其余各顶点的最短路径]的例程。(程序中graph.h是图存储结构的“算法库”中的头文件,详情请单击链接…)#include #include #include "graph.h"#define MaxSize 100void Ppath(int path[],int i,int v) //前向递归查找路径上的顶点
2017-11-23 11:10:15 140
原创 第十二周项目2Dijkstra算法的验证
本文是[数据结构基础系列(7):图]中第13课时[从一个顶点到其余各顶点的最短路径]的例程。(程序中graph.h是图存储结构的“算法库”中的头文件,详情请单击链接…)#include #include #include "graph.h"#define MaxSize 100void Ppath(int path[],int i,int v) //前向递归查找路径上的顶点
2017-11-23 11:06:32 129
原创 第十二周项目1Kruskal算法的验证
本文是[数据结构基础系列(7):图]中第12课时[最小生成树的克鲁斯卡尔算法]的例程。(程序中graph.h是图存储结构的“算法库”中的头文件,详情请单击链接…)#include #include #include "graph.h"#define MaxSize 100typedef struct{ int u; //边的起始顶点 int v;
2017-11-23 11:05:33 149
原创 第十二周项目1Prim算法的验证
本文是[数据结构基础系列(7):图]中第11课时[最小生成树的普里姆算法]的例程。(程序中graph.h是图存储结构的“算法库”中的头文件,详情请单击链接…)#include #include #include "graph.h"void Prim(MGraph g,int v){ int lowcost[MAXV]; //顶点i是否在U中
2017-11-23 11:04:00 135
原创 第十二周项目1Prim算法的验证
本文是[数据结构基础系列(7):图]中第11课时[最小生成树的普里姆算法]的例程。(程序中graph.h是图存储结构的“算法库”中的头文件,详情请单击链接…)#include #include #include "graph.h"void Prim(MGraph g,int v){ int lowcost[MAXV]; //顶点i是否在U中
2017-11-23 11:01:34 155
原创 第十一周项目五迷宫问题之图深度优先遍历解法
【项目 - 迷宫问题之图深度优先遍历解法】 设计一个程序,采用深度优先遍历算法的思路,解决迷宫问题。 (1)建立迷宫对应的图数据结构,并建立其邻接表表示。 (2)采用深度优先遍历的思路设计算法,输出从入口(1,1)点到出口(M,N)的所有迷宫路径。[模型建立] 将迷宫中的每一格作为一个顶点,相邻格子可以到达,则对应的顶点之间存在边相连。 例如,下面的
2017-11-09 11:03:30 218
原创 第十一周项目四(2)利用遍历思想求解图问题
(程序中graph.h是图存储结构的“算法库”中的头文件,详情请单击链接…)1、最短路径 问题:求不带权连通图G中从顶点u到顶点v的一条最短路径。#include #include #include "graph.h"typedef struct{ int data; //顶点编号 int parent;
2017-11-09 11:02:03 128
原创 第十一周项目四(1)利用遍历思想求解图问题
(程序中graph.h是图存储结构的“算法库”中的头文件,详情请单击链接…)1、是否有简单路径? 问题:假设图G采用邻接表存储,设计一个算法,判断顶点u到v是否有简单路径。#include #include #include "graph.h"int visited[MAXV]; //定义存放节点的访问标志的全局数组void ExistPath(ALGraph *G
2017-11-09 11:01:12 193
原创 第十一周项目三图遍历算法实现
1、深度优先遍历——DFS(程序中graph.h是图存储结构的“算法库”中的头文件,详情请单击链接…)#include #include #include "graph.h"int visited[MAXV];void DFS(ALGraph *G, int v){ ArcNode *p; int w; visited[v]=1; printf("%d
2017-11-09 10:59:31 184
原创 第十一周项目二操作用邻接表存储的图
【项目 - 操作用邻接表存储的图】 假设图G采用邻接表存储,分别设计实现以下要求的算法: (1)输出出图G中每个顶点的出度; (2)求出图G中出度最大的一个顶点,输出该顶点编号; (3)计算图G中出度为0的顶点数; (4)判断图G中是否存在边i,j>。 利用下图作为测试用图,输出结果。 提示:(1)分别设计函数实现算法;(2)不要全部实现完再测试,而是实现一个,测
2017-11-09 10:46:43 343
原创 第十一周项目一图的基本算法库
图的存储结构主要包括邻接矩阵和邻接表,本算法库提供存储结构的定义,以及用于构造图存储结构、不同结构的转换及显示的代码。算法库采用程序的多文件组织形式,包括两个文件: 1.头文件:graph.h,包含定义图数据结构的代码、宏定义、要实现算法的函数的声明;#ifndef GRAPH_H_INCLUDED#define GRAPH_H_INCLUDED#define MAXV
2017-11-09 10:21:40 181
原创 第十周项目4哈夫曼编码的算法验证
/* * Copyright(c) 2017,烟台大学计算机学院 * All rights reserved. * 文件名称:cpp1. * 作 者:刘思源* 完成日期:2017 年 11 月 8 日 * 版 本 号:v1.0 * * 问题描述: 实现二叉树的哈夫曼编码的算法。 * 输入描述:无需输入 * 程序输出:实现各种算法的函数
2017-11-07 20:36:57 211
原创 第十周项目3中序线索化二叉树的算法验证
/* * Copyright(c) 2017,烟台大学计算机学院 * All rights reserved. * 文件名称:cpp1. * 作 者:刘思源* 完成日期:2017 年 11 月 48日 * 版 本 号:v1.0 * * 问题描述: 实现二叉树的中序线索化二叉树的算法验证。 * 输入描述:无需输入 * 程序输出:实现各种算法的函数的测试结
2017-11-07 20:35:43 182
原创 第十周项目2二叉树的层次遍历算法
/*Copyright (c++) 2017,烟台大学计算机与控制工程学院文件名称:jj作 者:刘思源完成日期:2017年11月8日版 本 号:12.11问题描述:实现二叉树的层次遍历算法,并对用”A(B(D,E(H(J,K(L,M(,N))))),C(F,G(,I)))”创建的二叉树进行测试。 ps:运用第九周项目1二叉树的算法库*/
2017-11-07 20:33:29 238
原创 第十周项目1层次遍历算法的验证
/* * Copyright(c) 2017,烟台大学计算机学院 * All rights reserved. * 文件名称:cpp1. * 作 者:刘思源* 完成日期:2017 年 11 月 8 日 * 版 本 号:v1.0 * * 问题描述: 实现二叉树的层次遍历算法,并对用”A(B(D,E(H(J,K(L,M(,N))))),C(F,G(,
2017-11-07 20:31:33 170
原创 第九周项目3用二叉树遍历思想解决问题
【利用二叉树遍历思想解决问题】(请利用二叉树算法库) 假设二叉树采用二叉链存储结构存储,分别实现以下算法,并在程序中完成测试: (1)计算二叉树节点个数; (2)输出所有叶子节点; (3)求二叉树b的叶子节点个数 (4)设计一个算法Level(b,x,h),返回二叉链b中data值为x的节点的层数。 (5)判断二叉树是否相似(关于二叉树t1和t2相似
2017-10-26 10:31:25 202
原创 第九周项目2二叉树遍历的递归算法
【二叉树遍历的递归算法】 实现二叉树的先序、中序、后序遍历的递归算法,并对用”A(B(D,E(H(J,K(L,M(,N))))),C(F,G(,I)))”创建的二叉树进行测试。 请利用二叉树算法库。[参考解答](btreee.h见算法库)#include stdio.h>#include "btree.h"void PreOrder(BTNode *b)
2017-10-26 10:23:30 268
prosys-opc-ua-simulation-server InstallOpcClient1.20.0
2022-05-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人