复习基础算法知识
ALAN_CF
苔花如米小,也学牡丹开
展开
-
滑动窗口-LeetCode
学习原创 2023-02-15 12:56:16 · 64 阅读 · 0 评论 -
边界二分查找
学习原创 2023-02-15 12:52:38 · 133 阅读 · 0 评论 -
基本二分查找-LeetCode
学习原创 2023-02-15 12:51:12 · 68 阅读 · 0 评论 -
LeetCode 剑指offer52
输入两个链表,找出它们的第一个公共节点。如下面的两个链表:在节点 c1 开始相交。示例 1:输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3输出:Reference of the node with value = 8输入解释:相交节点的值为 8 (注意,如果两个列表相交则不能为 0)。从各自的表头开始算起,链表 A 为 [4,1,8,4,5],链表 B 为 [5,0,原创 2021-07-21 22:39:04 · 61 阅读 · 0 评论 -
算法实验4-1:回溯法01背包
#include<bits/stdc++.h>using namespace std;int value[100];int weight[100];vector<int> track;int visited[100] = {0};int panduan(int visited[],int n){ int sym = 0; for (int i = 0; i < n - 1; i++) { if(visited[i]!=0)原创 2021-06-03 18:50:17 · 157 阅读 · 0 评论 -
算法实验3-2
贪心策略,多机调度#include<bits/stdc++.h>using namespace std;int project[100];int M[100];vector<int> project_x;struct x{ vector<int> s;}S[100];int partition(int a[],int left,int right){ int exchange = 0; int i = left; int原创 2021-05-23 11:55:55 · 82 阅读 · 0 评论 -
算法实验3-1
贪心策略,单源最短路径#include<bits/stdc++.h>using namespace std;int number[100][100] = {0};int dis[100] = {0};int book[100] = {0};struct x{ vector<int> path;}Path[100];const int INF = 0x3f3f3f3f;int main(){ int n, c; cout <<原创 2021-05-23 11:42:07 · 244 阅读 · 3 评论 -
算法实验2-2
01背包问题算法实验2-2,动态规划法实现01背包问题~~明天上实验课,还有个任一点出发的tsp没做完,呜呜呜#include<bits/stdc++.h>using namespace std;int value[100][100] = {};int path[100][100] = {};vector<int> w;vector<int> v;int main(){ int n, c, x; cin >> n >> c;原创 2021-05-12 00:38:43 · 102 阅读 · 0 评论 -
算法实验2-1
TSP问题算法实验二第一题,动态规划处理tsp问题,要求:从任意城市出发,走过所有城市再回到出发点,求最短路径,正在学习实现问题要求ing代码已经解决从0点出发,回到0点的最短路径,明天接着写//TSP问题#include<bits/stdc++.h>using namespace std;//二进制运算,生成子集vector<int> print_subset(int n, int s,int c){ vector<int> exchange;原创 2021-05-12 00:31:29 · 116 阅读 · 0 评论 -
凸多边形对角线问题
凸多边形的对角线问题对角线条数所有对角线之间的交点个数对角线条数 设边数为n ,则任意不相邻的两个点之间存在一条对角线,从n个顶点中任意去取出两个 点,组合问题,n*(n-1)/2 种不同情况,再减去相邻的两个点之间的边数 n ,即对角 线条数为n*(n-3)/2所有对角线之间的交点个数 每两条对角线相交于一个点,对应着四个多边形的顶点,即从n个顶点中任意取出四个 不同的顶点,组合问题,即[n*(n-1)*(n-2)*(n-3)] / (4*3*2*1) 也就是[n*(原创 2021-04-13 00:18:28 · 1336 阅读 · 0 评论 -
直接插入法排序,vector数组实现(有关vector数组越界问题处理)
直接插入法排序,vector数组实现(以及"vector subscript out of range"越界问题处理)直接插入法基本原理代码段直接插入法基本原理在从小到大的排序过程中,设置一个哨兵位,如果a[ i ] > a[ i - 1 ](i 从 1 开始计数)则由哨兵位存储a[ i ]的value,此时哨兵大于a[ i - 1 ],从a[ i - 1 ]开始向前依次取a中各个元素与哨兵位比较大小,小于哨兵位的value值,则将其位置向后挪动一位,a[ i ]的值被替换为a[ i - 1]的值原创 2021-03-31 16:51:27 · 506 阅读 · 0 评论