从0开始的数据结构
文章平均质量分 59
萌新从0开始记录的数据结构学习笔记。
赤赤赤赤赤赤
我很懒,暂时没有添加简介~
展开
-
数据结构——邻接表法(C语言实现)
数据结构——邻接表法(C语言实现)直接上代码//邻接表法#include <stdio.h>#include <stdlib.h>#define max 100typedef int Elemtype;//边,弧 typedef struct ArcNode{ int adjvex; //边、弧指向哪个结点 struct ArcNode *next; //指向下一条弧的指针 // int info; //边的权值 }ArcNode; //顶原创 2021-06-07 16:00:50 · 902 阅读 · 1 评论 -
数据结构期末复习(第四章 串)
数据结构期末复习(第四章 串)文章目录数据结构期末复习(第四章 串)Part 1、知识点总结1.1 串的基本概念1.2 串的存储表示和实现1.2.1 串的定长顺序存储表示1.2.2 串的堆分配存储表示1.2.3 串的链式存储表示1.3 串的模式匹配算法1.3.1 Brute-Force模式匹配算法1.3.2 KMP算法PPT课后题自己康的一点题Part 2、代码Part 3、总结很简单的一个单元,类似过渡单元(?)唯一重难点好像就是kmp算法了(雾)Part 1、知识点总结在非数值处理、事务处理原创 2021-06-24 15:36:27 · 1455 阅读 · 0 评论 -
二叉树进行多位数简单四则运算的方法
二叉树进行多位数简单的四则运算 节点中data定义为char类型,但是这样会导致一个问题:即当传入数据大于9的时候,data会无法表示这样的数字。 这里想到一个解决办法:在定义二叉树节点的结构体内再定义一个int型的number,默认状况下,number初始化值为-1。typedef struct BTNode{ char data; int number; struct BTNode *parent,*Lchild,*Rchild;}BTNode;在后续插入数据操作中,每次输入数据就对原创 2021-05-30 22:54:46 · 654 阅读 · 7 评论 -
数据结构期末复习(第七章 图)
数据结构期末复习(第七章 图)文章目录数据结构期末复习(第七章 图)Part 1、知识点总结1.图的基本概念1.1 图的定义1.2 图的基本术语1.3 完全图1.4 稠密图、稀疏图1.5 子图1.6 路径和路径长度1.7 回路或环1.8 连通、连通图和连通分量1.9 强连通图和强连通分量1.10 生成树、生成森林:1.11 权和网1.12 注意2 图的存储结构2.1 邻接矩阵表示法(数组表示)2.2 邻接矩阵操作以下不要求掌握!但是个人建议掌握。以下开始需要掌握2.3邻接链表存储以下不要求掌握!但是个人建原创 2021-07-04 17:40:06 · 1106 阅读 · 0 评论 -
数据结构期末复习(第五章 数组和广义表)
数据结构期末复习(第五章 数组和广义表)文章目录数据结构期末复习(第五章 数组和广义表)Part 1、知识点总结1.1 数组的定义1.1.1 抽象数据类型定义1.1.2 直观的n维数组1.2 数组的顺序表示和实现1.3 矩阵的压缩存储1.3.1 对称矩阵1.3.2 三角矩阵1.3.3 对角矩阵1.3.4 稀疏矩阵1.3.4.1 稀疏矩阵的压缩存储1.3.4.1.1 三元组顺序表1.3.4.1.2 矩阵转置1.3.5 十字链表1.4 广义表PPT课后题自己康的一点题Part 2、代码Part 3原创 2021-06-24 22:18:33 · 1245 阅读 · 0 评论 -
数据结构期末复习(第一章 绪论)
数据结构期末复习(第一章 绪论)文章目录数据结构期末复习(第一章 绪论)Part 1、知识点总结1.1什么是数据1.2什么是数据元素1.3什么是数据结构2 抽象数据类型3.1 算法3.2 算法设计的要求4 时间复杂度和空间复杂度时间复杂度空间复杂度PPT课后题自己康的一点题Part 2、代码Part 3、总结开始啦,大复习(预习)Part 1、知识点总结1.1什么是数据数据:数据是信息的载体,是描述客观事物的数、字符以及所有能输入到计算机中,被计算机程序识别和处理的符号集合。数据结构主要分为两原创 2021-06-23 21:56:14 · 954 阅读 · 1 评论 -
数据结构——邻接矩阵法(C语言实现)
数据结构——邻接矩阵法(C语言实现)直接上代码://邻接矩阵法#include <stdio.h>#define max 100#define Elemtype chartypedef struct{ Elemtype vex[max]; int edge[max][max]; int vexnum,arcnum; //图的当前顶点数和弧数 int mbool;}MGraph;int main() { MGraph mgraph; printf("输入顶点个数原创 2021-06-02 11:13:50 · 1357 阅读 · 1 评论 -
数据结构期末复习(第九章 查找)
数据结构期末复习(第七章 串)文章目录数据结构期末复习(第七章 串)Part 1、知识点总结1.1 图的定义1.2 图的基本术语PPT课后题自己康的一点题Part 2、代码Part 3、总结Boss二号!!!加油!快胜利啦!!Part 1、知识点总结1.1 图的定义图(Graph)是一种网状数据结构。 G由顶点集合V(G)和边集合E(G)构成,其形式化定义为:G=(V,E)。说明:对于n个顶点的图,对每个顶点连续编号,即顶点的编号为0~n-1。通过编号唯一确定一个顶点。在图G中,如果代表原创 2021-07-04 18:58:20 · 555 阅读 · 0 评论 -
初学单链表,分享两道作业题(C语言)
【题目1】有一个带头结点的单链表L,其数据元素递增有序。插入任一数据e使其元素仍然有序。代码实现:#include "stdio.h"#include "stdlib.h"#define error -1#define ok 1typedef struct LNode{ int data; struct LNode *next;}LNode;void create_list(LNode *L){ printf("Please input numbers until '9999' is原创 2021-04-13 22:29:31 · 1008 阅读 · 0 评论 -
数据结构——折半查找(C语言实现)
直接上代码//折半查找#include <stdio.h>#include <stdlib.h>#define ERROR -1#define max 100typedef struct{ int *data; int length;}arr;void create(arr *t){ t->data = (int*)malloc((max)*sizeof(int)); t->length = 0;}void init(arr *t){ i原创 2021-06-23 21:08:58 · 259 阅读 · 0 评论 -
数据结构——十字链表法(C语言实现)
数据结构——十字链表法(C语言实现)直接上代码//十字链表 十字链表只能存储有向图 #include "stdio.h"#include "stdlib.h"#define max 100//弧结点typedef struct ArcBox { int headvex, tailvex; //起点和终点在顺序表中的索引 struct ArcBox *hlink, *tlink; //起点或终点相同的弧// int info; //权 }ArcBox;//顶点结点原创 2021-06-07 22:55:16 · 1261 阅读 · 1 评论 -
数据结构期末复习(第二章 线性表)
数据结构期末复习(第二章 线性表)文章目录数据结构期末复习(第二章 线性表)Part 1、知识点总结1.1线性表的定义1.2线性表的特点1.3线性表的逻辑结构1.4 线性表的要点1.5 线性表的操作2.1 线性表的顺序存储表示2.1.1 初始化2.1.2插入2.1.3顺序线性表的删除2.1.3 顺序线性表的查找定位删除2.2 线性表的链式存储表示2.2.1结点的描述与实现2.2.2 结点的实现2.2.3 关于指针2.2.4 单线性链式的基本操作(单链表)2.2.4.1建立单链表PPT课后题自己康的一点题原创 2021-06-24 01:00:54 · 627 阅读 · 0 评论 -
数据结构——分块查找(C语言实现)
直接上代码//分块查找 #include <stdio.h>#include <stdlib.h>#define ERROR -1#define max 100#define end -1#define ok 1typedef struct{ int *data; int length;}arr;typedef struct{ int *data; int length; int edge;}block;void create(arr *t){原创 2021-06-23 21:10:13 · 1197 阅读 · 1 评论 -
二叉搜索树(BST数)——C语言实现
直接上代码//BST树 #include <stdio.h>#include <stdlib.h>typedef int Elemtype;typedef struct LNode{ struct LNode *Lchild; struct LNode *Rchild; Elemtype data;}LNode;void create(LNode *l){ int key; scanf("%d",&key); l->data = key;原创 2021-06-28 12:36:48 · 251 阅读 · 0 评论 -
数据结构期末复习(第六章 树与二叉树)
数据结构期末复习(第六章 树与二叉树)文章目录数据结构期末复习(第六章 树与二叉树)Part 1、知识点总结1.1树的基本概念1.2 树的基本术语1.3 树的表示形式2.1 二叉树的概念2.2 二叉树的性质2.3 二叉树的顺序存储结构2.4 二叉树的链式存储结构3.1 二叉树的遍历及其应用3.1.1 概念3.1.2 先序遍历3.1.2 中序遍历3.1.3 后序遍历3.1.4 层次遍历3.2 二叉树的遍历应用3.2.1 输出二叉树的所有结点3.2.2 输出二叉树的叶子节点3.2.3 统计叶子结点数目3.原创 2021-07-01 15:49:06 · 1551 阅读 · 0 评论 -
数据结构期末复习(第三章 栈与队列)
数据结构期末复习(第三章 栈与队列)文章目录数据结构期末复习(第三章 栈与队列)Part 1、知识点总结1.1.0 栈和队列的基本概念1.1.1 栈的基本概念1.1.2 栈的顺序存储表示1.1.2.1 栈的动态顺序存储表示1.1.2.2 基本实现1.1.2.3 栈的静态顺序存储表示1.1.2.4 基本操作的实现1.1.2.5 注意1.2.2 链栈1.3 栈与递归调用的实现2.1.0 队列2.1.1 队列的基本概念2.2.2 队列的顺序表示和实现2.2.3 循环队列2.2.3.1 循环队列的基本操作2.2.原创 2021-06-24 14:38:45 · 879 阅读 · 0 评论