
数据结构实现
数据结构随笔
菜的深沉
编码五分钟,调试两小时
展开
-
Huffman编码---java代码实现
import java.util.*;public class HuffmanCodeing { private String code; private BinaryTree huffmanTree; private class BinaryTree{ private Character character; private BinaryTree leftTree; private BinaryTree rightTree;原创 2022-02-22 19:52:48 · 259 阅读 · 0 评论 -
用Kruskal算法求最小生成树
输入格式:第一行输入结点数量T后续T行每行输入边的起点from、终点next、权weigth输出:最小生成树的权值之和import java.util.*;public class Kruskal { static final int MAX=(int)(1e5+10); static int T; static Edge[] edge=new Edge[MAX]; static int[] s=new int[MAX]; public static v原创 2021-05-21 22:45:13 · 303 阅读 · 0 评论 -
根据身份证号码前14位计算全部有效后四位
#include<iostream>#include<string>using namespace std;int cal(string a){ return (a[0] - '0') * 7 + (a[1] - '0') * 9 + (a[2] - '0') * 10 + (a[3] - '0') * 5 + (a[4] - '0') * 8 + (a[5] - '0') *4 + (a[6] - '0') * 2 + (a[7] - '0') * 1 + (a[原创 2021-05-20 11:32:04 · 5542 阅读 · 8 评论 -
用Java集合实现有向图的领接表存储
1.ArrayList+LinkedListimport java.util.ArrayList;import java.util.LinkedList;import java.util.Scanner;public class Main { static final int MAX=10; public static void main(String[] args) { Scanner cin=new Scanner(System.in); Arr原创 2021-05-20 09:40:02 · 375 阅读 · 0 评论 -
堆排序
顺序输出#include<bits/stdc++.h>using namespace std;void Down(int Array[],int i,int n){ if(i>=n) return; int Max=i; int Child1=2*i+1; int Child2=2*i+2; if(Child1<n&&Array[Child1]>Array[Max]) Max=Chil原创 2020-07-24 18:28:24 · 93 阅读 · 0 评论 -
二叉树的基本运算及实现(括号表示法)
#include<iostream>#include<stdlib.h>using namespace std;struct TreeNode {//树节点 char data;//数据域 struct TreeNode *Lchild;//左孩子结点 struct TreeNode *Rchild;//右孩子结点};void CreateBTNode(TreeNode *&root, char *str) {//创建二叉链 Tr原创 2020-05-12 21:06:19 · 3062 阅读 · 0 评论