ICode9

精准搜索请尝试: 精确搜索
  • 二叉树遍历理解2022-05-22 23:33:06

      口诀: 前序遍历:根结点 ---> 左子树 ---> 右子树 中序遍历:左子树---> 根结点 ---> 右子树 后序遍历:左子树 ---> 右子树 ---> 根结点 层次遍历:仅仅需按层次遍历就可以   二叉树的遍历,是从左到右的,前、中、后这三个字代表着根结点的位置(其实也是最终根结点的位置)。 再次看到前

  • 2022-05-22 09:33:15

    树:是一种层次关系,如人类社会家谱,社会组织结构,图书管理系统    树存在的原因:层次管理在管理上具有更高的效率查找     静态查找(例如放在数组中: 顺序查找(最简单,效率不高:将元素放在数组中,用一个结构指向数组,结构含两个分量,一个分量是指针指向数组的头,另一个分量代表数组中

  • 数据结构学习小记-图2022-05-21 22:33:24

    图 定义:一个图G是一个二元组,即序偶<V,E>,或记作G=<V,E> ,其中V是有限非空集合,称为G的顶点集,V中的元素称为顶点或结点;E称为 G的边的集合,所有的边ei都属于E,都有v中的结点与之对应,称ei为 G的边。 基本概念:有向图:每条边都是有向边的图;无向图:每条边都是无向边的图;混合图:在一个图中,有

  • 【堆】AcWing838. 堆排序 —— 堆入门2022-05-20 17:31:07

    堆 (下标一定要从0, 0无法乘2) 该讲解的是小根堆,如果是大根堆,则需转换一下思维 堆是一颗完全二叉树,且最后一层是从左往右存储的,堆每个父节点都小于等于左右结点,故根节点为最小值 堆有两个操作,其余所有操作都可由这两个操作组合而成: down(x):当x结点的值变大的时候,我们要将x向下

  • LeetCode(1971)寻找图中是否存在路径2022-05-20 13:31:09

    利用到了并查集相关的知识,贴出压缩路径,按秩合并的代码 https://blog.csdn.net/weixin_38279101/article/details/112546053 //并查集类 class DisJointSetUnion { private: // 所有根结点相同的结点位于同一个集合中 vector<int> parent; // 双亲结点数组,记录该结点的

  • 【C# 数据结构与算法】二叉树2022-05-19 09:04:23

      总结: 满二叉树完全二叉树二叉排序树 平衡二叉树,也是二叉排序树 满二叉树 完全二叉树       考点 完全二叉树的高度计算: (1)情况一、这个完全二叉树是满二叉树。        (2)情况二、这个完全二叉树不是满二叉树。    最多有一个度为1的结点(N1=0|1),只有最后两层出现叶子

  • LeetCode 0129 Sum Root to Leaf Numbers2022-05-19 08:02:42

    原题传送门 1. 题目描述 2. Solution 1 1、思路分析 DFS,从根结点开始,遍历每个结点,如果遇到叶子结点,则将叶子结点对应的数字加到数字之和。如果当前不是叶子结点,则计算其子结点对应的数字,然后对子节点递归遍历。 2、代码实现 package Q0199.Q0129SumRoottoLeafNumbers; import

  • 【C# 数据结构与算法】树2022-05-19 08:01:16

    树的定义 树可以用递归的形式来定义:树T是由n(n>=0)个结点组成的有限集合,他或者是颗空树,或者包含一个根结点和零或若干棵互不相干的子树。 可以使用广义表(纯表)的形式树结构,如下树结构用广义表表示:A(B(E,F),C(G),D(H,I,J))    表示树结构的广义表没有共享和递归成分,是一种纯表

  • 力扣热题100_22022-05-19 02:00:07

    两数相加,数以链表的形式存储,每隔节点存一位,还蛮有意思的,不过真的很容易走进误区哈哈 刚开始的想法满单纯的,把两个数提出来然后一位一位的写进去不就完了,一测试才发现,原来最大支持一百位啊,10的一百次方可是没法直接算了,我也明白了为什么要已这种形式存储了,既然这种方式不行,只能试

  • 自然语言处理(八) 条件随机场(仅基础)2022-05-18 00:34:11

    条件随机场 目录条件随机场概率无向图模型 条件随机场 (conditional random field, CRF) 是给定一组随机变量\(\mathbf{X}\)条件下,另一组随机变量\(\mathbf{Y}\)的条件概率分布模型。并假设随机变量\(\mathbf{Y}\)构成马尔可夫随机场(稍后介绍)。一般在NLP中,特别是在标注、分词、命

  • 数据结构 - 树 - 一般树和森林的基本介绍2022-05-17 12:32:30

    树的存储结构 双亲表示法 通过保存树中每个结点的双亲结点的位置,来表示树中结点之间的结构关系。 #define MAX_TREE_SIZE 100 typedef struct PTNode { ElemType data; int parent; // 双亲位置(双亲的下标) } PTNode; typedef struct { PTNode nodes[MAX_TREE_SIZE

  • C++迭代器失效的几种情况2022-05-16 23:01:30

    1. 对于序列型容器:vector, deque 删除当前元素:从当前位置到之后全部位置迭代器失效;(可以用 it=res.erase(it); 来实现迭代器的更新追踪) 添加一个元素:当添加元素后,导致了容器扩容的操作,则全部迭代器失效;(可以用 it=res.push(it);) 插入一个元素:当添加的元素在首尾位置以外,所有迭代器

  • 磊磊零基础打卡算法:day12 c++静态单链表2022-05-15 18:01:33

    5.15 静态单链表 简单的方法: 成员变量: int e[N],//存放节点的值 ne[N],存放结点的next head,头结点指针 idx;变化的指针 初始化: void init() { head = -1;//头结点最初指向-1 idx = 0;//初始的位移指针是0; } //初始化链表 在头部位置添加: void add_to_head

  • 2022-05-15 00:01:49

    概念:   堆是一种经过排序的完全二叉树,其中任一非终端节点的数据值均不大于(或不小于)其左子节点和右子节点的值。 大根堆:   最大堆(大根堆):根结点的键值是所有堆结点键值中最大者。 小根堆:   最小堆(小根堆):根结点的键值是所有堆结点键值中最小者。    

  • 数据结构学习小记-树2022-05-14 22:01:15

    树 1.一种非线性结构,属于图均属于非线性结构。 树是由结点或顶点和边组成的,不存在任何环的结构,没有结点的树称为空,null,一棵非空的树包括一个根节点,还有很多附加结点,所有结点构成一个多级分层结构。 树的定义:n个节点组成的有限集合。n=0,空树;n>0,1个根节点,m个互不相交的有限集,

  • (转)二叉树的建立 C语言描述2022-05-14 10:34:04

    这篇blog转自笔者的CSDN账号,为笔者学习《数据结构》课程时所撰写,现转至博客园,仅作归档用。 原文的撰写时间是2021-05-14。 学校的《数据结构》教材给出的二叉树的建立算法有点问题,因此自己稍加修改以使之可以使用。 结点定义 typedef int element_type; typedef struct binary_tre

  • Solution Set -「OurOJ Contest #2587」浅写2022-05-12 23:00:49

    \(\mathscr A\sim\)「OurOJ #47030」_   Link & Submission & Tags:「A.DP-计数 DP」「A.数学-Stirling 数/反演」「B.Tricks」   我们习惯于用组合数拆形如 \(l^k\) 的贡献,可惜 \(\mathcal O(nk^2)\) 的复杂度不被允许。我们需要找到更优秀的贡献拆分方法。   关于幂,可以想

  • 2022-5-12 链表2022-05-12 21:01:47

    876. 链表的中间结点 给定一个头结点为 head 的非空单链表,返回链表的中间结点。 如果有两个中间结点,则返回第二个中间结点。 1 /** 2 * Definition for singly-linked list. 3 * public class ListNode { 4 * int val; 5 * ListNode next; 6 * Lis

  • JavaScript基础——节点操作2022-05-12 01:32:41

    节点概念 节点类型 节点常见类型有以下几种: 元素结点    Node.ELEMENT_NODE(1) 属性结点    Node.ATTRIBUTE_NODE(2) 文本结点    Node.TEXT_NODE(3) 节点层级   利用DOM树可以将结点划分为不同层级关系,常见的是父子级关系 一、父级节点 node.parentNode 例如:实

  • ZJOI2022 做题记录2022-05-07 12:36:06

    这一场质量挺高的。 D1T1 树 枚举第一棵树的叶子集合,第二棵树的叶子集合为恰好,容斥成钦定:(\(f_1(S)\) 为第一棵树叶子集合为 \(S\) 的方案数,\(f_2(S)\) 为第二棵树非叶子集合为 \(S\) 的方案数) \[\sum_Sf_1(S)\sum_{T}(-1)^{|S|-|T|}f_2(T)=\sum_S(-1)^{|S|}f_1(S)\sum_{T}(-1)^{|T

  • 求二叉树中节点间的宽度2022-05-07 01:00:56

    标题:求二叉树中节点间的宽度 题目链接:https://www.luogu.com.cn/problem/T236448?contestId=67903 题目描述 如下图所示的一棵二叉树的深度、宽度及结点间距离分别为: 深度:4 宽度:4(同一层最多结点个数) 结点间距离: ⑧→⑥为8 (3×2+2=8) ⑥→⑦为3 (1×2+1=3) 注:结点间距离的定义:由结

  • lc876. 链表的中间结点2022-05-05 16:35:04

    # Definition for singly-linked list. # class ListNode: # def __init__(self, val=0, next=None): # self.val = val # self.next = next class Solution: def middleNode(self, head: ListNode) -> ListNode: slow = head

  • 动态规划:P1040[NOIP2003 提高组] 加分二叉树 树形DP2022-05-05 10:34:36

    P1040[NOIP2003 提高组] 加分二叉树 题目传送门:P1040 [NOIP2003 提高组] 加分二叉树 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题目:   思路:   题目给的是中序遍历,所以一定是根左右,在序列中,对于每一个结点,他左边的数字可能就是他的左结点,或者左子树为空,右边的数字可能就是

  • 处理机管理——死锁的检测和解除2022-05-04 06:31:16

    如果系统中既不采取预防死锁的措施,也不采取避免死锁的措施,系统就很可能发生死锁。在这种情况下,系统应当提供两个算法: 1.死锁检测算法:用于检测系统状态,以确定系统中是否发生了死锁 2.死锁解除算法:当认定系统中己经发生了死锁,利用该算法可将系统从死锁状态中解脱出来 为了能对系统

  • 02-LINUX内核源码分析之内存管理专题(一)-- 第010讲 引导内存分配器原理2022-05-03 18:32:24

    知识点:bootmem分配器memblock分配器 一、bootmem分配器--临时引导内存分配器 在内核初始化的过程中需要分配内存,内核提供临时的引导内存分配器,在页分配器和块分配器初始化完成之后,把空闲的物理页交给页分配器管理,丢弃引导内存分配器bootmem分配器定义的数据结构,内核源码如下:D:\l

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

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

ICode9版权所有