![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
甘甘甘甘甘甘甘
码不停题
展开
-
Dijk无优化模板
Dijk模板描述某省自从实行了很多年的畅通工程计划后,终于修建了很多路。不过路多了也不好,每次要从一个城镇到另一个城镇时,都有许多种道路方案可以选择,而某些方案要比另一些方案行走的距离要短很多。这让行人很困扰。现在,已知起点和终点,请你计算出要从起点到终点,最短需要行走多少距离。输入本题目包含多组数据,请处理到文件结束。每组数据第一行包含两个正整数N和M(0<N<200,0<M<1000),分别代表现有城镇的数目和已修建的道路的数目。城镇分别以0~N-1编号。接下来是M原创 2022-03-16 18:57:50 · 171 阅读 · 0 评论 -
带权并查集|食物链
POJ-1182这题挺恶心的,以后再补充Codepackage DisjoinSet;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.util.StringTokenize...原创 2020-01-17 13:49:26 · 100 阅读 · 0 评论 -
带权并查集|How many answer are we wrong
HDU-3038题面题目的意思大概是,连续给出多条信息,每条信息代表一段区间和。比如,1 4 5 代表[1,4]的和为5,也可以表示为(0,5]的区间和为5。然后,要求我们判断出无效的(也就是错误的)信息数目。例如,已知(0,4]区间和为5,(2,4]的区间和为2,此时我们可以计算出(0,2]的区间和为3。假如现在给了一条信息为:(0,2]的区间和为4,那么我们判断这条信息为错误信息,错误...原创 2020-01-14 20:30:57 · 123 阅读 · 0 评论 -
Huffman编码器
Huffman编码器文章目录Huffman编码器HuffmanHuffmanTreeHuffmanTreeNode待完成Huffmanimport java.util.Comparator;import java.util.PriorityQueue;/* * 只处理小写英文字母文本 * */public class Huffman { private String unco...原创 2019-12-03 22:07:57 · 234 阅读 · 0 评论 -
实现能够将二叉树中序遍历和后序遍历的结果来重建二叉树的算法
实现能够将二叉树中序遍历和后序遍历的结果来重建二叉树的算法本文的树用静态链表表示思路和测试待补充package Lab8;public class Task2 { static int[] inOrder = { 2, 5, 7, 8, 9, 12 }; static int[] postOrder = { 7, 5, 2, 12, 9, 8 }; static Node[] tr...原创 2019-11-30 13:37:53 · 322 阅读 · 0 评论 -
邻接矩阵与邻接表
邻接矩阵文章目录邻接矩阵邻接矩阵表示邻接矩阵的缺点对于无向图的存储,如何节省一半的存储空间使用邻接表,只存储邻接顶点邻接矩阵表示package Graph;/* 邻接矩阵表示图 */public class Graph { class Edge { // 定义边 int v1, v2; // 有向边<v1, v2> int weight; // 权值 p...原创 2019-11-16 14:05:50 · 582 阅读 · 0 评论 -
是否同一棵二叉搜索树
给定一个插入序列就可以唯一确定一棵二叉搜索树。然而,一棵给定的二叉搜索树却可以由多种不同的插入序列得到。例如分别按照序列{2, 1, 3}和{2, 3, 1}插入初始为空的二叉搜索树,都得到一样的结果。于是对于输入的各种插入序列,你需要判断它们是否能生成一样的二叉搜索树。输入格式:输入包含若干组测试数据。每组数据的第1行给出两个正整数N(≤10)和L,分别是每个序列插入元素的个数和需要检查的序...原创 2019-11-09 14:53:27 · 366 阅读 · 0 评论 -
AVL树
AVL平衡二叉树的高度(一个根节点时,高度为0)平衡二叉树调整RR旋转注意节点BL在RR插入后所作出的调整LL旋转注意节点BR在LL插入后所做出的的调整LR旋转注意调整是对哪三个节点作出调整RL旋转注意调整是对哪三个节点作出调整...原创 2019-11-09 12:01:15 · 137 阅读 · 0 评论 -
二分搜索树的寻找、插入与删除
二分搜索树的寻找、插入与删除文章目录二分搜索树的寻找、插入与删除节点定义寻找findfindMaxfindMin插入删除节点定义struct TNode { /* 树结点定义 */ ElementType Data; /* 结点数据 */ TNode* Left; /* 指向左子树 */ TNode* Right; /* 指向右子树 */};寻找将key值与...原创 2019-11-02 19:57:54 · 278 阅读 · 0 评论 -
二叉树同构
二叉树同构#include<iostream>#define MaxTree 10#define ElementType char#define Tree int#define Null -1using namespace std;struct TreeNode { ElementType element;// char Tree left;// int Tree...转载 2019-11-02 15:33:08 · 314 阅读 · 0 评论 -
二叉树遍历非递归实现
二叉树遍历非递归实现文章目录二叉树遍历非递归实现preOrderinOrderleverOrderpreOrder下图是二叉树前序遍历的路径,可以发现遍历过程的路径总是沿着左边,直到当前节点左子树为空,再转向当前节点的右子树。因此本文的主要逻辑如下:沿着左侧遍历,当遇到节点时访问节点并将当前节点入栈直到当前节点为空时,栈顶元素出栈(相当于返回上一状态),当前节点转向右子树重复执行...原创 2019-10-29 22:48:38 · 197 阅读 · 0 评论