
知识总结——数据结构(基础)
文章平均质量分 89
bfsm
这个作者很懒,什么都没留下…
展开
-
排序
111原创 2021-01-25 17:41:39 · 126 阅读 · 1 评论 -
二叉树初阶
目录树的概念及结构概念树的概念及结构概念 树是一种非线性结构,正如它的名字一样,原创 2021-01-17 19:39:42 · 257 阅读 · 0 评论 -
队列
目录基本概念功能实现循环队列数组方法链表方法基本概念队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出 FIFO(First In First Out) 的性质。入队列:进行插入操作的一端称为队尾。出队列:进行删除操作的一端称为队头。入队 / 出队示意图:功能实现 由于队列的操作时只在一端入队,在另一端出队,所以此处我们选择数组来实现的话,就会造成在数组尾入队 / 出队的时间复杂度虽然为 O(1),但是在数组头出队 / 入队的时间复杂度为 O(n原创 2021-01-03 08:48:13 · 98 阅读 · 0 评论 -
栈
目录基本概念功能实现简单练习基本概念栈 栈是一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出 LIFO(Last In First Out)的原则。压栈 栈的插入操作叫做进栈 / 压栈 / 入栈,进入的数据始终放在栈顶。出栈 栈的删除操作叫做出栈,出栈的数据始终是栈顶元素。栈的进栈 / 出栈示意图:功能实现 栈的结果实现可以使用顺序表,也可以使用链表,这二者相比较而言,顺序表更优。原创 2021-01-03 08:48:02 · 106 阅读 · 0 评论 -
线性表之链表
目录概念分类单向、双向带头、不带头循环、非循环无头单向非循环链表带头双向循环链表链表的实现单向带头非循环双向带头循环链表优缺点优点缺点单链表相关的面试题概念 链表是一种逻辑结构上连续,物理存储结构上非连续、非顺序的存储结构,之所以会形成这样的结构,主要是因为链表是通过指针链接次序实现的 。 在创建链表时,申请的空间是随机的,所以物理上非连续、非顺序,但是我们可以通过链表每一个结点中的指针变量,顺序访问到下一个结点,所以逻辑上是连续的。 链表的结构如下图所示:分类 链表的结构非常多样,由原创 2021-01-01 21:07:57 · 153 阅读 · 1 评论 -
线性表之顺序表
目录线性表顺序表静态顺序表创建动态顺序表实现接口顺序表优缺点数组相关面试题线性表 线性表(linear list)是n个具有相同特性的数据元素的有限序列。 线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈、队列、字符串… 线性表在逻辑上是线性结构,也就说是连续的一条直线。但是在物理结构上(也就是在内存上的排列)并不一定是连续的,线性表在内存中的结构通常以数组和链式结构的形式存储。顺序表 顺序表是一段在内存上物理地址连续的线性表,也就是说,它是逻辑、物理上都连续的,通常情原创 2020-12-30 08:33:12 · 143 阅读 · 0 评论 -
时间复杂度_空间复杂度
目录算法效率时间复杂度定义方法例题总结常见的阶级空间复杂度定义方法例题算法效率 我们所说的算法效率包括两种,一种是时间效率,一种是空间效率,顾名思义就是一个算法所用的时间和它所占的额外空间,但是问题来了,每个计算机的性能都是不一样,因此同一个代码在不同电脑上的时间效率也会不一样,所以到底要用哪一台电脑测出来的结果为准呢? 因此为了更好地计算一个算法的时间效率和空间效率,人们决定用数学的方法来算出一个大概的量级来代表算法的效率,我们将其称为时间复杂度和空间复杂度,虽然这样算出来的结果可能和精确值差了原创 2020-12-30 08:32:36 · 131 阅读 · 0 评论 -
前言
目录前言简单说明什么是数据结构什么是算法数据结构和算法的重要性如何学好数据结构与算法前言 在数据结构(基础)这一小节博客中,我会学习到数据结构中的基础内容,主要包含有:时间复杂度_空间复杂度、顺序表_链表、栈_队列、二叉树、排序。而剩下的一些复杂的数据结构,我会放到学习 C++ 的过程中穿插学习。简单说明什么是数据结构 数据结构(Data Structure):就是计算机存储、组织数据的方式,指相互之间存在一种或多种特定关系的数据元素的集合。什么是算法 算法(Algorithm):就是定原创 2020-12-30 08:32:22 · 83 阅读 · 0 评论