
数据结构与算法
changaspl
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数据结构 6-5 链式表操作集 (20 分)
6-5 链式表操作集 (20 分)本题要求实现链式表的操作集。函数接口定义:Position Find( List L, ElementType X );List Insert( List L, ElementType X, Position P );List Delete( List L, Position P );其中List结构定义如下:typedef stru...原创 2018-10-15 19:37:34 · 12719 阅读 · 5 评论 -
java 简单数据结构表示与方法调用
需要用什么数据结构就用什么接收就行了,因为都是他的父类例如:Queue<Node> queue = new LinkedList<>();然后再调用相应的方法类 LinkedList<E>队列:(说明,其中是刷题常用的一些方法) boolean offer(E e) (入队) 将指定元素添加到此列...原创 2019-01-09 17:27:52 · 356 阅读 · 0 评论 -
欧拉回路
目录定义判定(充要条件)算法分析定义 欧拉路径(欧拉通路):通过图中所有边的简单路。(换句话说,每条边都通过且仅通过一次)也叫”一笔画”问题。 欧拉回路:闭合的欧拉路径。(即一个环,保证每条边都通过且仅通过一次) 欧拉图:包含欧拉回路的图。判定(充要条件) 下列是判定一个图中是否有欧拉回路/欧拉路径的充要条件。欧拉回路图G是连通的,无孤立点。...原创 2019-01-15 15:47:46 · 260 阅读 · 0 评论 -
数位DP 记忆化搜索 不要62HDU2089(java实现)
数位dp数位dp = dfs + 记忆化主要思路HDU2089 AC代码数位dp = dfs + 记忆化主要思路1.dfs本是暴力解决问题的一种方法,数位dp是利用动态规划是思想把以前搜索过的过程记录下来,如果到下一次需要这个结果是就可以直接返回这个值,不需要再从新计算了2.一般我们是从高位往低位搜索,如果我们需要的结果dp数组里面有我们就不需要从新计算了,如果搜索到了个位就返回一(就是...原创 2019-01-27 15:35:11 · 543 阅读 · 0 评论 -
逆元 HDU5686 HDU 1576 java实现
package _012HDU5685;//暴力解---超时//import java.math.BigInteger;//import java.util.Scanner;////public class Main {// public static BigInteger MOD = new BigInteger("9973");// public static void ...原创 2019-02-22 23:24:01 · 217 阅读 · 0 评论 -
KMP java实现 实测KMP与indexOf速度
java库的代码是暴力解的,可是库的indexOf要比KMP快上百倍emmmmmm以下是codepackage KMP;public class Main { //实测 KMP 与 indexOf public static void main(String[] args) { String str = "hdgzfsdgzszgfdzgvrvdfzgabcabcababa...原创 2019-02-22 23:29:52 · 1622 阅读 · 1 评论 -
马拉车算法 java
Manacherpackage Manacher;public class Main { public static void main(String[] args) { // TODO Auto-generated method stub } public static char[] manacherString(String str) { char[] ...原创 2019-02-22 23:31:58 · 299 阅读 · 0 评论 -
蓝桥杯官网OJ 快速排序 ----java快读
java何时使用快读:当数据量达到10^5以上并且数据是一行一行读入的import java.io.*;import java.util.Arrays;public class Main { public static void main(String[] args) throws IOException { BufferedReader reader = ne...原创 2019-02-22 23:41:12 · 745 阅读 · 0 评论 -
ALGO194审美课 java
《审美的历程》课上有n位学生,帅老师展示了m幅画,其中有些是梵高的作品,另外的都出自五岁小朋友之手。老师请同学们分辨哪些画的作者是梵高,但是老师自己并没有答案,因为这些画看上去都像是小朋友画的……老师只想知道,有多少对同学给出的答案完全相反,这样他就可以用这个数据去揭穿披着皇帝新衣的抽象艺术了(支持帅老师^_^)。 答案完全相反是指对每一幅画的判断都相反。输入格式 第一行两个数n和...原创 2019-02-24 22:38:35 · 233 阅读 · 2 评论 -
Uva247 Floyd+dfs java
If you've seen television commercials for long-distance phone companies lately, you've noticed that many companies have been spending a lot of money trying to convince people that they provide the bes...原创 2019-07-11 22:33:36 · 84743 阅读 · 0 评论 -
POJ3259 Bellman模板 java
AC 代码package _03___图论;import java.util.ArrayList;import java.util.Arrays;import java.util.LinkedList;import java.util.List;import java.util.Queue;import java.util.Scanner;public class _02_...原创 2019-07-20 21:16:12 · 241 阅读 · 0 评论 -
Dijkstra java 模板
package _00___Dijkstra;import java.util.ArrayList;import java.util.Arrays;import java.util.Comparator;import java.util.List;import java.util.Scanner;import java.util.concurrent.PriorityBlockin...原创 2019-08-02 16:03:23 · 278 阅读 · 0 评论 -
java 类 LinkedList<E> 表示 数据结构 堆 栈 队列 双端队列
java 类 LinkedList<E> 表示 数据结构 堆 栈 队列 双端队列今日java刷题收获。。本来刷题时需要用到数据结构 队列 (先进先出)键盘敲了一个Queue<Node> queue = new Queue();结果是一个接口,要实现所有的方法emmmmmmm。。。。。。。。。后来百度/* Queue: 基本上,一个队列就是...原创 2019-01-09 17:02:52 · 449 阅读 · 0 评论 -
下落的树叶UVa699 java
下落的树叶Each year, fall in the North Central region is accompanied by the brilliant colors of the leaves on thetrees, followed quickly by the falling leaves accumulating under the trees. If the same ...原创 2019-01-10 22:47:27 · 227 阅读 · 0 评论 -
细解 二叉树:已知先序和中序求后序,已知中序和后序求先序
树的三种遍历方式的遍历顺序:先序遍历:根、左子树、右子树(特点:第一个元素为根)中序遍历:左子树、根、右子树(特点:根的两边分别为左子树和右子树)后序遍历:左子树、右子树、根(特点:最后一个元素为根)有如下图的二叉树:其先序、中序、后序遍历分别为:DBACEGF、ABCDEFG、ACBFGED。1、已知先序和中序求后序先序遍历的第一个字符为根,因此只需在中序遍历中找到它,就可以把根...原创 2019-01-10 20:27:18 · 11246 阅读 · 7 评论 -
基数排序
基数排序算法思想:基数排序又称为“桶子法”,从低位开始将待排序的数按照这一位的值放到相应的编号为0~9的桶中。等到低位排完得到一个子序列,再将这个序列按照次低位的大小进入相应的桶中,一直排到最高位为止,数组排序完成。分类:LSD——从低位向高位排MSD——从高位向低位排算法执行步骤:(1)遍历序列找出最大的数(为的是确定最大的数是几位数);(2)开辟一个与数组大小相同的...原创 2018-09-27 20:21:53 · 161 阅读 · 0 评论 -
数据结构 6-6 带头结点的链式表操作集 (20 分)
6-6 带头结点的链式表操作集 (20 分)本题要求实现带头结点的链式表操作集。函数接口定义:List MakeEmpty(); Position Find( List L, ElementType X );bool Insert( List L, ElementType X, Position P );bool Delete( List L, Position P );...原创 2018-10-15 20:03:12 · 8240 阅读 · 4 评论 -
数据结构 6-7 在一个数组中实现两个堆栈 (20 分)
6-7 在一个数组中实现两个堆栈 (20 分)本题要求在一个数组中实现两个堆栈。函数接口定义:Stack CreateStack( int MaxSize );bool Push( Stack S, ElementType X, int Tag );ElementType Pop( Stack S, int Tag );其中Tag是堆栈编号,取1或2;MaxSize堆栈数组...原创 2018-10-15 23:02:15 · 3313 阅读 · 2 评论 -
C语言 实现顺序栈
实现代码#include<stdio.h>#include<stdlib.h>#define MaxSize 10typedef int ElemType;typedef struct{ ElemType data[MaxSize]; int top; }SqStack;void InitStack(SqStack *&s){ s = (...原创 2018-10-26 00:04:58 · 166 阅读 · 0 评论 -
C语言 链表实现栈
实现代码#include<iostream>#include<stdlib.h>using namespace std;typedef int ElemType;typedef struct linknode { ElemType data; struct linknode *next;} LinkStNode;void InitStack(Link...原创 2018-10-26 00:06:14 · 212 阅读 · 0 评论 -
常见数据结构 java
常见Java数据结构&优缺点数组 优点:查询快,如果知道索引可以快速地存取 缺点:删除慢,大小固定 有序数组 优点:比无序数组查找快 缺点:删除和插入慢,大小固定 栈 优点:提供后进先出的存取方式 缺点:存取其他项很慢 队列 优点:提供先进先出的存取方式 缺点:存取其他项都很慢...原创 2018-10-27 22:57:30 · 245 阅读 · 0 评论 -
java语言的各种输入情况(ACM常用)
java语言的各种输入情况(ACM常用)1.只输入一组数据:Scanner s=new Scanner(System.in);int a=s.nextInt();int b=s.nextInt();2.输入有多组数据,没有说明输入几组数据,每组数据占一行: Scanner s=new Scanner(System.in);while(s.hasnext()){//判断是...原创 2018-11-28 22:56:14 · 320 阅读 · 0 评论 -
常见算法博弈问题结论
一. 巴什博奕(Bash Game):A和B一块报数,每人每次报最少1个,最多报4个,看谁先报到30。这应该是最古老的关于巴什博奕的游戏了吧。其实如果知道原理,这游戏一点运气成分都没有,只和先手后手有关,比如第一次报数,A报k个数,那么B报5-k个数,那么B报数之后问题就变为,A和B一块报数,看谁先报到25了,进而变为20,15,10,5,当到5的时候,不管A怎么报数,最后一个数肯定...原创 2018-11-27 16:59:52 · 1430 阅读 · 0 评论 -
树的(先中后,层级)遍历(递归)C语言 数据结构
树的递归遍历真的超级简单..........前中后序无非是看打印语句(printf)的位置了,代码如下:#include <stdio.h>#include <stdlib.h>typedef char ElementType;typedef struct TNode *Position;typedef Position BinTree;struct...原创 2018-12-11 20:26:38 · 517 阅读 · 0 评论 -
String hashCode 方法为什么选择数字31作为乘子
1. 背景某天,我在写代码的时候,无意中点开了 String hashCode 方法。然后大致看了一下 hashCode 的实现,发现并不是很复杂。但是我从源码中发现了一个奇怪的数字,也就是本文的主角31。这个数字居然不是用常量声明的,所以没法从字面意思上推断这个数字的用途。后来带着疑问和好奇心,到网上去找资料查询一下。在看完资料后,默默的感叹了一句,原来是这样啊。那么到底是哪样呢?在接下来章...转载 2018-12-30 11:35:12 · 180 阅读 · 0 评论 -
POJ_3268 Dijkstra java
这道题我的第一思路是Floyd,时间复杂度是1000*1000*1000,肯定超时所以用Dijkstra,用两次就行了,去一次,回来一次,由于图是单向的,所以我建立的两张图(一张是起点与终点反过来的),都是以聚会地点为起点,到各个点的距离package _03___图论;import java.util.ArrayList;import java.util.Arrays;...原创 2019-08-02 16:09:19 · 273 阅读 · 0 评论