数据结构
文章平均质量分 89
森屿Serien
这个作者很懒,什么都没留下…
展开
-
数据结构--树
第n层的结点数是2的n-1次方,总的结点个数是2的n次方-1。后序遍历运算访问二叉树各结点是以左、右、根的顺序进行访问的。:从根节点到树中某结点所经路径上的分支树称为该结点的层数,根节点的层数规定为1,其余结点的层数等于其父亲结点的层数+1。红黑树的每个节点上都有存储位表示节点的颜色,可以是红(Red)或黑(Black)。:最上面的结点称之为根,一颗树只有一个根且由根发展而来,从另外一个角度来说,每个结点都可以认为是其子树的根。:节点的下层结点,如图中,节点E的子节点是K节点、节点G的子节点是L节点。原创 2024-09-23 10:16:55 · 886 阅读 · 0 评论 -
数据结构--队列
双向队列(Deque),是Queue的一个子接口,双向队列是指该队列两端的元素既能入队 (offer) 也能出队 (poll), 如果将Deque限制为只能从一端入队和出队,则可实现栈的数据结构,对于栈而言,有入栈(push)和出栈(pop),遵循先进后出原则。(3)优先级队列:优先级队列是比栈和队列更专用的数据结构,在优先级队列中,数据项按照关键字进行排序,关键字最小(或者最大)的数据项往往在队列的最前面,而数据项在插入的时候都会插入到合适的位置以确保队列的有序。原创 2024-09-19 14:33:26 · 1087 阅读 · 0 评论 -
数据结构--链表
*单链表中的节点。节点是单向链表中基本的单元。每一个节点Node都有两个属性:一个属性:是存储的数据。另一个属性:是下一个节点的内存地址。*/// 存储的数据// 下一个节点的内存地址Node next;/*链表类(单向链表)*/// 头节点// 向链表中添加元素的方法(向末尾添加)// 创建一个新的节点对象// 让之前单链表的末尾节点next指向新节点对象。// 有可能这个元素是第一个,也可能是第二个,也可能是第三个。// 说明还没有节点。原创 2024-09-18 15:11:23 · 574 阅读 · 0 评论 -
数据结构--串的模式匹配算法
Knuth-Morris-Pratt 字符串查找算法,简称为 “KMP 算法”,常用于在一个文本串 S 内查找一个模式串 T 的出现位置,为了避免朴素算法的低效,由Donald Knuth、Vaughan Pratt、James H. Morris 三人于 1977 年联合发表,故取这 3 人的姓氏命名此算法。KMP算法的核心是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的。原创 2024-09-06 14:52:15 · 1247 阅读 · 0 评论 -
数据结构--栈
一些,顺序栈是通过指针指向假设的栈顶,其他元素其实依然存在,但链栈的栈顶之前的元素会被垃圾回收,因此链栈的实现综合时间和空间来看,更优秀一些。对比链栈和顺序栈的实现,可以发现入栈和出战方法的时间复杂度都是O(1),效率上没有区别,但是顺序栈占用的空间会相对更多。顺序栈底层是数组,最大空间容量受到限制,因此必须初始化一个数组的容量,也就是栈的容量,链栈则无需此操作。常见的栈实现方式有数组和链表两种,其中数组实现的栈又称为顺序栈,链表实现的栈称为链式栈。(Bottom):固定的,不允许进行插入和删除的另一端。原创 2024-09-05 16:03:39 · 1411 阅读 · 0 评论