![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构的学习
weixin_45790260
这个作者很懒,什么都没留下…
展开
-
crc C语言 && 硬件实现
今天遇到crc校验,因为逻辑电路图没有看太明白,就想要通过编程来熟悉这个过程,、然后与C语言写了一个产生crc编码的代码/* * @Author: zhifeiyu * @Date: 2021-04-02 18:22:45 * @LastEditTime: 2021-04-02 20:01:22 * @LastEditors: Please set LastEditors * @Description: In User Settings Edit * @FilePath: \VS\计算机组原创 2021-04-02 20:04:36 · 138 阅读 · 0 评论 -
KMP及其优化C语言代码
马上就要考试了,又看了一遍KMP算法,发现之前自己理解的和老师讲的不太一样,于是有总结了一下老师讲的,并添加了老师的优化算法next数组有两种理解方式,一是之前说的模式串长度为 i 的最长相同前后缀长度为next[i]的值,另一种就是当我的模式串与原串匹配时,模式串i与原串j位置匹配失配,那么原串的j肯定还是要匹配的呀,i已经不行了,那么就换next[i]上老师PPT就是这个意思算法如下#include <stdio.h>#include <stdlib.h>#d原创 2020-12-27 12:58:56 · 136 阅读 · 0 评论 -
KMP算法理解C语言
前天解除KMP算法,今天磕磕绊绊编了出来,讲一下我自己的理解吧分为以下几点首先,明白执行过程比如例子Aabbabaabaaba例子Babcabedfghabcabhjabcabhj上面是子串,下面是模式串,用i指向子串的字符,j指向模式串的字符避免回溯,就是避免i回退,这样效率就高指针都从0开始,i=0,j=0我们需要弄清楚执行过程,以B为例第一次比较abcabedfghabcabhjabcabhj第二次比较abcabedfghabcabhjaaaaaxxxabcabh原创 2020-12-24 20:36:07 · 75 阅读 · 3 评论 -
森林与二叉树的转换
记住一个原则对于森林来说,左子是孩子,右子是兄弟那么转换就很简单了推理:孩子的兄弟依旧是孩子那么森林 —> 二叉树所有父母与左子的右子连接,左子的右子的右子连接……)因为左子与右子,左子与右子的右子都是兄弟嘛,自然都是父母的孩子,然后把原本所有父母与右子的连线断开二叉树到森林兄弟相连,右子断开2020 12.18...原创 2020-12-18 08:59:48 · 71 阅读 · 1 评论 -
数据结构B-树的插入与删除想法
插入明确基本概念ceil(m/2),向上取整m阶树,对于叶子来说,ceil(m/2)-1 <= key <= m-1,对于非叶节点,主要注意key <= m-1当插入节点使得叶子超界,就分裂一个中间节点ceil(m/2)到其父母节点,以此类推,若是分裂到根结点仍需分裂,树的高度增加1删除m = 41 <= key <= 3删除分割为三种情况一种比较麻烦的删除情况总结插入与删除,最关键的点就在于明确我是几阶B树,然后我的key值范围(ceil原创 2020-12-18 08:36:16 · 177 阅读 · 0 评论 -
根据前中后序组合还原二叉树
今天做题,遇到还原二叉树的数据结构题目给定中序遍历A B C D E F G后序遍历B D C A F G E思路:根E因为后序:左右根所以根结点为E根据中序 :A B C D E F G得到根E的左子树有A B C D右子树有F G树的轮廓大概是 E ABCD FG左子树ABCD的整理继续分析子树ABCD根据后序 :B D C A根为A根据中序:A B C D根A无左子,有右子树BCD A BCD继续分原创 2020-12-17 20:45:44 · 110 阅读 · 0 评论 -
二叉树与森林的相互转换
二叉树转换为森林若节点x是节点y的左子将x的右子及其右子的右子…与x连接删去所有双亲到右子的连线森林转换为二叉树将兄弟之间加一根连线删去所有双亲到非左子的连线以根为轴顺时针旋转45度附图...原创 2020-12-17 19:52:44 · 217 阅读 · 0 评论 -
数学建模-匈牙利算法-二分图匹配-C语言
这是做建模作业是用的的二分图匹配算法原题如下该代码测试数据如下1 11 22 13 13 24 25 35 45 56 17 37 48 28 3测试结果如图#include <stdio.h>#include <stdlib.h>#include<string.h>#define MAXN 100int uN = 8; //集合u顶点个数 int vN = 5; //集合u顶点个数 int edgenum = 14原创 2020-12-13 13:12:22 · 577 阅读 · 0 评论 -
C语言排序代码小结
这里是一篇排序算法的代码,C语言,插入,希尔,快速,堆,归并,基数(桶)/*写在开头,总体来说,排序算是都敲了一遍吧弄了好几个小时,回忆一下,对堆排序还是有点乱感觉归并排序老师的算法更简单,主要归于辅助合并函数的参数不同,不过我也算是解决了这个问题,最后是基数排序,这个比较遗憾,我觉得我的设计太不具有普适性,应该将链接的时候改为链接指针,这样会更加自然一些浪费的空间,或者移动数据的开销都会大大减小,但是现在的我被一些事情打乱了眉目,心还是有点乱,先不弄了,今后需要用的时候估计回去研究写于20原创 2020-12-08 11:35:50 · 78 阅读 · 0 评论 -
压缩解压英语文章并查找
#include <stdio.h>#include<string.h>#include <stdlib.h>#define LEN 5#define CODE_SIZE 15#define MAX_CHAR 256#define BYTE_LENGTH 8#define NAME_LENGTH 20#define OFFSET 1#define SIZE 256#define WORD_SIZE 20#define TEXT_SIZE 256#原创 2020-12-05 19:10:27 · 117 阅读 · 0 评论 -
简单矩阵形状迷宫问题
C语言求解迷宫问题/**关于栈构造,销毁,清空,判空栈长,栈顶,入栈,出栈遍历栈一共有如上九种基本操作*//**如果后续出现了问题有可能是结构体不能直接赋值*/#include <stdio.h>#include <stdlib.h>#define MAPSIZE 5//#define SElemType element#define STACK_INIT_SIZE 100 //初始分配空间#define STACKINCREMENT 10 /原创 2020-11-03 22:41:34 · 183 阅读 · 0 评论