
数据结构
文章平均质量分 81
Shimir
学习ヾ(◍°∇°◍)ノ゙
展开
-
二叉树链式结构的实现-二叉树的前序 中序 后序 层序遍历
前序: 根 左子树 右子树 --》先根中序:左子树 根 右子树 --》中根后序:左子树 右子树 根 --》后根层序:一层一层访问。原创 2024-04-21 18:26:12 · 294 阅读 · 0 评论 -
堆排序-升序和降序_TopK-N个数找找最大的前K个
堆排序即利用堆的思想来进行排序,总共分为两个步骤:1.建堆升序:建大堆降序:建小堆;2.利用堆删除思想来进行排序。TopK-N个数找找最大的前K个:1.将前K个数拷贝进新创建的空中中,建小堆;2.后N-K个数与堆项元素一一比较,比堆项元素大,就调换他们的位置;3.前K个数保持小堆,需要向下调整调换过位置;4.最后的小堆的值就是前K个数。原创 2024-04-12 19:29:56 · 388 阅读 · 0 评论 -
二叉树-认识树及堆,堆的实现
树是一种非线性的数据结构,是n(n≥0)个结点的有限集。当n=0时,称为空树。** 一颗N个结点的数有N一1条边。**** 树适合于表示具有层次结构的数据。**原创 2024-04-12 14:18:23 · 770 阅读 · 0 评论 -
栈、队列-栈的概念及结构/栈的实现/栈的顺序存储结构-队列的概念及结构、队列的实现(链式存储结构))
一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。栈的插入操作叫做进栈/压栈/入栈,:栈的删除操作叫做出栈。栈的实现一般可以使用数组或者链表实现,相对而言数组的结构实现更优一些。 队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表, 队列具有先进先出FIFO(First In First Out)队列也可以数组和链表的结构实现,使用链表的结构实现更优,因为如果使用数组结构,每次元素出队列时都是从数组头出数据,再依次将数组上的元素往前移,效率会比较低。原创 2024-04-05 17:09:09 · 495 阅读 · 0 评论 -
带头双向循环链表,顺序表和链表的比较
单链表结点中只有一个指向其后继的指针,使得单链表只能从前往后依次遍历,要访问某个结点的前驱(插入、删除操作时),只能从头开始遍历,访问前驱的时间复杂度为O(N)。为了克服这个缺点,引入了双链表。原创 2024-04-05 13:24:08 · 527 阅读 · 0 评论 -
学习408之数据结构--链表-单链表的增删查改的实现-如何解决顺序表增容后空间浪费问题?
链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的 。我们再继续插入了5个数据,后面没有数据插入了,那么就浪费了95个数据空间。思考:如何解决以上问题呢?原创 2024-03-08 09:00:00 · 1029 阅读 · 0 评论 -
学习408之数据结构--线性表-顺序表 学会动态顺序表的创建
首先线性表是一个序列,元素之间是有顺序的,若元素存在多个,则第一个元素无前驱,最后一个元素无后继,其他每个元素都前驱和后继。其次,线性表强调是有限的,其中的元素是有限的。比如,要实现两个线性表集合A和B的并集操作。即要使的集合A=A并集B。也就是将存在于B中,不存在于A中的元素插入进集合A中。原创 2024-03-04 09:30:00 · 877 阅读 · 0 评论 -
学习408之数据结构--算法,时间复杂度和空间复杂度
通常,我们都使用“时间复杂度”来指运行时间的需求,使用“空间复杂度”指空间需求。当不用限定词地使用“复杂度”时,通常都是指时间复杂度。原创 2024-02-27 10:30:00 · 2650 阅读 · 0 评论 -
初学学习408之数据结构--数据结构基本概念
数据 : 是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合。数据不仅仅包括整型、实型等数值类型,还包括字符及声音、图像、视频等非数值类型。原创 2024-02-26 13:11:02 · 1070 阅读 · 0 评论