
数据结构
乡野麦穗
未来是否繁花似锦,源自我们当下之努力。做一个勇敢的人,做一个好奇的人,做一个坚定的人,翻山越岭,事竟成。
展开
-
考研数据结构(十三):二叉树的层序遍历
二叉树的层序遍历。原创 2021-12-10 15:59:13 · 811 阅读 · 0 评论 -
考研数据结构(十二):图的存储结构和图的遍历(C语言)
C语言实现图的邻接矩阵和邻接表存储结构,图的深度优先和广度优先遍历。原创 2021-12-07 17:28:22 · 470 阅读 · 0 评论 -
考研数据结构(十一):二叉树递归实现交换左右子树
本文主要介绍《二叉树递归实现交换左右子树》,没有熟练掌握二叉树的基本操作的小伙伴,戳我了解二叉树的基本操作(创建、遍历、节点个数、叶节点个数、深度)。文章内容基于下图二叉树实现:递归实现二叉树交换子树:// 递归交换void swap(BiTree root) { if(root == NULL) return ; // 自下而上进行交换 swap(root->lchild); swap(root->rchild); // 用临时节点交换左右子树 BiTNo.原创 2021-11-29 21:44:24 · 2796 阅读 · 5 评论 -
考研数据结构(十):二叉树的基本操作(创建、遍历、节点个数、叶节点个数、深度)
本文主要介绍二叉树的基本操作,包括代码实现。文章目录1、二叉树的存储结构定义:2、二叉树的创建:3、二叉树的遍历:4、二叉树节点个数:5、二叉树叶子节点个数:6、二叉树的深度:7、完整代码:8、测试样例:9、测试结果:所有操作基于下方的二叉树:1、二叉树的存储结构定义:typedef struct BiTNode { int data; struct BiTNode *lchild,*rchild;} BiTNode;typedef BiTNode *BiTree;2、二叉树.原创 2021-11-26 16:48:35 · 1640 阅读 · 1 评论 -
考研数据结构(九):单链表排序(直接插入排序、冒泡排序、选择排序)
单链表的排序与顺序表的思想类似,如果对顺序表排序的思想及实现还不懂的小伙伴,戳我带你了解八大排序算法的实现。#include <stdio.h> #include <stdlib.h>typedef struct LNode { int data; struct LNode *next; }LNode,*ListLink;// 初始化带头节点的单链表 void initListLink(ListLink &L) { L = (LNode *)mall.原创 2021-11-23 17:28:05 · 1370 阅读 · 0 评论 -
秒懂平衡二叉树的四种调整与删除(图解)
平衡二叉树的调整:平衡二叉树的删除:静下心来,去体会身边的美好。原创 2021-11-01 10:00:42 · 2559 阅读 · 2 评论 -
考研数据结构(八):八大排序算法实现(建议收藏)
八大排序算法1.插入排序(1).直接插入排序(2).折半插入排序(3).希尔排序2.交换排序(1).冒泡排序(2).快速排序3.选择排序(1).简单选择排序4.归并排序1.插入排序(1).直接插入排序#include <stdio.h>#include <stdlib.h> // 直接插入排序// (哨兵版本)void insertSort1(int a[],int n) { // a[0] 是哨兵 for(int i = 2; i <= n; i ++原创 2021-10-19 21:59:55 · 529 阅读 · 0 评论 -
考研数据结构:(七)循环双链表(带头节点)的基本操作(只有干货)
/* 循环双链表的基本操作: (1).循环双链表的定义: (2).循环双链表的初始化: (3)、循环双链表的建立: a、头插法建立 b、尾插法建立 (4)、循环双链表的插入: a、后插 b、前插 c、指定位置插入 (5)、循环双链表删除: a、按位序删 b、前删 c、后删 (6)、循环双链表查找: a、按位查找 b、按值查找 (7)、循环双链表长度 (8)、循环双链表输出*/#include <stdio原创 2021-10-17 22:02:20 · 282 阅读 · 0 评论 -
考研数据结构:(六)循环单链表的(L指向表尾)的基本操作(只有干货)
/* 循环单链表的基本操作(L指向表尾) : (1).循环单链表的定义 (2).循环单链表的初始化 (3)、循环单链表的建立: a、头插法建立 b、尾插法建立 (4)、循环单链表的插入: a、后插 b、前插 c、指定位置插入 (5)、循环单链表删除: a、按位序删 b、前删 c、后删 (6)、循环单链表查找: a、按位查找 b、按值查找 (7)、循环单链表长度 (8)、循环单链表输出*/#include <stdio.h>#inc原创 2021-10-17 21:57:31 · 560 阅读 · 0 评论 -
考研数据结构:(五)循环单链表的基本操作(L指向表头)的基本操作(只有干货)
/* 循环单链表的基本操作(L指向表头): (1)、循环单链表的定义 (2)、循环单链表的初始化 (3)、循环单链表的建立: a、头插法建立 b、尾插法建立 (4)、循环单链表的插入: a、后插 b、前插 c、指定位置插入 (5)、循环单链表删除: a、按位序删 b、前删 c、后删 (6)、循环单链表查找: a、按位查找 b、按值查找 (7)、循环单链表长度 (8)、循环单链表输出 */#include <stdio.h&g原创 2021-10-14 23:26:58 · 477 阅读 · 0 评论 -
考研数据结构:(四)双链表(带头节点)的基本操作(只有干货)
/* Author : panxiaolan Time : 2021-10-12 双链表的基本操作(带头节点): 每个节点由三部分组成,只需处理好当前节点与邻接节点的关系即可。 (1)、双链表的定义 (2)、双链表的初始化 (3)、双链表的建立: a、头插法建立 b、尾插法建立 (4)、双链表的插入: a、后插 b、前插 c、指定位置插入 (5)、双链表删除: a、按位序删 b、前删 c、后删 (6)、双链表查找: a、按位查找 b、按值查找原创 2021-10-12 20:30:35 · 355 阅读 · 0 评论 -
考研数据结构:(三)单链表(带头节点)的基本操作(只有干货)
/* Author : panxiaolan Time : 2021-10-12 单链表的基本操作(带头节点): (1)、单链表的定义 (2)、单链表的初始化 (3)、单链表的建立: a、头插法建立 b、尾插法建立 (4)、单链表的插入: a、后插 b、前插 c、指定位置插入 (5)、单链表删除: a、按位序删 b、前删 c、后删 (6)、单链表查找: a、按位查找 b、按值查找 (7)、单链表长度 (8)、单链表输出 */原创 2021-10-12 16:30:29 · 464 阅读 · 0 评论 -
考研数据结构:(二)单链表(不带头节点)的基本操作(只有干货)
/* Author: panxiaolan Time: 2021-10-09 单链表的基本操作(不带头节点): (1).单链表的定义 (2).单链表的初始化 (3).单链表建立 a.头插法建立单链表 b.尾插法建立单链表 (4).单链表查找 a.按位查找 b.按值查找 (5).单链表的长度 (6).单链表插入 a.后插 b.前插 c.在某个位置插入 (7).单链表删除 a.删除指定位序上的元素 b.删除某个节点 (8).单链表的输出 *原创 2021-10-10 23:33:21 · 956 阅读 · 0 评论 -
考研数据结构:(一)顺序表的基本操作(只有干货)
/* Author: panxiaolan Time : 2021-10-08 顺序表的基本操作: (1): 顺序表的定义 (2): 顺序表的初始化 (3): 顺序表的插入 (4): 顺序表的删除 (5): 顺序表的修改 (6): 顺序表的查找 (7): 顺序表的动态增加长度 (8): 顺序表的输出 */ #include <stdio.h>#include <stdlib.h>#include <string.h>原创 2021-10-08 23:32:38 · 495 阅读 · 3 评论