数据结构和算法
Object_in_java
这个作者很懒,什么都没留下…
展开
-
双向循环链表解决约瑟夫环(C语言)
第1题#include<stdio.h>#include <stdlib.h>typedef struct student{ int passwd; int id; struct student* nextStudent; struct student* preStudent;};struct student* create(int n){ //id从1开始 int nid = 1; printf("请依次输入密码\n"); student*原创 2020-12-15 22:08:01 · 633 阅读 · 0 评论 -
二叉树的定义 以及前中后序,层序遍历
class Solution { List <Integer> list = new ArrayList<>(); public List<Integer> preorderTraversal(TreeNode root) { if(root==null) return new ArrayList<>(); list.add(root.val); preorderTra..原创 2020-12-08 11:25:19 · 111 阅读 · 2 评论 -
二分法查找 (Java,c++)
class Solution { public int search(int[] nums, int target) { int pivot, left = 0, right = nums.length - 1; while (left <= right) { pivot = left + (right - left) / 2; if (nums[pivot] == target) return pivot; if (target < nu原创 2020-10-22 11:13:58 · 70 阅读 · 0 评论 -
力扣79(单词搜索)dfs回溯算法 (3)java
class Solution { public boolean exist(char[][] board, String word) { for(int i = 0;i < board.length;i++) for(int j = 0;j < board[0].length;j++) if(dfs(board,word,i,j,0)) return true;原创 2020-10-11 17:26:08 · 113 阅读 · 0 评论 -
力扣79(单词搜索)dfs回溯算法 (2)java
class Solution{private char[] words;private String word;private int n,m;private char[][] board;private int[][] direction ={{0,-1},{1,0},{0,1},{-1,0}};public boolean exist(char[][] board, String word) { this.word = word; words = word.toCharA原创 2020-10-11 16:56:31 · 116 阅读 · 0 评论 -
力扣79(单词搜索)dfs回溯算法 java
// "static void main" must be defined in a public class.class Solution { private char [][] board; private String word; private int [][] direction; private int n,m; private boolean [][] marked; public boolean exist(char[][] bo原创 2020-10-11 16:10:12 · 204 阅读 · 0 评论 -
力扣20(括号匹配)(两种方法的最简单版本)
class Solution { public boolean isValid(String s) { Deque<Character> st = new ArrayDeque<>(); char[] chrs = s.toCharArray(); int len = chrs.length,t = 0; while (t < len)//count==len时,下面的索引值==数组最大下标原创 2020-10-05 16:51:37 · 295 阅读 · 2 评论 -
括号匹配(java最简单版本)
class Solution { public boolean isValid(String s) { Deque<Character> st = new ArrayDeque<>(); char[] chrs = s.toCharArray(); int len = chrs.length,t = 0; while (t < len)//count==len时,下面的索引值==数组最大下标原创 2020-10-05 16:49:17 · 202 阅读 · 0 评论 -
求图内度为1的点的总数
#include<stdio.h>#include<string.h>#define MVNum 100 //????? typedef struct{ char vexs[MVNum]; //??? int arcs[MVNum][MVNum]; //???? int vexnum,arcnum; }AMGraph; void create(AMGraph &g,int n){原创 2020-10-03 13:02:07 · 91 阅读 · 0 评论 -
C语言 表达式树的创建与查找
#include<stdio.h>#include<stack>using namespace std;typedef struct TNode{ char data; struct TNode *left, *right;}TNode, *BTree;void preorder(BTree T){ if(T){ printf("%c", T->data); preorder(T->left); preorder(T->right);原创 2020-06-17 09:55:03 · 429 阅读 · 4 评论 -
代码极其简单01背包问题(C语言)
#include<stdio.h> int f[105][105];void package(int *w,int *v,int n,int c){ for(int i=1;i<=n;i++)//背包容量 f[i][0] = 0; for(int i=1;i<=c;i++)//物品个数 f[0][i] = 0; int i,j; for(i=1;i<=n;i++) { for(j=1;j<=c;j++) { //当容量(注1)够原创 2020-06-15 18:51:25 · 3055 阅读 · 2 评论 -
C语言(邻接矩阵,邻接表实现dfs,bfs)
dfs1.邻接矩阵#include<stdio.h>#include<string.h>#define MVNum 10 //最大顶点数 typedef struct{ char vexs[MVNum]; //顶点表 int arcs[MVNum][MVNum]; //邻接矩阵 int vexnum,arcnum; }AMGraph; int visited[MVNum];void原创 2020-06-08 10:38:28 · 1624 阅读 · 0 评论