![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
基础的简单的数据结构介绍
怡人蝶梦
https://alex-yrdm.github.io
XDU --> BUPT
展开
-
排序--选排,插排,快排
/* * * 排序方法的分类: * 1.按存储介质: 内部排序和外部排序 * 内存和外存 * 2.比较器个数: 串行排序和并行排序 * 单处理器和多处理器 * 3.主要操作: 比较排序和基数排序 * 比较方式 非比较方式 * 4.辅助空间: 原地排序和非原地排序 * 原地排序:不需要额外的辅助空间.空间复杂度O(1) * 5.稳定性: 稳定排序和非稳定排序 * 稳定原创 2022-03-19 11:09:56 · 160 阅读 · 0 评论 -
DS--树
/************** Project: Binary TreeDate: 2021/11/14~2021/11/16Author: Alex_YRDM***************/#define max(a,b) (a>b?a:b)#define MAXSIZE 1000#include<stdio.h>#include<stdlib.h>#include<string.h>#include<iostream>原创 2022-03-19 11:06:34 · 142 阅读 · 0 评论 -
DS--串(堆分配储存实现)
/*****************Project: StringDate: 2021/11/12Author: Alex_YRDM*****************//*串的顺序定长存储这里就不实现了,为什么呢?因为......(我不喜欢这种)进入正题:串的堆分配存储表示:*//*functions:int StrLength(String s); 参数:串s,功能:返回串长度,时间复杂度:O(1)int StrAssi原创 2022-03-19 11:04:55 · 262 阅读 · 0 评论 -
DS--队列(循环队列和链队列)
/*****************Project: Queue(Sequence Circular queue and LinkQueue)Date: 2021/11/12Author: Alex_Yrdm******************//***************Part1: Sequence Circular queue***************//*Sequence Circular queue functions: int InitQueu原创 2022-03-19 11:03:34 · 230 阅读 · 0 评论 -
DS--栈(顺序栈和链栈)
/**************************Project: stack(Sequence Stack and LinkStack)Date: 2021/11/11Author: Alex_YRDM****************************//**************Part1: Sequence Stack**************//***************Sequence Stack functions:int size(SqStack原创 2022-03-19 11:02:11 · 186 阅读 · 0 评论 -
DS--顺序表和链表
/****************Project: List(Sequence List and LinkList)Data: 2021/09/14,2021/11/11整理完毕Author: Alex_yrdm****************//*****************Part1: Sequence List*****************//* Sequence List dynamic allocation: void show(SqList L);原创 2022-03-19 10:59:43 · 823 阅读 · 0 评论 -
XDOJ--水仙花数
题目: 水仙花数类别流程控制时间限制 2S内存限制 10000Kb问题描述 水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3 + 3^3 = 153)。定义一个函数int function(int a, int b),计算区间[a,b]或区间[b,a]上水仙花数的个数。输入说明 输入由两个整数a和b构成,a和b之间用空格分隔。0<a,b<10000输出说明 输出区间[a,b]或区间[b,a]上水仙花原创 2021-12-27 17:42:55 · 795 阅读 · 0 评论 -
XDOJ--链表逆置
试题名称 单链表逆置问题描述:输入一个以0结尾的整数序列,创建一个有头结点的单链表表示该整数序列(不包含0),对该链表进行就地逆置,请完成对单链表进行逆置的函数,只需提交reverseList函数定义的代码。链表结点类型定义、函数声明及main函数定义如下:typedef struct LNode{int data; //数据域struct LNode *next; //指针域}LNode, *LinkList;LinkList createList();原创 2021-12-27 17:39:30 · 714 阅读 · 0 评论 -
XDOJ--图的深度优先遍历
题目:图的深度优先遍历问题描述已知无向图的邻接矩阵,以该矩阵为基础,给出深度优先搜索遍历序列,并且给出该无向图的连通分量的个数。在遍历时,当有多个点可选时,优先选择编号小的顶点。(即从顶点1开始进行遍历)输入格式第一行是1个正整数,为顶点个数n(n<100),顶点编号依次为1,2,…,n。后面是邻接矩阵,n行n列。输出格式共2行。第一行输出为无向图的深度优先搜索遍历序列,输出为顶点编号,顶点编号之间用空格隔开;第二行为无向图的连通分量的个数。样例输入60 1 0 0 0 01 0原创 2021-12-27 17:33:13 · 461 阅读 · 0 评论 -
XDOJ--二叉树遍历
题目:二叉树遍历问题描述给定一棵二叉树的先序遍历和中序遍历序列,求其后序遍历序列。输入格式输入数据有两行,为两个字符串,其长度n均小于等于26。第一行为先序遍历序列,第二行为中序遍历序列。二叉树中的结点名称以大写字母表示:A,B,C…最多26个结点。输出格式在一行上输出后序遍历序列。样例输入ABCBAC样例输出BCA遇到二叉树,大概率用到递归#include<iostream>#include<string>using namespace std;v原创 2021-12-27 17:12:52 · 923 阅读 · 0 评论 -
XDOJ--huffman编码
标题huffman编码时间限制2 S内存限制10000 Kb问题描述假设用于通信的电文由n(4<n<30)个字符组成,字符在电文中出现的频度(权值)为w1w2…wn,试根据该权值序列构造哈夫曼树,并计算该树的带权路径长度。问题输入一组数据,第1行为n的值,第2行为n个整数,表示字符的出现频度。问题输出输出一个整数,表示所构造哈夫曼树的带权路径长度。输入样例87 19 2 6 32 3 21 10输出样例261思路:1.算是一条性质吧:哈夫曼树带权原创 2021-12-27 17:02:34 · 1035 阅读 · 0 评论 -
XDOJ-括号匹配
试题名称 括号配对问题时间限制: 1 秒内存限制: 10KB问题描述现在有一行括号序列,请你检查这行括号是否配对。输入说明第一行输入一个数N(0<N<=100),表示有N组测试数据。后面的N行输入多组输入数据,每组输入数据都是一个字符串S(S的长度小于10000,且S不是空串),测试数据组数少于5组。数据保证S中只含有"[","]","(",")"四种字符。输出说明每组输入数据的输出占一行,如果该字符串中所含的括号是配对的,则输出Yes,如果不配对则输出No。输入样例3[(原创 2021-12-27 16:48:04 · 612 阅读 · 0 评论 -
XDOJ-链表去重
链表去重试题名称 3-1 链表去重问题描述:给定一个键值为整数的单链表 L,将键值的绝对值有重复的结点删除:即对任意键值 K,只有键值或其绝对值等于 K 的第一个结点被保留在 L 中。例如,下面单链表 L 包含键值 21、-15、15、7、-15,如下图(a)所示;去重后的链表 L 包含键值 21、-15、7,如下图(b)所示。输入说明:输入的第一行包含两个整数,分别表示链表第一个结点的地址和结点个数 n(1≤n≤100)。结点地址是一个非负的 5 位整数,NULL 指针用-1 表示。随后 n原创 2021-12-27 16:42:10 · 1487 阅读 · 0 评论