![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 80
mashirooo~
广东工业大学的学生,正在学习C++
展开
-
数据结构<C语言实现>二叉树链式结构
1.1二叉树的遍历1.1.1前序、中序以及后序遍历二叉树遍历(Traversal)是按照某种特定的规则,依次对二叉树中的节点进行相对应的操作,并且每个节点只操作一次。访问节点所做的操作依赖于具体的应用问题。遍历是二叉树上最重要的运算之一,也是二叉树上进行其它运算的基础。按照规则,二叉树的遍历有:前序/中序/后序的递归结构遍历:1.前序遍历:(Preorder Traversal亦称先序遍历) 访问根节点的操作发生在遍历其左右子树之前。.原创 2022-05-01 20:37:13 · 1256 阅读 · 0 评论 -
数据结构<C语言实现>二叉树顺序结构 堆
1.二叉树顺序结构及实现1.1二叉树的顺序结构普通二叉树是不是适合用数组来存储的,因为可能存在大量的空间浪费。而完全二叉树更适合使用顺序存储结构。现实中我们通常把堆(一种二叉树)使用顺序结构的数组来存储,需要注意的是这里的堆和操作系统虚拟进程地址空间中的堆是两回事,一个是数据结,一个是操作系统管理内存的一块区域分段。1.2堆的概念及结构如果有一个关键码的集合K = {k0, k1, k2, …, kn - 1},把它的所有元素按完全二叉树的顺序存储方式存储在一个一维数组中,并满.原创 2022-05-01 13:37:24 · 1028 阅读 · 0 评论 -
数据结构<C语言实现>二叉树
1.1树的概念树是一种非线性的数据结构,它是由 n(n>=0) 个有限节点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一颗倒挂的树,也就是说它是根朝上,而叶朝下。* 有一个特殊的节点,称为根节点,根节点没有前驱节点。* 除根节点外,其余节点被分成 M(M>0) 个互不相交的集合T1,T2,.......,Tm,其中每一个集合 Ti(1 <= i <= m) 又是一颗结构与树类似的子树。每颗子树的根节点有且只有一个前驱,可以有原创 2022-04-30 22:13:33 · 1372 阅读 · 0 评论 -
数据结构 <C语言实现> 栈和队列
1.栈1.1栈的概念及结构栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一段称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。出栈:栈的删除操作叫做出栈。出数据也在栈顶。1.2栈的实现栈的实现一般可以使用数组或者链表实现,相对而言数组的结构实现更优一些。因为数组在尾上插入数据的代价更小。若是要使用链表,那么就得将表头作为.原创 2022-04-21 13:53:17 · 921 阅读 · 0 评论 -
数据结构 <C语言实现> 双向带头循环链表
实际中链表的结构非常多样,以下情况组合起来就有8种链表结构:1.单向或双向2.带头或不带头3.循环或非循环实际中最常用的还是两种结构:单向-不带头-不循环—结构最简单 OJ题中常出现/复杂数据结构的子结构(哈希桶、图的临接表)双向-带头-循环 —结构最复杂 实际中最实用的链表结构(STL--list的结构)2.实现双向带头循环链表...原创 2022-04-19 17:25:05 · 972 阅读 · 0 评论 -
<数据结构> C语言实现 单链表
1.链表的概念及结构链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序时通过链表中的指针链接次序实现的。从上图可以看出:1.链式结构在逻辑上时连续的,但在物理上不一定连续2.显示中的节点一般都是从堆上申请出来的3.从堆上申请的空间,是按照一定的策略来分配的,两次申请的空间可能连续,也可能不连续2.实现单链表2.1 SList.h#pragma once#include <stdio.h>#include <string.原创 2022-04-17 15:55:50 · 2013 阅读 · 0 评论 -
<数据结构> (C语言实现) 动态顺序表
1.线性表线性表是n个具有相同特性的数据元素的有限序列。常见的线性表:顺序表、链表、栈、队列、字符串......线性表在逻辑上是线性结构,相当于连续的一条直线。但在物理结构上不一定是连续的,线性表在物理上存储时,通常以数组和链式结构的形式进行存储。2.顺序表优点:连续的物理空间,方便下标随机访问。缺陷:不能按需申请和删除空间插入数据时,空间不够需要扩容,扩容有性能消耗(realloc空间不够时异地扩容,性...原创 2022-04-11 20:57:46 · 1535 阅读 · 2 评论 -
<数据结构> 时间、空间复杂度
1.数据结构数据结构(Data structure)是计算机存储、组织数据的方式,指相互之间存在一种或多种特定关系的数据元素的集合。2.算法算法(Algorithm)就是定义良好的计算过程,他取一个或一组的值为输入,并产生一个或一组值作为输出。简单来说算法就是一系列的计算步骤,用来将输入数据转化成输出结果。3.时间复杂度在计算机科学中,算法的时间复杂度是一个函数,它定量描述了该算法的运行时间。一个算法执行所耗费的时间,从理论上说,是不能算出来的,只有你把你的程序放在机器上跑起原创 2022-04-11 11:20:36 · 781 阅读 · 0 评论