自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 经典迷宫问题(C++)简单DFS算法

经典迷宫问题(C++)*给出一个起点S输入地图‘.’ 代表可以走‘ ’代表墙壁不能走‘T’代表终点question:判断是否能够能从到达终点 (不要求最短路径)thinking and methods :单独考虑一个点,从上下左右四个方向进行探索,如果满足条件(不是墙壁&&未超界&&未被探索过),向这个方向探索(递归),直到满足条件或者无路可走return 进行回溯 好好理解dfs(x,y)回溯之后的下一步:vis[tx][ty]=0 “还原现场”;

2021-01-12 15:27:01 3324

原创 数组实现的单链表

单链表

2021-01-11 16:30:40 1465 2

原创 Prim算法- - -c语言

// Created on 小文的爱拍得.//adjvex[]数组表示 未加入生成树顶点 到生成树最小距离 的顶点 即最短距离//lowcost[]数组表示 未加入生成树顶点 到生成树的最小距离#include <stdio.h>void Prim(MGraph G){ int min,i,j,k; int adjvex[MAXVEX];//保存相关顶点下标 int lowcost[MAXVEX];//保存 未加入生成树的 顶点到生成树 的距离 lowcost[0

2022-06-12 14:25:28 430 2

原创 链表快慢指针

链表快慢指针struct ListNode* endOfFirstHalf(struct ListNode* head) { struct ListNode* fast = head; struct ListNode* slow = head; while (fast->next != NULL && fast->next->next != NULL) { fast = fast->next->next;

2022-04-17 21:44:09 618

原创 反向输出链表

###反向输出链表function print_values_in_reverse(ListNode head) if head is NOT null print_values_in_reverse(head.next) print head.val

2022-04-17 21:07:53 324

原创 合成两个有序链表

合成两个有序链表题目要求:将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。

2022-04-16 16:18:27 105

原创 翻转链表-三指针法

翻转链表struct ListNode* reverseList(struct ListNode* head){ //三指针迭代 struct ListNode* pre=NULL; struct ListNode* cur=head; while(cur){ struct ListNode* next=cur->next; cur->next=pre; pre=cur; cur=next;

2022-04-16 15:16:13 303

原创 删除链表的倒数第N个结点

要求: 给你一个链表,删除链表的倒数第n个结点,并返回链表的头结点。

2022-04-16 14:09:38 1028

原创 单链表删除元素之狸猫换太子法

条件:单链表 给定一个结点要求:删除该结点

2022-04-15 21:13:39 82 1

原创 迷宫最短路径(C++)

迷宫最短路问题接上次经典迷宫问题问题:这次迷宫问题不仅要求判断是否能够找到通路,并且要求找到最短能到达迷宫所需的步数,即最短路径问题暴力算法:对每个结点进行遍历,记录每种路径的步数;优化剪枝:当遍历步数大于ans之前第一次找到ans初始化值为无穷大,当第一次找到通路路径后,ans被第一次step替换。之后的每次路径只要比前一次step小,就会被step小的替代;剪枝:而在寻找通路的过程中,只要步数大于了前一次所找通路的step,这次寻找终止,返回下一次寻找;代码如下:#include <

2021-01-12 16:58:05 3736

原创 DFS 1-n的全排列

#include <stdio.h>#include <iostream>using namespace std;int a[101],b[101],n;void print(){ int i; for(i=1;i<=n;i++) { cout<<a[i]<<' '; } cout<<endl;}inline void dfs(int i)//现在是第i层,也可以看成是第i个盒子,把数据放到这个盒子里 { in

2021-01-12 11:32:57 142

原创 while与scanf()与cin输入搭配

while循环与scanf()与cin输入搭配1.while(scanf("%d,&n)&&n!=0)while(scanf("%d",&n&&n)while(scanf("%d",&n),n)功能:当输入n且n!=0时继续循环,当n为0时结束循环(上述三种写法都可实现此种功能)while(scanf("%d,&n)!=EOF)和while(~scanf("%d",&n)功能:当读到文件结尾时终止循环3.whil

2021-01-12 10:39:28 256

原创 单调栈

单调栈用来求一个数组中离一个数最近且小于他的数形成一个单调有序数组 ,powerby stack代码如下#include <stdio.h>#include <iostream>using namespace std;const int N=100010;int n;int stk[N],tt;int main(){ cin>>n; for(int i=0;i<n;i++) { int x; cin>>x;

2021-01-11 22:05:33 99

原创 KMP算法

KMP算法由暴力查找匹配字符优化而来的KMP字符匹配算法以及next[]数组的求解代码如下#include <stdio.h>#include <string.h>void Next(char*T,int *next){ int i=1; next[1]=0; int j=0; while (i<strlen(T)) { if (j==0||T[i-1]==T[j-1]) { i++;

2021-01-11 22:00:04 86

原创 City game 不规则区域中寻找最大符合题意面积

City game不规则区域中寻找最大符合题意面积解题思路:将图中每个点赋予其长度和宽度R F F F F FF F F F F FR R R F F FF F F F F FF F F F F FF为可行点 R为不可行点赋予后地图:0 1 2 3 4 51 2 3 4 5 60 0 0 1 2 31 2 3 4 5 61 2 3 4 5 6代码如下 1 include<bits/stdc++.h> 2 using namespace std; 3 int a

2021-01-11 21:49:52 187 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除