![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 56
繁华的梦境
热爱编程
展开
-
二叉搜索树(k模型、kv模型)介绍及底层实现、
二叉搜索树的概念,二叉搜索树的代码实现,二叉搜索树的应用,k模型,kv模型,kv模型的代码实现,二叉搜索树性能分析原创 2022-11-12 19:06:50 · 714 阅读 · 3 评论 -
万字详解八大排序 必读(代码+动图演示)
U.S.News2022年的大学排行榜交换函数,后面会用到2.1插入排序基本思想动图展示 代码实现 复杂度分析基本思想动图展示希尔排序的特性代码实现 复杂度分析每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完 。基本思想 动图展示代码实现 复杂度分析基本思想动图展示代码实现 复杂度分析所谓交换,就是根据序列中两个记录键值的比较结果来对换这两个记录在序列中的位置,交换排序的特点是:将键值较大的记录向序列的尾部移动,原创 2022-07-03 12:43:30 · 1013 阅读 · 44 评论 -
深度剖析堆及代码实现
目录1. 堆的概念和性质什么是堆:堆的性质:2.堆的实现定义堆主函数向下调整算法堆的创建堆的插入向上调整算法堆的删除获取堆顶元素堆的判空堆内元素个数打印堆内元素堆的销毁建堆的时间复杂度推导3.堆的应用堆排序现实中我们通常把堆使用顺序结构的数组来存储,需要注意的是这里的堆和操作系统虚拟进程地址空间中的堆是两回事,一个是数据结构,一个是操作系统中管理内存的一块区域分段。 将根结点最大的堆叫做最大堆或大根堆,根结点最小的堆叫做最小堆或小根堆。常见的堆有二叉堆、斐波那契堆等。堆是非线性数据结构,相当于一维数组,有两原创 2022-06-25 19:39:11 · 794 阅读 · 26 评论 -
你真的了解二叉树吗?
讲二叉树之前先了解一下树的概念,树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。· 有一个特殊的结点,称为根结点,根节点没有前驱结点· 除根节点外,其余结点被分成M(M>0)个互不相交的集合T1、T2、……、Tm,其中每一个集合 Ti(1.........原创 2022-06-18 22:41:10 · 978 阅读 · 9 评论 -
二叉树的前、中、后序遍历
所谓二叉树遍历是按某种特定规则,依次对二叉树中的节点进行相应的操作,并且每个节点只操作一次。访问结点所做的操作依赖于具体的应用问题。 遍历是二叉树上最重要的运算之一,也是二叉树进行其它运算的基础。二叉树的遍历有:前序/中序/后序的递归结构遍历:1. 前序遍历(先根遍历)——访问根结点的操作发生在遍历其左右子树之前(根->左子树->右子树)。2. 中序遍历(中根遍历)——访问根结点的操作发生在遍历其左右子树之中(左子树->根->右子树)。3. 后序遍历(后根遍历)——访问根结点的操作发生在遍历其左右子树之后(原创 2022-06-12 20:17:28 · 17246 阅读 · 20 评论 -
栈和队列的实现
栈的实现#define _CRT_SECURE_NO_WARNINGS#pragma once#include <stdio.h>#include <stdlib.h>#include <assert.h>#include <stdbool.h>typedef int STDataType;typedef struct Stack{ STDataType* a; int top; int capacity;}Stack;vo.原创 2022-05-08 16:27:26 · 251 阅读 · 14 评论 -
带头双向循环链表的实现
#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <assert.h>#pragma once#include <stdlib.h>typedef int LTDataType;typedef struct ListNode{ LTDataType val; struct ListNode* next; struct ListNode* prev;}ListNode;ListNo.原创 2022-05-06 10:13:12 · 638 阅读 · 8 评论 -
单链表的增删改查
#define _CRT_SECURE_NO_WARNINGS#pragma once#include <stdio.h>#include <stdlib.h>#include <assert.h>typedef int SLTDataType;typedef struct SListNode{ SLTDataType data; struct SListNode* next;}SLTNode;void SListPrint(SLTNod...原创 2022-04-28 21:22:39 · 2953 阅读 · 10 评论 -
顺序表的增删查改
SeqList.h#define _CRT_SECURE_NO_WARNINGS#pragma once#include<stdlib.h>#include<stdio.h>#include<assert.h>typedef int SLDateType;typedef struct SeqList{ SLDateType* array; //指向动态开辟的数组...原创 2022-04-22 20:12:41 · 656 阅读 · 6 评论