
数据结构
文章平均质量分 92
Akihiris
研究领域:计算机视觉
展开
-
数据结构之线性表(C)
线性表1、预定义状态码#define TRUE 1 #define FALSE 0#define OK 1#define ERROR 0#define INFEASIBLE -1#define OVERFLOW -22、预定义常量#define LIST_INIT_SIZE 100 //线性表容量#define LISTINCREMENT 10原创 2020-09-29 23:23:45 · 471 阅读 · 0 评论 -
数据结构之栈,括号匹配,C语言实现
数据结构之括弧匹配原创 2020-11-01 23:46:10 · 840 阅读 · 0 评论 -
C语言使用随机数生成矩阵,实现三元组的快速转置。
稀疏矩阵压缩及转置1、随机数生成矩阵算法思想:使用time()函数给随机数播种,获得矩阵的总行数,总列数,非零元个数。总行数与总列数的值可直接存入三元组。每次生成一个非零元的行与列之后,由键盘输入非零元的大小e;并将其先存入二维数组a[][]。2、压缩矩阵至三元组的算法思想:获得矩阵之后,将其压缩进三元组表当中,三元组的非零元个数初始中为0,因在生成随机矩阵的过程中可能会出现相同的行、列,导致矩阵非零元被覆盖,所以具体的非零元个数以矩阵当中的为准。遍历矩阵,如果存在非零元,则将该元素的行标i与列标j,存原创 2020-11-07 00:08:00 · 6647 阅读 · 25 评论 -
C语言,折半查找。随机产生80 个整数构成的递增序列,使用折半查找算法查找指定的整数,并统计比较次数
算法思想1、折半查找:在给定的一张有序表中,先确定待查记录的所在范围,然后逐步缩小范围直到找到或找不到该记录为止。流程图代码如下#include<stdio.h>#include<stdlib.h>#include<time.h>#define OK 1#define FALSE 0#define OVERFLOW -2#define ERROR 0typedef int ElemType;typedef struct { ElemTy原创 2020-12-19 19:03:48 · 5122 阅读 · 4 评论 -
建立一有向图的邻接矩阵存储结构,并对其进行广度优先搜索,输出得到的序列。
.cpp结尾算法思想:1、创建邻接矩阵以存储图的关系:有向图的关系可以用邻接矩阵中的1或0代表,1表示顶点之间有关系,且行->列;0则无关。若两顶点v1,v2之间有指向关系,则使v1所在的行与v2所在的列的元素变为1。重复操作,即使关系存储完成。2、广度优先搜索: 在广度优先搜索算法中,解答树上结点的扩展是按它们在树中的层次进行的。首先生成第一层结点,同时检查目标结点是否在所生成的结点中,如果不在,则将所有的第一层结点逐一扩展,得到第二层结点,并检查第二层结点是否包含目标结点,……,对层次为n+原创 2020-12-04 23:59:50 · 6582 阅读 · 9 评论 -
c语言使用邻接表生成图,构造其对应的深度优先搜索生成树或森林,按先序遍历该二叉链表,输出得到的序列。
算法思想:1、创建:8会。2、深度优先搜索生成树:8会。流程图:实验六可能会停更了。#include<stdio.h>#include<stdlib.h>#define TRUE 1 /*状态码预定义*/#define FALSE 0#define OK 1#define ERROR 0#define INFEASIBLE -1#define OVERFLOW -2#define MAX_VERTAX_NUM 20 //原创 2020-12-11 23:15:27 · 5835 阅读 · 28 评论 -
从键盘输入先序序列,创建二叉树,然后对T进行非递归中序遍历、递归后序遍历和层序遍历
数据结构之二叉树操作算法思想1、创建二叉树:使用递归的方法。从键盘输入一个字符,判断其是否为空字符,本代码用’#'代替空字符。如果是,则该节点赋值NULL;如果不是,则该节点的数据域data赋值为该字符,同时调用函数自身,传入左孩子指针,继续调用函数自身,传入右孩子指针。2、非递归中序遍历方法1:先将根节点压入栈中。当栈非空时,当获取栈顶元素的栈顶元素不为空时,将栈顶元素的左节点压入栈中;继续判断栈非空,弹出栈顶元素,输出元素的数据域,再将元素的右节点压入栈中。3、递归后序遍历:判断节点非空,如果空原创 2020-11-13 20:55:31 · 7800 阅读 · 13 评论 -
C语言,二叉排序树
#include<stdio.h>#include<stdlib.h>#define TRUE 1 /*状态码预定义*/#define FALSE 0#define OK 1#define ERROR 0#define INFEASIBLE -1#define OVERFLOW -2typedef int Status;typedef struct BiTNode{ int data; struct BiTNode原创 2020-12-27 16:53:37 · 1209 阅读 · 1 评论 -
某套通信系统含有8 种字符,每种字符出现概率分别为{2, 15, 30, 8, 10, 5, 12, 18},为其设计Huffman 编码。赫夫曼编码,C语言实现。
数据结构之赫夫曼编码!!!注意!!!创建文件时请以.cpp结尾,否则报错。#include<stdio.h>#include<stdlib.h>#include<string.h>#define TRUE 1 /*状态码预定义*/#define FALSE 0#define OK 1#define ERROR 0#define INFEASIBLE -1#def原创 2020-11-20 23:51:31 · 7847 阅读 · 18 评论 -
100个随机数排序
完结#include <stdlib.h>#include <stdio.h>#include <time.h>#define Maxsize 100typedef struct{ int R[Maxsize + 1]; int length;} SqList;void InsertSort(SqList &L){ int i, j; int count = 0; for (i = 2; i <原创 2020-12-30 17:59:29 · 5236 阅读 · 12 评论