
数据结构
文章平均质量分 50
MZYYZT
A deal is a deal
展开
-
C语言——图的存储与遍历
图的存储与遍历内容利用邻接矩阵描述示例图,编写程序输出示例图的深度优先搜索和广度优先搜索的遍历序列。具体步骤如下:将图的邻接矩阵描述为一个二维数组,并将该数组定义为全局变量,以便数据的传递;定义一个队列,在广度优先搜索时,该队列存储已被访问的路径长度为1,2,…的顶点;定义访问函数visit()、深度优先搜索函数DFS()和广度优先搜索函数BFS();主函数实现各函数的调用。实验代码下面展示一些 内联代码片。#include <stdio.h>#define MAX原创 2022-03-11 23:43:48 · 2792 阅读 · 0 评论 -
C语言——哈夫曼树的应用
C语言——哈夫曼树的应用内容从键盘输入一串电文字符与权值,输出对应的哈夫曼编码;从键盘输入一串二进制代码,输出对应的电文字符串。具体步骤如下:构造一棵哈夫曼树;实现哈夫曼编码;对哈夫曼编码生成的二进制串进行译码;要求程序中字符和权值是可变的,实现程序的灵活性。实验代码#include<stdio.h>#include<stdlib.h>#include<string.h>#define MAX_MA 1000#define MAX_ZF 10原创 2022-03-09 23:03:14 · 1495 阅读 · 0 评论 -
C语言——二叉树的创建与遍历
二叉树内容实现二叉树的创建算法与中序列遍历算法。步骤如下:将二叉树模拟成完全二叉树,从根结点开始对所有结点进行编号,编号从1开始,在运行过程中输入结点对应的编号和值,最后以编号i=0,结点值x=’$’为循环结束条件;中序遍历已建立的二叉树,并输出遍历结果,中序遍历算法可选择递归和非递归方法。实验代码GOGOGO!!!#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<Stdlib.h>#includ原创 2022-03-06 23:11:28 · 854 阅读 · 0 评论 -
C语言—KMP算法
KMP算法内容求一个字符串在另一个字符串中第一次出现的位置。步骤如下:1.利用键盘输入两个字符串,一个设定为主串,另一个设定为子串;2.利用KMP算法,求出子串在主串中第一次出现的位置。代码实现话不多说,上代码。#include<stdio.h>#include<string.h>typedef struct SString{ char ch[100]; int length;}SString;int Index_KMP(SString S原创 2022-03-06 23:05:12 · 612 阅读 · 0 评论 -
C语言--队列的基本操作
C语言—队列的基本操作原创 2022-02-27 23:42:50 · 4944 阅读 · 0 评论 -
C语言实现栈表的初始化、出入栈、销毁、清空等基本操作
C语言实现栈表的初始化、出入栈、销毁、清空等基本操作引言代码运行结果引言简单记录一下新学知识,直接上代码。代码#include<stdio.h>#include<stdlib.h>#include<string.h>#define MAX 3typedef int Elemtype;typedef struct stack{ Elemtype *base; Elemtype *top; int stacksize;}Sqstack;//原创 2021-02-07 21:27:39 · 1459 阅读 · 0 评论 -
循环链表实现约瑟夫问题
循环链表实现约瑟夫问题问题来历解决方法与过程方法代码运行测试结果进阶约瑟夫问题问题的修改与陈述区别代码运行测试结果总结问题来历解决方法与过程方法初学数据结构的循环链表,正好利用循环链表可以很容易的解决上述问题。代码#include<stdio.h>#include<stdlib.h>#include<malloc.h>typedef int Elemtype;#define len sizeof(Node)#define N 41原创 2021-02-01 17:57:20 · 283 阅读 · 0 评论 -
面试题:如何快速查找未知长度单链表的中间节点?
面试题:如何快速查找未知长度单链表的中间节点?背景方法普通方法原理代码高级方法原理代码实验过程及结果总代码运行结果总结背景偶然接触到一面试题:如何快速查找未知长度单链表的中间节点?方法首先想到就是很简单的遍历方法,然后又得知一种快慢指针的方法。普通方法原理普通方法很简单,首先遍历一遍单链表以确定单链表的长度。然后再次从头节点出发循环N/2次即可找到单链表的中间节点。算法的复杂度为O(N+N/2)=O(3N/2)。代码void common_found_List(Linklist *L,i原创 2021-01-30 16:56:36 · 634 阅读 · 0 评论 -
C语言实现单链表的初始化、增删查改基本操作)
C语言实现单链表的初始化、增删查改基本操作引言定义原理优点缺点比较时间上空间上实验过程及结果代码运行结果总结引言定义★★★单链表是线性表的链式存取的数据结构,用一组地址任意的存储单元存放线性表中的数据元素。原理<1> 链表中的数据是以结点来表示的,每个结点的构成:数据域+指针域。<2> 数据域即是存储数据的存储单元,指针域即是存储后继结点的地址。优点<1> 单链表在插入或删除元素时,只需要改变它的前驱元素及插入或删除元素的指向。<2> 在存储原创 2021-01-27 22:31:52 · 1585 阅读 · 2 评论 -
C语言实现顺序表的初始化、增删查改基本功能
C语言实现顺序表的初始化、增删查改基本功能引言定义原理实现过程及结果代码运行结果总结引言定义顺序表是线性表的顺序存储结构。形如A_1 、A_2…….A_n的表,这个表的大小为N;并且,我们称大小为0的表为空表。原理<1> 其实顺序表的实现就是简单的数组实现,对表的所有操作都是通过使用数组来实现的。<2> 顺序表中的第一个元素只有一个后继节点,最后一个元素只有一个前驱节点,中间元素均只有一个前驱节点和一个后继节点。实现过程及结果C语言实现顺序表的所有函数操作。代码#原创 2021-01-25 11:54:11 · 2549 阅读 · 1 评论