数据结构
文章平均质量分 77
介绍数据结构相关知识
yumoz
积水成渊
展开
-
堆的C语言实现
堆介绍 百度百科给出堆的介绍是:堆(Heap)是计算机科学中一类特殊的数据结构的统称。堆通常是一个可以被看做一棵完全二叉树的数组对象。 堆的性质: 堆中某个节点的值总是不大于或不小于其父节点的值。 堆总是一颗完全二叉树。 堆的实现代码:堆的实现代码,点击此处。 将根结点最大的堆叫做最大堆,或者大根堆。反之,根结点最小的堆叫做最小堆或者小根堆。 堆的实现 堆向下调整算法 下面展示的小根堆的向下调整算法,对于大根堆,就需要修改小于号为大鱼号就行。总之,先上代码。 注意: 注意循环体范围,仔细阅读注释 注原创 2021-05-23 21:39:52 · 170 阅读 · 0 评论 -
栈和队列总结
栈和队列栈基础概念栈的实现压栈出栈栈顶元素栈销毁队列基本概念队列的实现队列初始化入队出队其余接口 栈 基础概念 栈是一种特殊的线性表,只允许在固定的一段进行插入和删除元素的操作。进行数据插入和操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守LIFO(Last In First Out)原则。 栈的插入操作:压栈、进栈、入栈。入数据在栈顶。 栈的删除操作:出栈。出数据也在栈顶。 压栈解释图: 出栈解释图: 栈的实现 栈的实现一般可以使用数组的形式或者链表的形式,相对而言由于数据具有高速缓存,数组原创 2021-04-30 20:09:19 · 492 阅读 · 1 评论 -
链表实现分析+双向链表(快速实现)
链表介绍链表概念链表的分类链表的实现尾插头插尾删头删指定位置之前插入数据带头双向循环链表接口介绍链表初始化申请链表节点插入节点删除节点判空销毁如何快速实现双向链表 链表概念 链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。 其结构如下: 链表的分类 单向、双向 带头、不带头 循环、不循环 按照上述的描述可以将链表分为8类。 下面介绍常用的两类: 无头单向非循环链表 特点: 结构简答,实际中多维其他数据结构的子结构。如哈希桶、图的邻接表等。原创 2021-04-29 19:02:56 · 139 阅读 · 0 评论 -
一、线性表之顺序表
目录线性表顺序表链表 线性表 线性表是n个具有相同特性的数据元素的有限序列。 常见的线性表: 顺序表 链表 栈 队列 字符串 结构:线性表在逻辑上是线性结构,也就是说连续的一条直线。但物理结构上并不一定是连续的,线性表在物理上存储时,通常以数组和链式结构的形式存储。 顺序表 顺序表是一段物理地址连续的存储单元,依次存储数据元素的线性结构,一般情况下采用数组存储。 本质:是数组。 缺点:动态增容有性能消耗,扩容时容易造成空间浪费,头插需要挪动数据。 分类: 静态顺序表:使用定长数据存储。 动态顺序表原创 2021-04-17 17:34:56 · 132 阅读 · 0 评论