ICode9

精准搜索请尝试: 精确搜索
  • 删除链表结点类问题2022-08-21 03:01:59

    删除链表结点 NO1. 删除链表倒数第 k个结点 给定一个链表,删除链表的倒数第 n 个节点并返回链表的头指针。要求:空间复杂度 \(O(1)\),时间复杂度 \(O(n)\) 如果倒数第 k 个结点刚好是头结点,那头结点需要特殊处理。为了各个结点能等同操作,设置一个虚拟头结点。 寻找倒数第 k 个结点

  • 二叉排序数2022-08-20 23:35:57

    1.为什么要用二叉排序树 使用数组 数组未排序,优点:直接在数组尾添加,速度快。 缺点:查找速度慢. 数组排序,优点:可以使用二分查找,查找速度快,缺点:为了保证数组有序,在添加新数据时,找到插入位置后,后面的数据需整体移动,速度慢。 使用链式存储-链表 不管链表是否有序,查找速度都慢,添加数

  • 树形dp例题 + 学习笔记(入门版)2022-08-20 03:00:34

    树形dp,即在树上进行dp。 需要对树这一数据结构有清晰的了解。其中重点在于树的遍历、子树相关问题。 难点常常在于状态方程的书写。 例题 一、没有上司的舞会 题意 树上每个结点有权值,要求在树上选一些点,满足有父子关系的结点只能出现一个,问选出的最大的权值和。 思路 用 \(dp[i][

  • C++ 漫谈哈夫曼树2022-08-19 14:31:44

    1. 前言 什么是哈夫曼树? 把权值不同的n个结点构造成一棵二叉树,如果此树满足以下几个条件: 此 n 个结点为二叉树的叶结点 。 权值较大的结点离根结点较近,权值较小的结点离根结点较远。 该树的带权路径长度是所有可能构建的二叉树中最小的。 则称符合上述条件的二叉树为最优二叉树,

  • ListAndSetAndDataStructure2022-08-16 19:31:51

    数据结构: 概念:程序当中组织和存储数据的一种方式 算法:解决问题的一种办法,如何快速的查找数据/修改数据/删除数据/添加数据 常见的数据结构:8种 数组、链表、队列、栈(堆栈)、堆、树、图、哈希表 数组: Array:是有序的元素序列,数组在内存当中是一块连续的空间

  • 动手实验查看MySQL索引的B+树的高度2022-08-16 19:04:48

    一: 简化几个概念: h:统称索引的高度; h1:聚簇索引的高度; h2:二级辅助索引的高度; k:中间结点的扇出系数。 二:索引结构 叶子节点其实是双向链表,而叶子节点内的行数据是单向链表,该图未体现。 磁盘块其实是页,用操作系统中的术语来表达而已。 InnoDB中使用的是B+树聚集索引,主键索引叶子节点

  • 计算机网络基础--三种交换方式2022-08-15 22:01:02

    前置知识 从通信资源的分配角度来看,交换是按照某种方式动态地分配传输线路的资源 通常把发送的整块数据称为一个报文 电路交换 电路交换受电话交换的启发:两部电话,需要一条电线;5部电话需要10条电线;N部电话需要 N(N−1)/2 条电线。那么通过交换机使用交换的方法连接电话,不仅减少了电

  • 十大排序算法之【堆排序】2022-08-15 15:01:17

    堆排序代码: //头文件省略 void heapify(vector<int>& in, int bottom, int top) { int largest = top; int lson = top*2 + 1; int rson = top*2 + 1; if(lson < bottom && in[largest] < in[lson]) { largest = lson; } if(rson < bo

  • 2022-08-05 第六组 李俊琦 树2022-08-15 10:33:12

    今日重点 树 二叉树 斜树 完全二叉树 学习内容 树: 是n(n>=0)个结点的有限集,n=0称为空树 在任意的非空数中 1.有且只有一个特定的称为根结点 2.当n>1时,其余结点可分为m个互不相交的有限集 结点: 结点是数据结构中的基础,构成复杂数据结构基本组成单位 结点的度: 结点拥有子节点的数量称

  • LCA 相关 && 树链剖分2022-08-15 00:03:50

    LCA 基本定义:最近公共祖先简称 LCA(Lowest Common Ancestor)。两个结点的最近公共祖先,就是这两个点的公共祖先里面,离根最远的那个。 简单来讲,就是两个点到根的路径上,深度最深的重合点 常用的求解方法: 朴素方法 每次选择深度较深的那个结点,往上走一步,直到两个结点重合,这个重合点就

  • 递归回调的实现2022-08-14 01:32:25

    背景 异步树展开如果要实现展开回调比较困难,因为展开的过程是异步的。 前端:js引擎虽然是单线程执行,但是操作ui的线程是单独的,树的展开过程,就经历了js引擎线程+ui线程的过程,展开代码和展开回调的代码在不同时机执行的,本质上就是异步的。 展开回调的实现 展开回调的实现困难点在于判

  • 链表2022-08-14 00:04:44

    常见策略 缓存的大小有限,当缓存被用满时,哪些数据应该被清理出去,哪些数据应该被保留?这就需要缓存淘汰策略来决定,所以常见的策略有三种 先进先出策略 FIFO(First In,First Out) 最少使用策略 LFU(Least Frequently Used) 最近最少使用策略 LRU(Least Recently Used)。 链表结构 单链表

  • IOI 2022 题解 & 锐评2022-08-13 14:04:26

    IOI 2022 D1T1 Fish 题目大意: 有一个 \(N\times N\) 的网格,其中的 \(M\) 个位置有垒球,第 \(i\) 个垒球的位置为 \((x_i,y_i)\),重量为 \(w_i\)。 你可以为每一列 \(c\) 选择一个前缀的行 \(1,2,\ldots,\ldots,r_c\) 修建长堤,这样 \((1,c),(2,c),\ldots,(r_c,c)\) 这些位置就会被长

  • DFS记忆化搜索--Divider & Conquer + Hashmap(数字三角形)2022-08-13 12:34:17

    记忆化搜索是DP的一种实现方式,等价于动态规划 一个经典的例子:数字三角形 给定一个三角形 triangle ,找出自顶向下的最小路径和。 每一步只能移动到下一行中相邻的结点上。相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一层结点下标 + 1 的两个结点。也就是说,如

  • 820算法题解答(2022年8月12日更新)2022-08-12 23:30:09

    820算法题解答 2021年最后一题:如何判断一个二叉树的结构是否对称(不考虑结点的值,只考虑结构) [分析]:常规先序遍历的顺序是:中,左,右;镜像先序遍历的顺序是:中,右,左。 只要常规先序序列和镜像先序序列相等,那么这颗二叉树就是对称的。 [注]:遍历的序列需要包括null结点 [代码实现] public

  • 988. 从叶结点开始的最小字符串2022-08-12 22:02:35

      思路 难度中等87收藏分享切换为英文接收动态反馈 给定一颗根结点为 root 的二叉树,树中的每一个结点都有一个 [0, 25] 范围内的值,分别代表字母 'a' 到 'z'。 返回 按字典序最小 的字符串,该字符串从这棵树的一个叶结点开始,到根结点结束。 注:字符串中任何较短的前

  • 数据结构与算法--线索化二叉树2022-08-11 23:02:34

    简介 在二叉树中的叶子结点存在两个左右子树为空的指针域,对于有n个结点的二叉树,就有n+1个空指针域。如果将这些空指针域存放某种遍历次序下该节点的前驱结点和后继节点,则将这些指针的指向称为线索,加上线索的二叉树称为线索化二叉树 例如下图的二叉树中前序遍历结果为 1,3,8,10,6,

  • 2022 -8- 5 第八组 曹雨 集合2022-08-11 23:02:07

    集合 前提知识:树 是n(n>=0)个结点的有限集,n=0,称为空树,反之为非空树 在任意的非空树中: 有且仅有一个特定的称为根结点 当n>1时,其余结点可分为m个互不相交的有限集 定义树的时候: 根节点是唯一的,不能存在多个根节点 子树的个数没有限制,但他们一定是互不相交的 结点的度: 结点拥有子

  • 876. 链表的中间结点2022-08-11 00:31:42

      labuladong 题解思路 难度简单650收藏分享切换为英文接收动态反馈 给定一个头结点为 head 的非空单链表,返回链表的中间结点。 如果有两个中间结点,则返回第二个中间结点。   示例 1: 输入:[1,2,3,4,5] 输出:此列表中的结点 3 (序列化形式:[3,4,5]) 返回的结点值为 3 。 (测

  • 二叉树删除结点2022-08-10 21:31:46

    1.删除的规定(剩下的后面补充) 如果删除的是叶子结点,则删除该结点; 如果删除的结点是非叶子结点,则删除该子树 2.删除思路 首先,考虑如果树是空树root,或者只有一个结点,则等价于二叉树置空。 因为我们的二叉树是单向的,所以我们是判断当前结点的子结点是否需要删除,而不能去判断当前这

  • 数据结构-链表头尾指针/结点问题(C++)2022-08-10 16:30:09

    头结点:链表的头部(第一个)结点。一般指用于方便运算的预置结点。一个存储n个数据元素的有头结点的链表共有n+1个结点。     无data。     next(指针域):       单链表:next指向下一个结点(第一个有data的结点,第二个结点)。空链表时,next指向NULL;       双链表:prior指向

  • UNR #6 题解2022-08-10 16:01:39

    「UOJ747」面基之路 难得有一道我做得起的水题。 尝试二分答案,判定等价于检查是否存在一个点,使得在规定时间内 hehe 蚤和网友们都可以走到该点。检查能否走到某个结点是容易的,检查某条边上是否存在一个点相当于是检查集合的交集是否为空,转化成区间的并集是否覆盖了整条边,可以将区

  • 2022-08-05 高严 学习笔记2022-08-08 22:02:24

    一、今日重点 集合(重要) 树 二、进程概况 【√代表掌握了,-代表产生困惑但已解决,×代表没解决】 讲解数据结构--树相关知识【√】 三、今日知识 结点:结点是数据结构中的基础,构成复杂数据结构基本组成单位 树(Tree):是n(n>=0)个结点的有限集,n=0,称为空树。 在任意的非空数中: 1.

  • 操作系统:前趋图2022-08-07 21:31:37

    1. 定义:描述各进程之间执行的先后顺序   2. 前趋图描述:      ① 结点表示进程、程序段、语句     a. 初始结点:没有前趋的结点     b. 终止结点:没有后继的结点     c. 结点的权:程序的量/程序的执行时间      ② 有向边表示结点之间存在的偏序关系/前趋关系  

  • 2022-08-06 第三小组 陈迪 学习笔记2022-08-06 22:34:54

    集合(最重要): 前提知识:数据结构——树 结点:是数据结构中的基础,构成复杂数据结构的基本组成单位 树:是n(n>=0)个结点的有限集;n=0,称为空树 在任意的非空树中: 1、有且仅有一个特定的称为根节点 2、当n>1时,其余节点可分为m个互不相交的有限集 定义树的时候: 1、根节点唯一 2、子树的个数没有

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

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

ICode9版权所有