ICode9

精准搜索请尝试: 精确搜索
  • 带头结点的单链表2022-06-30 19:00:41

    带头结点的单链表   与顺序表相同,链表也是一种线性表。与顺序表不同的是,链表的物理存储结构是用一组地址任意的存储单元存储数据。它不像顺序表那样需要占据一段地址连续存储空间,而是将存储单元分散在内存的任意地址上。   在链表结构中,每个数据元素都存放在链表中的一个结点(n

  • 141.环形链表2022-06-30 12:32:44

    题目描述: 给你一个链表的头节点 head ,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。注意:pos 不作为参数进行传递 。仅仅是为了

  • 由寻找二叉树中两个结点的公共结点看递归2022-06-28 20:02:45

    不少同学对二叉树的递归与非递归遍历,前中后序都还处于朦胧状态,我特意录了一期视频,讲一讲二叉树的遍历,还详细介绍了我们做二叉树的时候常遇到的问题,相信结合本篇题解,会对你学习二叉树有所帮助。 # 思路 遇到这个题目首先想的是要是能自底向上查找就好了,这样就可以找到公共祖先了。

  • 树和二叉树以及图知识点总结2022-06-28 15:03:21

    树和二叉树树:若干个结点组成的有限集合。二叉树:每个结点最多拥有两棵子树的树。满二叉树:在一颗二叉树中,所有分支结点都有左子树和右子树,并且所有叶子结点都在同一层上。完全二叉树:叶子结点只能出现在最下层和次下层且最下层的叶子结点集中在树的左边。二叉树的性质性质1: 在二叉

  • 数据结构2.2 线性表链式存储2022-06-26 11:02:10

    线性表链式存储 不要求逻辑上相邻的元素物理上也相邻 链式线性表的格式 typedef struct LNode *List; typedef struct LNode { telementType data; List Next; };List Ptrl; 操作集: 求表长: int length(List Ptrl){ List P=Ptrl;//P指向Ptrl的表头。 int j=0;//j为计数器 while(P

  • 二叉搜索树2022-06-25 16:33:09

    二叉搜索树的复习(mooc)   //关于二叉搜索树(BST)的复习 //二叉搜索树主要用于高效查找 //结构:一棵二叉树,可以为空,不为空则满足以下性质: //1.非空左子树的所有键值小于其根结点的键值 //2.非空右子树的所有键值大于其根结点的键值 //3.左 右子树都是二叉搜索树 // // #inclu

  • 数据结构与算法期末复习2022-06-24 00:36:08

    一、绪论 (一)基本概念和术语 1.数据 数据是人们利用文字符号、数学符号以及其他规定的符号对现实世界的事务及活动所做的描述。 2.数据元素 是组成数据的基本单位。 3.字段 是构成数据的最小单位。 4.数据对象 是性质相同的数据元素的集合,是一个数据的子集。 5.数据结

  • MySQL索引底层为什么用B+树?看完这篇文章,轻松应对面试。2022-06-23 22:07:07

    迎面走来了你的面试官,身穿格子衫,挺着啤酒肚,发际线严重后移的中年男子。 手拿泡着枸杞的保温杯,胳膊夹着MacBook,MacBook上还贴着公司标语:“我爱加班”。 面试开始,直入正题。 面试官: 你知道MySQL索引底层数据结构为啥用B+树?而不用B树、红黑树或者普通二叉树? 我: 这事谁知道作者咋想

  • 04_链表(下)2022-06-23 08:00:19

    04_链表(下) 使用链表的六大技巧 技巧一:理解指针或引用的含义 在Java语言中没有指针的概念,其体现是“引用”。 引用:将某个变量赋值给指针,实际上就是将这个变量的地址赋值给指针,或者反过来说,指针中存储了这个变量的内存地址,指向这个变量,通过指针就能找到这个变量。 技巧二:警惕指针丢

  • 03_链表(上)2022-06-22 08:03:12

    03_链表(上) 写在最前 缓存淘汰策略 FIFO(First In, First Out):先进先出策略。 LFU(Least Frequentlly Used):最少使用策略。 LRU(Least Recently Used):最近最少使用策略。 链表与数组 链表与数组不一样,不需要一块连续的内存空间,他通过“指针”将一组零散的内存块串联起来使用。 同

  • 洛谷 P2414 / LOJ 2444 「NOI2011」阿狸的打字机2022-06-22 08:01:41

    洛谷传送门 LOJ 传送门 思路 首先套路地建 AC 自动机,并存下每一行的终止结点,记为 \(a_x\)。 考虑在 AC 自动机上匹配的过程,\(x\) 在 \(y\) 中出现的次数就相当于在 Trie 树上 \(a_y\) 到根结点的链上,每个结点都不断跳 fail,有多少个结点是 \(a_x\),也就是在 fail 树上有多少个结点在

  • [CF746G]New Roads 题解2022-06-21 21:01:05

    传送门QAQ Preface 快要红名了,本来想搞篇题解水水分,结果在代码编写上卡住了。 码力不足QAQ Analysis 首先都能看出来的是,题目中就是要求构造一棵 \(n\) 个点的树。 深度为 \(i\) 的结点有 \(a_i\) 个,且有 \(k\) 个叶子结点。 想一想就能发现,这样的一棵树叶子结点最少有 \(\sum\lim

  • 蓝桥杯2022 括号序列树 国赛C++ A组J题2022-06-21 19:03:33

    题面 有一棵二叉树,根结点上有一个空字符串,每个点的左儿子上的字符串为其父亲结点的字符串尾部额外加一个左括号,右儿子则是在尾部加一个右括号。树中的每个叶子结点上的字符串都分别和每个由 \(n\) 对括号组成的合法括号序列一一对应。 给定 n,求此时这棵树的最大匹配所含的边数。(对

  • Java并发编程之AbstractQueuedSynchronizer队列同步器与可重入锁ReentrantLock2022-06-19 23:05:16

    前言:之前有写过关于重入锁ReentrantLock的解析,而重入锁ReentrantLock的核心在于它的两个锁非公平锁和公平锁的所继承的父类AbstractQueuedSynchronizer,接下来就是关于AbstractQueuedSynchronizer的详解,包括图文、源码。后文AbstractQueuedSynchronizer简称AQS。 此文相比前文重入

  • 线性表的链式存储结构——静态链表,创建,打印链表,增加删除结点2022-06-19 19:33:17

    线性表的链式存储结构——静态链表,创建,打印链表,增加删除结点 目录线性表的链式存储结构——静态链表,创建,打印链表,增加删除结点1. 静态链表的存储结构2 操作静态链表3 创建静态链表4 打印静态链表 1. 静态链表的存储结构 typedef struct { ​ ElemType Data; ​ int Cur;

  • 四:树和二叉树2022-06-19 10:04:37

    1.某二叉树的前序和中序遍历序列正好一样,则该二叉树中的任何结点一定都无右孩子。 F   2.哈夫曼树中一定没有度为 1 的结点。 T 哈夫曼树度只能为0或2,不存在度为1。至少:考虑每层2个结点(除了根结点),则至少为2h-1个至多:考虑满二叉树,则至多为 (2^n) -1   3.存在一棵总共有2016个结点

  • 【链表】头结点、头指针和首元结点2022-06-18 11:04:13

    【链表】头结点、头指针和首元结点     头结点:有时,在链表的第一个结点之前会额外增设一个结点,结点的数据域一般不存放数据(有些情况下也可以存放链表的长度等信息),此结点被称为头结点。 若头结点的指针域为空(NULL),表明链表是空表。头结点对于链表来说,不是必须的,在处理某些问题时

  • 7.图2022-06-17 16:31:21

    图 线性表中我们把数据元素叫元素,树中将数据元素叫结点,在图中数据元素,我们则称之为顶点(Vertex)。 线性表中,相邻的数据元素之间具有线性关系,树结构中,相邻两层的结点具有层次关系,而图中,任意两个顶点之间都有可能有关系,顶点之间的逻辑关系用边来表示,边集可以是空的。 图按照有无方

  • offer24 反转链表2022-06-17 11:35:18

    定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 解法:我们使用三个指针,分别指向当前遍历到的结点、它的前一个结点以及后一个结点。 在遍历的时候,做当前结点的尾结点和前一个结点的替换。 pytho

  • 「BZOJ1123」BLO 题解报告2022-06-15 21:34:14

    题目描述 B城有n个城镇。m条双向道路。每条道路连接两个不同的城镇,没有重复的道路,所有城镇连通。 你需要输出n个数,第i个数表示删除结点i关联的边,不删去i结点,有多少个有序对(x,y),满足城镇x和城镇y不连通。 输入 输入n,m及m条边。n<=100000,m<=500000 输出 输出n个数,第i个数表示删除结

  • 三种遍历方式确定二叉树的思考2022-06-14 15:31:14

    首先我们都知道数据结构老师讲的:前序+中序、前序+后序确定唯一的一棵二叉树,单独的前序+后序只能确定根的位置,而其左右孩子的排列是不能确定的,如左单枝或右单枝遍历得到的是相同的序列。 接着就引出关于二叉树为什么在遍历过程中出现不能唯一确定的问题。由完整的一颗二叉树得到一

  • 数据结构与算法——线性表(完结)2022-06-13 09:32:08

    线性表 定义和基本操作 定义 线性表是具有相同 数据类型的n(n大于0)个数据元素的有限序列 ,其中n为表长,当n=0时线性表是一个空表。若用L命名线性表,则其一般表示为 $$ L = (a1, a2, ..., ai, ai+1, ..., an) $$ ai时线性表中第i个元素线性表中的位序 。 a1是表头元素; an是表尾元素; 除

  • B+ 树的简单认识2022-06-12 10:35:11

    B+ 树的概念 基本概念 B+ 树是 B 树的一种变体,从某个程度上看,B+ 树可以认定是 B 树的升级版。 在 B+ 树中,关键字只存储在叶子结点,非叶子结点存储的是叶子结点所存储关键字的部分拷贝,所有的叶子结点也都在相同的高度,叶子结点本身按关键字大小从小到大链接。 因此,相对于 B 树而言,B+

  • 【JS】二叉树先序、中序、后序(递归和非递归)2022-06-11 13:34:13

    1二叉树的结构 定义一个简单的结点: Node{ value:number, left:Node, right:Node } 2递归遍历 参考学习:https://blog.csdn.net/xin9910/article/details/73476773 2.1伪代码 先序、中序、后序中的“先、中、后”描述的是“当前、左、右”三个结点中,当前结点(根结点)的遍

  • 图的最短路径问题 详细分解版2022-06-10 23:03:35

    图的最短路径问题 详细分解版 1.图的最短路径问题分类 2.单源最短路问题 2.1边权值都是正数情况 2.1.1 朴素Dijstra算法 算法思想:每次从未被确定最短距离的结点中找出距离起点最小值的结点,加入集合s中,并用该结点更新其他未被确定最短路径值得结点路径。直到最终全部节点的最短路

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有