![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
考研-数据结构
文章平均质量分 55
非著名奶茶爱好者
欢迎大家交流~
展开
-
数据结构知识点背诵(问题+答案)——第二章线性表
数据结构知识点背诵(问题+答案)——第二章线性表原创 2022-07-16 20:00:42 · 312 阅读 · 0 评论 -
数据结构知识点背诵(问题+答案)——第一章绪论
数据结构第一章绪论知识点背诵(问题+答案)原创 2022-07-16 14:27:25 · 359 阅读 · 0 评论 -
数据结构——第2章 线性表(思维导图)
具体代码实现参考以前的博客:顺序表单链表双链表原创 2022-01-26 17:41:18 · 659 阅读 · 0 评论 -
数据结构——第1章 绪论(思维导图)
原创 2022-01-26 11:46:09 · 287 阅读 · 0 评论 -
哈希表——时间复杂度O(1)
目录一、散列函数和哈希表二、代码实现一、散列函数和哈希表哈希表又叫散列表,哈希表中的元素可以直接查找,因此时间复杂度为O(1)。二、代码实现hash计算不要求掌握,明白原理即可。冲突是由于对maxkey取余造成的,避免hash冲突可采用链表法,开放地址法等。#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>#define MaxKey 1000// hash计算int ha原创 2022-01-14 21:31:54 · 6187 阅读 · 0 评论 -
二叉排序树——构建,插入,查找,删除
目录一、二叉排序树的特点二、代码实现结构体1.构建二叉排序树2.插入元素到二叉排序树中3.查找4.删除完整代码一、二叉排序树的特点创建二叉排序树时,头放入后,每往树中插入元素,从树根开始比较。该数比比较的这个结点小,就放入左孩子,比它大,就放入右孩子。然后进入下一个结点,重复上述操作进行比较,以此来完成二叉排序树的构建。二、代码实现结构体// 结构体typedef int KeyType;typedef struct BSTNode { KeyType data; // 存放数据 st原创 2022-01-13 19:47:05 · 447 阅读 · 0 评论 -
二叉树——辅助队列实现层次遍历(递归)
目录一、二叉树的特点二、代码实现结构体完整代码一、二叉树的特点二、代码实现结构体// 定义结构体typedef char BiElemType;typedef struct BiNode { BiElemType data; // 存放数据 struct BiNode* lchild; // 左孩子 struct BiNode* rchild; // 右孩子}BiNode,*BiTree;typedef struct tag_t { BiTree p; // data域 str原创 2022-01-11 21:42:18 · 850 阅读 · 0 评论 -
链队列——-链式存储实现队列的入队出队(带next,front,rear指针)
目录一、链队列的特点二、代码实现结构体(2个)1.初始化队列2.判断队列是否为空3.入队(尾插法)4.出队(头部删除)完整代码一、链队列的特点队列的链式表示称为链队列。它是一个同时带有队头指针和队尾指针的单链表,其中队头指针指队头,队尾指针指队尾。二、代码实现结构体(2个)typedef int ElemType;typedef struct LinkNode { ElemType data; struct LinkNode* next;}LinkNode, * LinkList;原创 2022-01-10 21:27:16 · 2756 阅读 · 3 评论 -
队列——链表实现队列的各种操作
在学习队列之前,我们可以先复习巩固一下栈的各种操作。原文博客如下 顺序表实现栈的各种操作目录一、队列的特点二、循环队列的操作三、代码实现结构体1.初始化队列2.判断队列是否为空3.入队4.出队完整代码一、队列的特点就跟排队一样,先进先出。二、循环队列的操作三、代码实现结构体#define MaxSize 5typedef int ElemType;typedef struct { ElemType data[MaxSize]; // 存储MaxSize-1个元素 int fr.原创 2022-01-08 21:41:46 · 1024 阅读 · 0 评论 -
栈——顺序表实现栈的各种操作
目录一、栈的特点二、代码实现结构体1.初始化栈2.判断栈是否为空3.入栈4.获取栈顶元素5.弹出栈顶元素完整代码一、栈的特点先进后出二、代码实现结构体#define MaxSize 50typedef int ElemType;typedef struct { ElemType data[MaxSize]; // 定义数组 int top;}SqStack;1.初始化栈// 栈的初始化void InitStack(SqStack& S) { S.top = -1;原创 2022-01-08 18:26:44 · 521 阅读 · 0 评论 -
线性表——双链表的增删改查(头插法,尾插法,按序号查找,按值查找,某个位置插入元素,某个位置删除元素)
在学习双链表之前,可先复习巩固一下单链表,双链表这个删改查原理与单链表大致相同。原文博客如下 单链表的增删改查目录一、双链表的特点二、双链表的组成三、代码实现结构体1.头插法2.尾插法3.按序号查找4.按值查找5.某个位置插入元素6.某个位置删除元素打印链表一、双链表的特点与单链表不同是,单链表指针域中只有next指针,而双链表有两个指针,前驱指针prior和后继指针next。但是思路与单链表基本类似,不同的是指针指向必须是双向的,a->b,b->a。二、双链表的组成p.原创 2022-01-07 20:52:53 · 1390 阅读 · 0 评论 -
线性表——单链表的增删改查(头插法,尾插法,按序号查找,按值查找,某个位置插入元素,某个位置删除元素)
目录一、链表的特点二、链表的特点三、代码实现结构体1.头插法打印链表完整代码一、链表的特点逻辑上相邻的两个元素在物理位置上不相邻。二、链表的特点两部分组成:数据域data和指针域next。最后一个为NULL。三、代码实现结构体typedef int ElemType;// 定义结构体typedef struct LNode { ElemType data; // 数据域 struct LNode* next; // 定义结构体指针,指向下一个结点。因为从上往下编译,所以不能原创 2022-01-04 22:38:11 · 1489 阅读 · 0 评论 -
线性表——顺序表的增删改查
目录一、顺序表的特点二、顺序表的特点三、代码实现结构体1.增(插入)2.删(删除)3.改(修改)4.查(查找)完整代码注意一、顺序表的特点逻辑上相邻的两个元素在物理位置上也相邻。二、顺序表的特点优点1.可随机存取,根据表头元素地址和元素序号表示表中任意一个元素。简单来说可以用公式到达任意元素。2.存储密度高,每个结点只存储数据元素。缺点1.插入和删除操作需要移动大量元素。2.线性表变化较大时,难以确定存储空间的容量。3.村年初分配需要一整段连续的存储空间,不够灵活。三、代码原创 2022-01-03 22:20:55 · 1916 阅读 · 1 评论