数据结构
断然Juvenile
挤进优秀圈使自己变强富足
展开
-
记录理解KMP算法(Next数组)的实践过程
还是因为考研需要,所以来学习KMP算法。简单介绍首先KMP算法是与暴力搜索算法相对应的,我想能看到这里来的,也不需要我多做介绍了。这里只说两点:KMP算法主串指针不回溯KMP最难理解的是Next数组这里主要记录对于Next数组的理解,以及其代码逻辑的实现逻辑。这里一些个人学习KMP的经验:别着急,慢慢看,在看别人的博客或者记录的时候,一定要搞定每个符号表达的意思如果对于KMP不够了解的朋友,可以看一下以下,这个视频:「天勤公开课」KMP算法易懂版对Next存在疑问的也可原创 2020-07-14 18:08:55 · 347 阅读 · 0 评论 -
带头结点的循环链表 解决 JosephCircle (约瑟夫环问题) By C
目标考研院校的常考试题,来写一写:使用一个带头节点的循环链表去解决且,此头结点不固定指向某一个节点,因为从题目中得,每删除一个节点,即从其下一个节点开始计数。故,这里是的头结点指向每一个被删除元素的下一个元素好像也没什么别的点。写就完事了,具体操作看代码注释。写的挺多的头文件的话,在前面几篇博客里可找到。#include "DataStructure.h"#include <iostream>typedef struct JosephCircle { int No; /.原创 2020-07-08 14:40:34 · 606 阅读 · 0 评论 -
Data Structure 单链表 By C
头文件#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0#define INFEASIBLE -1#define OVERFLOW -2#define INIT_SIZE 100 //空间初始容量#define INCREMENT 10 //增量#include <stdio.h>#include <stdlib.h>using namespace std;typedef int Status;t原创 2020-07-05 20:04:41 · 234 阅读 · 0 评论 -
解决:引发了异常: 读取访问权限冲突。 L 是 0xCDCDCDCD。
在数据结构写链表的时候,出现了这个问题:即本质是:内存访问问题表现为:数组越界对于分配到的空间,未进行预处理 (本人也是遇到的这个问题)空指针,指针越界解决方式与上文所写一一对应:检查是否越界对于申请到的空间,是否给了默认值指针是否越界对我这问题是这样的,因为这里是通过判断,链表有没有下一个节点的while循环。即判断其是不是none原本以为在申请到的结构体空间时,其元素会自动赋值为None,故在使用时,对于其也就没有处理。这里判断是不为空的,即是有地址的。这里原创 2020-07-05 19:23:37 · 36646 阅读 · 12 评论 -
合并两个非递减排列的线性表 By C
使用的数据结构:线性表非递减序列:123456555789非递增排列:655553221递增:123456递减:654321使用两种编程的方式,本质都一样的,具体可见 Data Structure - 基于realloc可自动扩展的顺序表 By C里面写到有关于,指针,地址,数组的关系。第一个方式,里面的insert方式,也可以换成数组直接写进去。第二个方式即纯指针操作void MergeList_Sq(Sqlist La, Sqlist Lb, Sqlist& L原创 2020-07-04 21:43:16 · 2227 阅读 · 0 评论 -
Data Structure - 基于realloc可自动扩展的顺序表 By C
因为考研需要,所以现在开始复习数据结构;后续会持续更新整个数据结构,内容如下:也是因为考研,很久没有更新博客,也没有写代码了。一时还有点小激动。hhh具体实现见代码注释吧。不得不说,c语言自是有其迷人之处的。总结一下关于对地址,与数组的进一步理解对于使用基地址的形式,可以理解为数组,即基地址的首地址,即为数组的首地址,又因为对其的类型,进行了定义,故当取到首地址的指针(q)时,进行q++,系统会在已知,此类型占多少空间的情况下,跳到下一块地址即下一个元素,即如数组原创 2020-07-04 17:45:53 · 399 阅读 · 0 评论