- 博客(10)
- 收藏
- 关注
原创 C++算法(Acwing)学习(持续更新中)---双向BFS(双向广搜)和A-Star(A*)
A*算法---从起点到终点的最短距离(启发函数)适用于数据范围较大。保证当终点出队时是最小值(但是不保证中间的某个点出队时是最小值)除了存真实距离值外(从起点到当前点的真实距离)还要存一个估计距离(从终点到当前点的估计距离)每次挑一个预测距离+真实距离最短的点扩展。需满足条件---估计的距离<=真实距离(从当前点到终点)基本步骤:(有点像dijkstra(形式上))t<-优先队列的对头(小根堆)dijkstra可看作所有估价为0的A*算法。1.首先将bfs中的队列都换成优先队列。1.BFS 在入队时判重。
2024-04-28 21:32:36
473
原创 C++算法(Acwing)学习(持续更新中)---单源最短路问题的简单应用
1)边权均非负:朴素dijkstra算法(稠密图),堆优化dijkstra算法(稀疏图)---------堆优化dijkstra算法(稀疏图)O(mlogn) m表示遍数。---------朴素dijkstra算法(稠密图)O(n*n) n表示点数。2)有负权边:bellman-ford,spfa(99%)多源最短路----Floyd算法----O(n*n*n)--------SPFA O(m),最坏O(nm)单源最短路的常见解题思路。
2024-04-19 12:50:52
193
1
原创 C++算法(Acwing)学习(持续更新中)---Flood Fill
Flood Fill 算法可以在线性时间复杂度内,找到某个点所在的连通块。Flood Fill 洪水覆盖问题。八连通是公共点,四连通是公共边.----统计每个连通块里的个数。小知识----数组模拟队列。-----统计连通块的数量。深搜(dfs)可能会爆栈。----每个连通块的类型。
2024-04-17 21:59:11
422
1
原创 C++算法(Acwing)学习(持续更新中)---并查集
并查集的应用主要有以下几点:1.合并两个集合 2.查询某个元素的祖宗节点合并两个集合Acwing836.合并集合相关练习Acwing1250.格子合并观察题意:发现我们要判断画完线后有没有围成环而如果能围成一个环,那么最后画的线的两个端点必然已经在一个连通块内判断是否在一个连通块————使用并查集算法步骤如下:如果两个端点已经在同一个集合(find操作),那么成环如果两个端点不在同一个集合内(find操作),那么这两个集合连通,合并两个集合Acing 1252 搭配购买我们对Markd
2024-04-15 22:53:20
820
1
原创 基于tushare实现所有股票的下载和均值计算排序
在笔者的上篇文章中,已经能够简单的下载一只股票的数据以及完成导入数据库和进行数据库,实现股票数据的更新等的相关操作,在这篇博客中,笔者将实现利用接口实现所有数据的下载,并计算均值实现均值排序等。
2023-07-17 11:19:08
707
1
原创 利用tushare获取股票数据并实现导入数据库和数据库插入当日数据等操作
这里笔者使用的是mysql的数据库和datagrip的可视化应用,datagrip能够直接导入文件,由于我们上面刚刚得到了一个csv文件,所以我们直接使用mysql的导入功能即可。tushare下载的价格数据,每个字段的名称,以及排列顺序可能不符合PyAlgoTrade的格式要求,所以需要对文件进行改写(当然根据读者的需求来看是否要进行改写)。由于笔者对于线程和进程的学习不够深入,暂时无法做到每日定时更新,所以在这里我们可以获取每日的股票数据,然后在通过pymysql插入到mysql数据库当中。
2023-07-13 18:24:47
6667
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅