数据结构
文章平均质量分 64
包含时间复杂度,空间复杂度,顺序表,链表,栈,队列,二叉树,排序
失落的换海迷风
关注我了解最近咨询
展开
-
【数据结构】二叉树----前序、中序、后序遍历非递归和递归的实现
文章目录1、概念2、特殊的二叉树2.1 完全二叉树2.2 满二叉树3、二叉树的性质4、二叉树的存储方式4.1 顺序存储4.2 链式存储5、二叉树实现5.1 顺序存储实现5.2 链式存储实现5.2.1 二叉树的创建5.2.2 前序遍历5.2.3 中序遍历5.2.4 后序遍历5.2.5 层序遍历1、概念一棵二叉树是结点的一个有限集合,该集合或者为空,或者是由一个根节点加上两棵别称为左子树和右子树的二叉树组成。二叉树的特点:每个结点最多有两棵子树。二叉树的子树有左右之分。 2、特殊的二原创 2021-05-03 21:06:00 · 614 阅读 · 0 评论 -
【数据结构】栈(初始化,入栈,出栈,扩容,获取栈顶元素,检测栈是否为空有效元素长度,销毁栈)
//函数的声明#pragma oncetypedef int DataType;typedef struct Stack{ DataType* array; int capacity; int size;}Stack;//栈的初始化void StackInit(Stack* ps);//入栈void StackPush(Stack* ps, Dat...原创 2020-03-18 15:54:29 · 498 阅读 · 0 评论 -
【数据结构】线性顺序结构----单链表(实现头插、删,尾插、删,任意位置插、删)
//函数声明#pragma oncetypedef int DataType;typedef struct SLNode{ int data; struct SLNode* next;}SLNode;// 尾插/删void PushBack(SLNode** head, DataType data);void PopBack(SLNode** head...原创 2020-03-01 12:10:38 · 329 阅读 · 0 评论 -
【数据结构】线形顺序结构----顺序表(包含全部代码实现)
1、线形表1.1 概念线性表是n个具有相同特性的数据元素的有限序列。 常见的线性表包含顺序表、链表、栈、队列、字符串等。线性表在逻辑上是线性结构,但物理结构上并不一定是连续的,线性表通常以数组和链式结构的形式存储。 2、顺序表2.1 概念顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构.2.2 分类静态顺序表:使用定长数组存储动态顺序表:使用动态开辟的数组存储 3、顺序表实现顺序表实现3.1 静态顺序表#pragma once #in原创 2021-04-30 20:28:12 · 188 阅读 · 1 评论 -
【数据结构】时间复杂度和空间复杂度详解
1、算法效率算法效率分析分为两种:第一种是时间效率,第二种是空间效率。时间效率被称为时间复杂度,而空间效率被称作空间复杂度。时间复杂度主要衡量的是一个算法的运行速度,而空间复杂度主要衡量一个算法所需要的额外空间在计算机发展的早期,计算机的存储容量很小,所以对空间复杂度很是在乎。 2、时间复杂度算法中的基本操作的执行次数,为算法的时间复杂度。2.1 实例实例1// 计算阶乘递归Factorial的时间复杂度?long long Factorial(size_t N) {原创 2021-04-30 15:46:01 · 356 阅读 · 1 评论 -
【数据结构】队列(队列的出入,有效元素,判空,获取队头,队尾元素)
//队列的声明#pragma oncetypedef int QDataType;typedef struct QNode{ struct QNode* next; QDataType val;}QNode;typedef struct Queue{ struct QNode* head; struct QNode* rear; QDataT...原创 2020-03-19 22:05:36 · 6096 阅读 · 0 评论 -
【数据结构】对链表进行插入排序
/*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/typedef struct ListNode ListNode;struct ListNode* insertionSortList(struct Lis...原创 2020-03-09 17:40:47 · 134 阅读 · 0 评论