![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
Zruzhuo
这个作者很懒,什么都没留下…
展开
-
时间复杂度与空间复杂度
算法效率 算法效率分两种,时间效率和空间效率。时间效率就是时间复杂度,主要用来衡量一个算法的运行速度。空间效率就是空间复杂度,主要用来衡量一个算法的额外空间。在现在以及未来,计算机的存储容量已经达到了很高的程度,所以不用过多的考虑空间复杂度 时间复杂度 算法中基本操作的执行次数就是算法的时间复杂度。 而计算时间复杂度时,并不需要精确的数值,只需要大概的执行次数,所以可以使用大O的渐进表示法: 1....原创 2019-07-30 15:30:51 · 220 阅读 · 0 评论 -
顺序表的实现
概念及结构 顺序表是把数据元素存储在一段物理地址连续的存储单元上的线性结构,一般采用数组存储,增删改查等操作也在数组上完成。 顺序表一般可分为: 1.静态顺序表:使用定长数组存储 2.动态顺序表:使用动态开辟的数组存储 而静态顺序表有很大的缺陷,只适用于知道要存多少数据的情况,而且容易造成空间不足或者浪费,所以现实一般使用动态顺序表。以下是动态顺序表的实现: 代码实现 SList.h #pragm...原创 2019-07-30 15:50:35 · 168 阅读 · 0 评论 -
链表的实现
链表的概念与结构 链表是一种物理存储结构非连续、非顺序的存储结构,数据元素的逻辑顺序是由链表中的指针链接次序实现的 实际中链表结构多样,主要分为以下几种: 单向,双向 循环,非循环 带头,不带头 最常用的有两种: 无头单向非循环链表:结构简单,但实现较复杂,一般不单独存储数据 带头双向循环链表:结构复杂,一般用来单独存储数据。实际中使用的链表数据结构都是带头双向循环链表,因为实现较为简单 链表的实...原创 2019-07-30 17:03:58 · 231 阅读 · 0 评论 -
栈和队列的实现
栈的概念及结构 栈:一种特殊的线性表,只允许在固定的一端进行插入和删除操作。进行数据插入删除操作的一端称为栈顶,另一端称为栈底。栈中的元素遵循先进后出(后进先出)的原则 入栈:栈的插入操作叫做入栈/进栈/压栈。入数据在栈顶 出栈:栈的删除操作叫做出栈。出栈也在栈顶 栈的实现 Stack.h #pragma once #include<stdio.h> #include<std...原创 2019-07-30 17:35:12 · 108 阅读 · 0 评论 -
二叉树
树的概念及结构 1.树的概念 树是一种非线性的数据结构,它具有以下的特点:每个结点有零个或多 个子结点;没有父结点的结点称为根结点;每一个非根结点有且只有一个父结点;除了根结点外,每个子结 点可以分为多个不相交的子树 。 节点的度:一个节点含有的子树的个数称为该节点的度; 如上图:A的为6 叶节点或终端节点:度为0的节点称为叶节点; 如上图:B、C、H、I…等节点为叶节点 非终端节点或分支节点:...原创 2019-07-31 17:19:40 · 176 阅读 · 1 评论