数据结构
文章平均质量分 74
快来和我一起学数据结构
从未止步..
努力努力再努力!
展开
-
判断单链表是否有环?中点如何判断?入环点如何判断?
首先我们需要克服我们一种错误的认知,链表有环,并不是有“死节”,如下所示,左侧的这种链表结构是不存在的,因为在相交的那个节点不可能有两个指针,只有像右侧这种结构才是存在的。原创 2023-12-21 19:24:45 · 569 阅读 · 0 评论 -
使用Java实现合并两个数组[归并排序]
由于上述第一次完成,我们走的是第一个while循环中的if语句,else语句并没有被执行,因此arr2的数据元素依然是第一个,也就是说第二次比较是将arr1数组下标为1的元素和arr2中下标为0的元素进行比较,注意这里不是同时进行下标的移动,依次进行该过程,需要注意的就是。原创 2023-12-21 13:00:11 · 514 阅读 · 5 评论 -
为什么MySQL用B+树做索引而不使用其他的数据结构呢?
但如果我们要在数组中间的任意一个位置插入一个数据,那么必然会引起该位置后面所有数据位置的变化,也就是涉及到了数组的复制,而插入的位置越往前,所需要复制的数据就越多,该过程不仅需要消耗大量的内存,而且还会浪费大量的时间,因此。,所以这中间会发生磁盘IO,而如果树的高度太高,每遍历一层结点时,就需要从磁盘读取一次数据,也就是发生一次 IO,假设数据在树高为 20 的地方,那查找一次数据就得发生 20 次 IO,耗时太长了。and,>=,原创 2023-12-20 10:25:47 · 460 阅读 · 1 评论 -
数据结构之树和二叉树的基本概念,二叉树遍历算法的实现
/数据域 struct Tree * Lchild;//左孩子域 struct Tree * Rchild;//右孩子域 } * BitTree;//BitTree为结构体指针变量举例;其中Lchild和Rchild为树指针之类,它们均指向的是一个结点,该结点又包括数据域,左孩子域和右孩子域。原创 2022-10-29 16:24:36 · 964 阅读 · 0 评论 -
顺序栈和链栈的定义和使用C语言实现(附有完整代码)
既然是顺序存储的,那么我们依然可以和顺序表相类似,采用数组去存放!int top;//栈顶指针 } seqstack;//seqstack为结构体类型。原创 2022-10-22 22:35:27 · 1660 阅读 · 3 评论 -
用C语言实现单链表的基本操作(附有完整代码)
单链表的基本概念和定义以及实现过程。原创 2022-10-22 19:23:57 · 7904 阅读 · 1 评论 -
超详细的数据结构---顺序表的有关教程
顺序表的概念,特点,以及如何用代码实现,基本操作和基本操作的时间复杂度;原创 2022-10-20 21:52:18 · 873 阅读 · 1 评论 -
数据结构-----队列应用
队列的应用-----树的层次遍历,图的广度优先遍历,以及在操作系统中的遍历;原创 2022-09-10 12:33:32 · 917 阅读 · 1 评论 -
栈在递归中的应用
通过递归实现n的阶乘和斐波那契数列算法和栈之间的联系;原创 2022-09-07 09:45:59 · 2242 阅读 · 3 评论 -
栈在求值表达式中的应用
中缀表达式和后缀表达式的定义和计算方法以及相互转换;原创 2022-09-01 16:36:47 · 695 阅读 · 2 评论 -
栈在括号匹配中的应用
括号匹配问题的定义和算法演示以及如何使用算法实现;原创 2022-08-29 15:52:56 · 327 阅读 · 0 评论 -
数据结构之队列
队列的定义,特点和基本操作;队列的链式定义,和基本操作;双端队列的定义和使用方法;判断输出序列的合法性;原创 2022-08-27 01:30:00 · 356 阅读 · 1 评论 -
数据结构之静态链表
静态链表:分配一整片连续的内存空间,各个结点集中安置,逻辑结构上相邻的数据元素,存储在指定的一块内存空间中,数据元素只允许在这块内存空间中随机存放,这样的存储结构生成的链表称为静态链表。也就是说静态链表是用数组来实现链式存储结构,静态链表实际上就是一个结构体数组举例:通过a[1]中存放的游标变量3可找到存放的数据元素5的后继元素为3,再通过a[3]中存放的游标变量2可找到存放数据元素3的后继数据为2,以此类推,直到某元素的游标变量为0即可停止(注:a[0]为头结点不存储数据元素)原创 2022-08-20 20:54:22 · 12784 阅读 · 3 评论 -
数据结构之循环链表
普通单双链表和循环单双链表的区别;循环单双链表的基本操作(定义,初始化,插入,删除,判空)原创 2022-08-16 10:06:00 · 1255 阅读 · 2 评论 -
数据结构之双链表
单链表和双链表的区别;定义双链表;双链表的基本操作初始化,插入,删除,释放,遍历;原创 2022-08-15 15:30:35 · 248 阅读 · 1 评论 -
线性表的定义和基本操作
线性表是具有相同数据类型[每个数据元素所占的空间相同]的n(n>=0)个数据元素的有限序列[表中的元素必须是有限的,并且按照一定的次序进行排列],其中n为表长,当n=0时线性表是一个空表,若用L命名线性表,则一般表示为:L=(a1,a2…ai,ai+1…an)...原创 2022-08-09 14:01:47 · 1615 阅读 · 0 评论 -
算法---------空间复杂度
空间复杂度的定义和计算方法;函数递归调用带来的内存开销的计算方法;原创 2022-08-08 10:39:25 · 288 阅读 · 2 评论 -
数据结构的基本概念
数据结构,数据元素,数据项,数据对象的基本概念;数据结构的三要素;数据类型,抽象数据类型的基本内容;原创 2022-08-07 22:39:40 · 821 阅读 · 9 评论 -
算法------时间复杂度
算法的基本概念;算法的特性;有关算法的时间复杂度的分析;原创 2022-08-07 22:35:42 · 416 阅读 · 4 评论